3_1_9_209

This commit is contained in:
Компания 1С committed 2023-11-10 17:00:00 +03:00
1 parent 6c5693ada5
commit 52592ab0ef
122 files changed
+2494 -1538

No files matched your search

@@ -51,9 +51,9 @@
// Заполнение имени отчета для команды "Просмотр". // Заполнение имени отчета для команды "Просмотр".
Если Объект.ТипОтчета = Перечисления.ТипыОтчетов.Внутренний Если Объект.ТипОтчета = Перечисления.ТипыОтчетов.Внутренний
Или Объект.ТипОтчета = Перечисления.ТипыОтчетов.Расширение Тогда Или Объект.ТипОтчета = Перечисления.ТипыОтчетов.Расширение Тогда
ИмяОтчета = Объект.Отчет.Имя; ИмяОтчета = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Отчет, "Имя");
ИначеЕсли Объект.ТипОтчета = Перечисления.ТипыОтчетов.Дополнительный Тогда ИначеЕсли Объект.ТипОтчета = Перечисления.ТипыОтчетов.Дополнительный Тогда
ИмяОтчета = Объект.Отчет.ИмяОбъекта; ИмяОтчета = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Отчет, "ИмяОбъекта");
Иначе Иначе
ИмяОтчета = Объект.Отчет; ИмяОтчета = Объект.Отчет;
КонецЕсли; КонецЕсли;
@@ -53,7 +53,7 @@
ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый()); ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());
ПользователемИзмененаПометкаУдаления = (Не ЭтоНовый() И ПометкаУдаления <> Ссылка.ПометкаУдаления ПользователемИзмененаПометкаУдаления = (Не ЭтоНовый() И ПометкаУдаления <> ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ПометкаУдаления")
И Не ДополнительныеСвойства.Свойство("ЗаполнениеПредопределенных")); И Не ДополнительныеСвойства.Свойство("ЗаполнениеПредопределенных"));
Если Не Пользовательский И ПользователемИзмененаПометкаУдаления Тогда Если Не Пользовательский И ПользователемИзмененаПометкаУдаления Тогда
@@ -219,12 +219,15 @@
// Удаление из табличной части подсистем, помеченных на удаление. // Удаление из табличной части подсистем, помеченных на удаление.
УдаляемыеСтроки = Новый Массив; УдаляемыеСтроки = Новый Массив;
Для Каждого СтрокаРазмещения Из Размещение Цикл Подсистемы = Размещение.ВыгрузитьКолонку("Подсистема");
Подсистемы = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(Подсистемы, "ПометкаУдаления");
Если СтрокаРазмещения.Подсистема.ПометкаУдаления = Истина Тогда Для Каждого Подсистема Из Подсистемы Цикл
УдаляемыеСтроки.Добавить(СтрокаРазмещения); Если Подсистема.Значение Тогда
СтрокаРазмещения = Размещение.Найти(Подсистема.Ключ, "Подсистема");
Если СтрокаРазмещения <> Неопределено Тогда
УдаляемыеСтроки.Добавить(СтрокаРазмещения);
КонецЕсли;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
Для Каждого СтрокаРазмещения Из УдаляемыеСтроки Цикл Для Каждого СтрокаРазмещения Из УдаляемыеСтроки Цикл
@@ -49,9 +49,11 @@
Объект.Наименование = ""; Объект.Наименование = "";
Объект.ОбъектАвторизации = Неопределено; Объект.ОбъектАвторизации = Неопределено;
ПользовательИБАдресЭлектроннойПочты = ""; ПользовательИБАдресЭлектроннойПочты = "";
ИдентификаторКопируемогоПользователяИБ = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
ЗначениеКопирования, "ИдентификаторПользователяИБ");
Если Не ПользователиСлужебный.УровеньДоступаПользователяВыше(ЗначениеКопирования, УровеньДоступа) Тогда Если Не ПользователиСлужебный.УровеньДоступаПользователяВыше(ЗначениеКопирования, УровеньДоступа) Тогда
ПрочитатьПользователяИБ(ЗначениеЗаполнено(ЗначениеКопирования.ИдентификаторПользователяИБ)); ПрочитатьПользователяИБ(ЗначениеЗаполнено(ИдентификаторКопируемогоПользователяИБ));
Иначе Иначе
ПрочитатьПользователяИБ(); ПрочитатьПользователяИБ();
КонецЕсли; КонецЕсли;
@@ -398,9 +400,12 @@
// СтандартныеПодсистемы.КонтактнаяИнформация // СтандартныеПодсистемы.КонтактнаяИнформация
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
ИмяРеквизитаОбъектАвторизации = ИмяРеквизитаОбъектАвторизации(ТипЗнч(Объект.ОбъектАвторизации));
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией"); МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
МодульУправлениеКонтактнойИнформацией.ПередЗаписьюНаСервере(ЭтотОбъект, ЭтотОбъект[ИмяРеквизитаОбъектАвторизации]); Если МодульУправлениеКонтактнойИнформацией.СодержитКонтактнуюИнформацию(Объект.ОбъектАвторизации) Тогда
ИмяРеквизитаОбъектАвторизации = ИмяРеквизитаОбъектАвторизации(ТипЗнч(Объект.ОбъектАвторизации));
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
МодульУправлениеКонтактнойИнформацией.ПередЗаписьюНаСервере(ЭтотОбъект, ЭтотОбъект[ИмяРеквизитаОбъектАвторизации]);
КонецЕсли;
КонецЕсли; КонецЕсли;
// Конец СтандартныеПодсистемы.КонтактнаяИнформация // Конец СтандартныеПодсистемы.КонтактнаяИнформация
@@ -87,7 +87,7 @@
Блокировка.Добавить("Справочник.ГруппыВнешнихПользователей"); Блокировка.Добавить("Справочник.ГруппыВнешнихПользователей");
Блокировка.Заблокировать(); Блокировка.Заблокировать();
ОбъектГруппы = ДополнительныеСвойства.ГруппаНовогоВнешнегоПользователя.ПолучитьОбъект(); // СправочникСсылка.ГруппыВнешнихПользователей ОбъектГруппы = ДополнительныеСвойства.ГруппаНовогоВнешнегоПользователя.ПолучитьОбъект(); // СправочникОбъект.ГруппыВнешнихПользователей
ОбъектГруппы.Состав.Добавить().ВнешнийПользователь = Ссылка; ОбъектГруппы.Состав.Добавить().ВнешнийПользователь = Ссылка;
ОбъектГруппы.Записать(); ОбъектГруппы.Записать();
КонецЕсли; КонецЕсли;
@@ -90,8 +90,13 @@
ОбновитьСписокНедействительныхПользователей(Истина); ОбновитьСписокНедействительныхПользователей(Истина);
ЗаполнитьСтатусПользователей(); ЗаполнитьСтатусПользователей();
Если ЗначениеЗаполнено(Объект.Родитель) И РеквизитФормыВЗначение("Объект").ЭтоНовый() Тогда Если ЗначениеЗаполнено(Объект.Родитель) И Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
Объект.Назначение.Загрузить(Объект.Родитель.Назначение.Выгрузить()); НазначениеРодителя = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Родитель, "Назначение");
Если ТипЗнч(НазначениеРодителя) = Тип("РезультатЗапроса") Тогда
Объект.Назначение.Загрузить(НазначениеРодителя.Выгрузить());
Иначе
Объект.Назначение.Очистить();
КонецЕсли;
КонецЕсли; КонецЕсли;
ПользователиСлужебный.ОбновитьНазначениеПриСозданииНаСервере(ЭтотОбъект, Ложь); ПользователиСлужебный.ОбновитьНазначениеПриСозданииНаСервере(ЭтотОбъект, Ложь);
@@ -258,7 +258,7 @@
Возврат Возврат
НСтр("ru = 'Невозможно добавить подгруппу к предопределенной группе ""Все внешние пользователи"".'"); НСтр("ru = 'Невозможно добавить подгруппу к предопределенной группе ""Все внешние пользователи"".'");
ИначеЕсли Родитель.ВсеОбъектыАвторизации Тогда ИначеЕсли ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Родитель, "ВсеОбъектыАвторизации") = Истина Тогда
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Невозможно добавить подгруппу к группе ""%1"", НСтр("ru = 'Невозможно добавить подгруппу к группе ""%1"",
|так как в число ее участников входят все пользователи.'"), Родитель); |так как в число ее участников входят все пользователи.'"), Родитель);
@@ -1067,14 +1067,19 @@
Назначение.Очистить(); Назначение.Очистить();
НазначениеПредставление = ""; НазначениеПредставление = "";
Для Каждого Участник Из Объект.Профиль.Назначение Цикл ПрофильНазначение = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Профиль, "Назначение");
Если Участник.ТипПользователей <> Неопределено Тогда Если ТипЗнч(ПрофильНазначение) = Тип("РезультатЗапроса") Тогда
Назначение.Добавить(Участник.ТипПользователей); НазначениеПрофиля = ПрофильНазначение.Выгрузить();
ПредставлениеТипа = Участник.ТипПользователей.Метаданные().Синоним; Для Каждого Участник Из НазначениеПрофиля Цикл
НазначениеПредставление = ?(ПустаяСтрока(НазначениеПредставление), Если Участник.ТипПользователей <> Неопределено Тогда
ПредставлениеТипа, НазначениеПредставление + ", " + ПредставлениеТипа); Назначение.Добавить(Участник.ТипПользователей);
КонецЕсли; ПредставлениеТипа = Участник.ТипПользователей.Метаданные().Синоним;
КонецЦикла; НазначениеПредставление = ?(ПустаяСтрока(НазначениеПредставление),
ПредставлениеТипа, НазначениеПредставление + ", " + ПредставлениеТипа);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Элементы.Пользователи.Подсказка = НСтр("ru = 'Допустимые участники:'") + " " + НазначениеПредставление; Элементы.Пользователи.Подсказка = НСтр("ru = 'Допустимые участники:'") + " " + НазначениеПредставление;
КонецПроцедуры КонецПроцедуры
@@ -1088,9 +1093,20 @@
КонецЦикла; КонецЦикла;
ДеревоПользователей = ПользователиГруппы.ПолучитьЭлементы(); ДеревоПользователей = ПользователиГруппы.ПолучитьЭлементы();
СсылкиСОбъектомАвторизации = Новый Массив; // Массив из СправочникСсылка.ВнешниеПользователи
Для Каждого СтрокаДерева Из ДеревоПользователей Цикл
Если ТипЗнч(СтрокаДерева.Пользователь) = Тип("СправочникСсылка.ВнешниеПользователи") Тогда
СсылкиСОбъектомАвторизации.Добавить(СтрокаДерева.Пользователь);
КонецЕсли;
Если ТипЗнч(СтрокаДерева.Пользователь) = Тип("СправочникСсылка.ГруппыВнешнихПользователей") Тогда
Для Каждого УчастникГруппы Из СтрокаДерева.ПолучитьЭлементы() Цикл
СсылкиСОбъектомАвторизации.Добавить(УчастникГруппы.Пользователь);
КонецЦикла;
КонецЕсли;
КонецЦикла;
ОбъектыАвторизации = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(СсылкиСОбъектомАвторизации, "ОбъектАвторизации");
Индекс = ДеревоПользователей.Количество() - 1; Индекс = ДеревоПользователей.Количество() - 1;
Пока Индекс >= 0 Цикл Пока Индекс >= 0 Цикл
СтрокаДерева = ДеревоПользователей.Получить(Индекс); СтрокаДерева = ДеревоПользователей.Получить(Индекс);
@@ -1103,15 +1119,15 @@
УдалитьСтроку = Истина; УдалитьСтроку = Истина;
ИначеЕсли ТипЗнч(СтрокаДерева.Пользователь) = Тип("СправочникСсылка.ВнешниеПользователи") ИначеЕсли ТипЗнч(СтрокаДерева.Пользователь) = Тип("СправочникСсылка.ВнешниеПользователи")
И МассивТипов.Найти(ТипЗнч(СтрокаДерева.Пользователь.ОбъектАвторизации)) = Неопределено Тогда И МассивТипов.Найти(ТипЗнч(ОбъектыАвторизации.Получить(СтрокаДерева.Пользователь))) = Неопределено Тогда
ДеревоПользователей.Удалить(Индекс); УдалитьСтроку = Истина;
ИначеЕсли ТипЗнч(СтрокаДерева.Пользователь) = Тип("СправочникСсылка.ГруппыВнешнихПользователей") Тогда ИначеЕсли ТипЗнч(СтрокаДерева.Пользователь) = Тип("СправочникСсылка.ГруппыВнешнихПользователей") Тогда
Для Каждого УчастникГруппы Из СтрокаДерева.ПолучитьЭлементы() Цикл Для Каждого УчастникГруппы Из СтрокаДерева.ПолучитьЭлементы() Цикл
Если МассивТипов.Найти(ТипЗнч(УчастникГруппы.Пользователь.ОбъектАвторизации)) = Неопределено Тогда Если МассивТипов.Найти(ТипЗнч(ОбъектыАвторизации.Получить(УчастникГруппы.Пользователь))) = Неопределено Тогда
УдалитьСтроку = Истина; УдалитьСтроку = Истина;
Прервать; Прервать;
КонецЕсли; КонецЕсли;
@@ -362,7 +362,7 @@
| И НЕ(&Профиль = &ПрофильАдминистратор | И НЕ(&Профиль = &ПрофильАдминистратор
| И ГруппыДоступа.Ссылка = &ГруппаДоступаАдминистраторы))"; | И ГруппыДоступа.Ссылка = &ГруппаДоступаАдминистраторы))";
Запрос.УстановитьПараметр("Профиль", Профиль.Ссылка); Запрос.УстановитьПараметр("Профиль", Профиль);
Выборка = Запрос.Выполнить().Выбрать(); Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл Пока Выборка.Следующий() Цикл
@@ -252,16 +252,8 @@
Процедура ОбновитьРолиПользователейПриИзмененииГруппыДоступа() Процедура ОбновитьРолиПользователейПриИзмененииГруппыДоступа()
Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
СеансЗапущенБезРазделителей = МодульРаботаВМоделиСервиса.СеансЗапущенБезРазделителей();
Иначе
СеансЗапущенБезРазделителей = Истина;
КонецЕсли;
Если ОбщегоНазначения.РазделениеВключено() Если ОбщегоНазначения.РазделениеВключено()
И Ссылка = УправлениеДоступом.ГруппаДоступаАдминистраторы() И Ссылка = УправлениеДоступом.ГруппаДоступаАдминистраторы()
И Не СеансЗапущенБезРазделителей
И ДополнительныеСвойства.Свойство("ПарольПользователяСервиса") Тогда И ДополнительныеСвойства.Свойство("ПарольПользователяСервиса") Тогда
ПарольПользователяСервиса = ДополнительныеСвойства.ПарольПользователяСервиса; ПарольПользователяСервиса = ДополнительныеСвойства.ПарольПользователяСервиса;
@@ -1153,12 +1153,18 @@
ФильтрПоОбъектамМетаданных.ЗагрузитьЗначения(ТаблицаОбъектовМетаданных.ВыгрузитьКолонку("ПолноеИмя")); ФильтрПоОбъектамМетаданных.ЗагрузитьЗначения(ТаблицаОбъектовМетаданных.ВыгрузитьКолонку("ПолноеИмя"));
ВыбранныеОбъектыМетаданных = Новый СписокЗначений; ВыбранныеОбъектыМетаданных = Новый СписокЗначений;
ОбъектыНазначения = Новый Массив;
Для Каждого ЭлементНазначение Из Объект.Назначение Цикл Для Каждого ЭлементНазначение Из Объект.Назначение Цикл
Если ТаблицаОбъектовМетаданных.Найти(ЭлементНазначение.ОбъектНазначения, "Ссылка") <> Неопределено Тогда Если ТаблицаОбъектовМетаданных.Найти(ЭлементНазначение.ОбъектНазначения, "Ссылка") <> Неопределено Тогда
ВыбранныеОбъектыМетаданных.Добавить(ЭлементНазначение.ОбъектНазначения.ПолноеИмя); ОбъектыНазначения.Добавить(ЭлементНазначение.ОбъектНазначения);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
ПолныеИменаОбъектовНазначения = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(ОбъектыНазначения, "ПолноеИмя");
Для Каждого КлючИЗначение Из ПолныеИменаОбъектовНазначения Цикл
ВыбранныеОбъектыМетаданных.Добавить(КлючИЗначение.Значение);
КонецЦикла;
ПараметрыФормы = Новый Структура; ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ФильтрПоОбъектамМетаданных", ФильтрПоОбъектамМетаданных); ПараметрыФормы.Вставить("ФильтрПоОбъектамМетаданных", ФильтрПоОбъектамМетаданных);
ПараметрыФормы.Вставить("ВыбранныеОбъектыМетаданных", ВыбранныеОбъектыМетаданных); ПараметрыФормы.Вставить("ВыбранныеОбъектыМетаданных", ВыбранныеОбъектыМетаданных);
@@ -234,7 +234,7 @@
// Очистка заданий по командам, которые были удалены из таблицы. // Очистка заданий по командам, которые были удалены из таблицы.
Если Не ЭтоНовый() Тогда Если Не ЭтоНовый() Тогда
Для Каждого СтараяКоманда Из Ссылка.Команды Цикл Для Каждого СтараяКоманда Из ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Команды").Выгрузить() Цикл
Если ЗначениеЗаполнено(СтараяКоманда.РегламентноеЗаданиеGUID) Если ЗначениеЗаполнено(СтараяКоманда.РегламентноеЗаданиеGUID)
И ТаблицаКоманд.Найти(СтараяКоманда.РегламентноеЗаданиеGUID, "РегламентноеЗаданиеGUID") = Неопределено Тогда И ТаблицаКоманд.Найти(СтараяКоманда.РегламентноеЗаданиеGUID, "РегламентноеЗаданиеGUID") = Неопределено Тогда
РегламентныеЗаданияСервер.УдалитьЗадание(СтараяКоманда.РегламентноеЗаданиеGUID); РегламентныеЗаданияСервер.УдалитьЗадание(СтараяКоманда.РегламентноеЗаданиеGUID);
@@ -354,7 +354,7 @@
СсылкиОбъектовМетаданных = ТаблицаНазначение.ВыгрузитьКолонку("ОбъектНазначения"); СсылкиОбъектовМетаданных = ТаблицаНазначение.ВыгрузитьКолонку("ОбъектНазначения");
Если НЕ ЭтоНовый() Тогда Если НЕ ЭтоНовый() Тогда
Для Каждого СтрокаТаблицы Из Ссылка.Назначение Цикл Для Каждого СтрокаТаблицы Из ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Назначение").Выгрузить() Цикл
Если СсылкиОбъектовМетаданных.Найти(СтрокаТаблицы.ОбъектНазначения) = Неопределено Тогда Если СсылкиОбъектовМетаданных.Найти(СтрокаТаблицы.ОбъектНазначения) = Неопределено Тогда
СсылкиОбъектовМетаданных.Добавить(СтрокаТаблицы.ОбъектНазначения); СсылкиОбъектовМетаданных.Добавить(СтрокаТаблицы.ОбъектНазначения);
КонецЕсли; КонецЕсли;
@@ -2075,7 +2075,8 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Если ЗначениеЗаполнено(ЭтотОбъект[ИмяЭлементаОрганизация + "Реквизиты"].ЛицоБезДоверенности) Тогда Если ЗначениеЗаполнено(ЭтотОбъект[ИмяЭлементаОрганизация + "Реквизиты"].ЛицоБезДоверенности)
Или ЗначениеЗаполнено(ЭтотОбъект[ИмяЭлементаОрганизация + "Реквизиты"].РеквизитыЛицаБезДоверенности) Тогда
ЗаполнитьТипОрганизации(ИмяЭлементаРуководитель, "ФизическоеЛицо"); ЗаполнитьТипОрганизации(ИмяЭлементаРуководитель, "ФизическоеЛицо");
ЭтотОбъект[ИмяЭлементаРуководитель] = ЭтотОбъект[ИмяЭлементаОрганизация + "Реквизиты"].ЛицоБезДоверенности; ЭтотОбъект[ИмяЭлементаРуководитель] = ЭтотОбъект[ИмяЭлементаОрганизация + "Реквизиты"].ЛицоБезДоверенности;
@@ -2084,7 +2085,7 @@
ЭтотОбъект[ИмяЭлементаОрганизация + "Реквизиты"].РеквизитыЛицаБезДоверенности; ЭтотОбъект[ИмяЭлементаОрганизация + "Реквизиты"].РеквизитыЛицаБезДоверенности;
УстановитьОтображениеРеквизитовЗависимыхОтОрганизации(ИмяЭлементаРуководитель); УстановитьОтображениеРеквизитовЗависимыхОтОрганизации(ИмяЭлементаРуководитель);
ОбновитьСтрокуДоверителейПредставителей(ИмяЭлементаРуководитель); ОбновитьСтрокуДоверителейПредставителей(ИмяЭлементаРуководитель);
Иначе ИначеЕсли ЗначениеЗаполнено(ЭтотОбъект[ИмяЭлементаОрганизация + "Реквизиты"].ЛицоБезДоверенности) Тогда
ПриИзмененииОрганизацииНаСервере(ИмяЭлементаРуководитель, Загрузка); ПриИзмененииОрганизацииНаСервере(ИмяЭлементаРуководитель, Загрузка);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -102,9 +102,11 @@
// Копирование элемента. // Копирование элемента.
ЗначениеКопирования = Параметры.ЗначениеКопирования; ЗначениеКопирования = Параметры.ЗначениеКопирования;
Объект.Наименование = ""; Объект.Наименование = "";
ИдентификаторКопируемогоПользователяИБ = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
ЗначениеКопирования, "ИдентификаторПользователяИБ");
Если Не ПользователиСлужебный.УровеньДоступаПользователяВыше(ЗначениеКопирования, УровеньДоступа) Тогда Если Не ПользователиСлужебный.УровеньДоступаПользователяВыше(ЗначениеКопирования, УровеньДоступа) Тогда
ПрочитатьПользователяИБ(ЗначениеЗаполнено(ЗначениеКопирования.ИдентификаторПользователяИБ)); ПрочитатьПользователяИБ(ЗначениеЗаполнено(ИдентификаторКопируемогоПользователяИБ));
Иначе Иначе
ПрочитатьПользователяИБ(); ПрочитатьПользователяИБ();
КонецЕсли; КонецЕсли;
@@ -268,6 +268,17 @@
ПараметрыПолучателей.ТипПолучателейРассылки = ИдентификаторОбъектаМетаданных; ПараметрыПолучателей.ТипПолучателейРассылки = ИдентификаторОбъектаМетаданных;
ПараметрыПолучателей.Получатели = Получатели; ПараметрыПолучателей.Получатели = Получатели;
ПолучателиМетаданные = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(ИдентификаторОбъектаМетаданных, Ложь);
Если ПолучателиМетаданные.Иерархический Тогда
МассивПолучателей = Новый Массив;
Для Каждого ПолучательРассылки Из Получатели Цикл
МассивПолучателей.Добавить(ПолучательРассылки.Получатель);
КонецЦикла;
ПолучателиРеквизитЭтоГруппа = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(МассивПолучателей, "ЭтоГруппа");
Иначе
ПолучателиРеквизитЭтоГруппа = Неопределено;
КонецЕсли;
ПолучателиРассылки = РассылкаОтчетов.СформироватьСписокПолучателейРассылки(ПараметрыПолучателей); ПолучателиРассылки = РассылкаОтчетов.СформироватьСписокПолучателейРассылки(ПараметрыПолучателей);
Для каждого ПолучательРассылки Из Получатели Цикл Для каждого ПолучательРассылки Из Получатели Цикл
Если ПолучателиРассылки.Количество() = 0 Тогда Если ПолучателиРассылки.Количество() = 0 Тогда
@@ -278,7 +289,9 @@
ПочтаПолучателя = ПолучателиРассылки.Получить(ПолучательРассылки.Получатель); ПочтаПолучателя = ПолучателиРассылки.Получить(ПолучательРассылки.Получатель);
ПолучательРассылки.Адрес = ?(ПочтаПолучателя <> Неопределено, ПочтаПолучателя, "") ПолучательРассылки.Адрес = ?(ПочтаПолучателя <> Неопределено, ПочтаПолучателя, "")
КонецЕсли; КонецЕсли;
Если ПолучательРассылки.Получатель.ЭтоГруппа Или ТипЗнч(ПолучательРассылки.Получатель) = Тип("СправочникСсылка.ГруппыПользователей") Тогда ЭтоГруппа = ?(ПолучателиРеквизитЭтоГруппа <> Неопределено, ПолучателиРеквизитЭтоГруппа.Получить(ПолучательРассылки.Получатель), Ложь);
ЭтоГруппа = ?(ЭтоГруппа <> Неопределено, ЭтоГруппа, Ложь);
Если ЭтоГруппа Или ТипЗнч(ПолучательРассылки.Получатель) = Тип("СправочникСсылка.ГруппыПользователей") Тогда
ПолучательРассылки.ИндексКартинки = 3; ПолучательРассылки.ИндексКартинки = 3;
Иначе Иначе
ПолучательРассылки.ИндексКартинки = 1; ПолучательРассылки.ИндексКартинки = 1;
@@ -4092,7 +4092,9 @@
СписокПолучателейРассылки = РассылкаОтчетов.СформироватьСписокПолучателейРассылки(ПараметрыПолучателей, Неопределено); СписокПолучателейРассылки = РассылкаОтчетов.СформироватьСписокПолучателейРассылки(ПараметрыПолучателей, Неопределено);
ПолучателиМетаданные = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Объект.ТипПолучателейРассылки, Ложь); ПолучателиМетаданные = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Объект.ТипПолучателейРассылки, Ложь);
ТипПолучателей = Объект.ТипПолучателейРассылки.КлючОбъектаМетаданных.Получить(); КлючОбъектаМетаданных = ?(ЗначениеЗаполнено(Объект.ТипПолучателейРассылки),
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.ТипПолучателейРассылки, "КлючОбъектаМетаданных"), Неопределено);
ТипПолучателей = ?(КлючОбъектаМетаданных <> Неопределено, КлючОбъектаМетаданных.Получить(), Неопределено);
ПервыйПолучатель = Новый Структура ("Наименование, Ссылка", "", Новый (ТипПолучателей)); ПервыйПолучатель = Новый Структура ("Наименование, Ссылка", "", Новый (ТипПолучателей));
@@ -4389,7 +4391,8 @@
&НаСервере &НаСервере
Процедура ПрочитатьРасписаниеРегламентногоЗадания() Процедура ПрочитатьРасписаниеРегламентногоЗадания()
УстановитьПривилегированныйРежим(Истина); УстановитьПривилегированныйРежим(Истина);
ИдентификаторЗадания = ?(СозданКопированием, РассылкаОснование.РегламентноеЗадание, Объект.РегламентноеЗадание); ИдентификаторЗадания = ?(СозданКопированием, ОбщегоНазначения.ЗначениеРеквизитаОбъекта(РассылкаОснование,
"РегламентноеЗадание"), Объект.РегламентноеЗадание);
Если ТипЗнч(ИдентификаторЗадания) = Тип("УникальныйИдентификатор") Тогда Если ТипЗнч(ИдентификаторЗадания) = Тип("УникальныйИдентификатор") Тогда
Задание = РегламентныеЗаданияСервер.Задание(ИдентификаторЗадания); Задание = РегламентныеЗаданияСервер.Задание(ИдентификаторЗадания);
Если Задание <> Неопределено Тогда Если Задание <> Неопределено Тогда
@@ -4405,10 +4408,11 @@
&НаСервере &НаСервере
Процедура ПрочитатьНастройкиОтчетовОбъектаКопирования() Процедура ПрочитатьНастройкиОтчетовОбъектаКопирования()
КоличествоСтрок = Объект.Отчеты.Количество(); КоличествоСтрок = Объект.Отчеты.Количество();
ОтчетыРассылкиОснования = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(РассылкаОснование, "Отчеты").Выгрузить();
Для ОбратныйИндекс = 1 По КоличествоСтрок Цикл Для ОбратныйИндекс = 1 По КоличествоСтрок Цикл
Индекс = КоличествоСтрок - ОбратныйИндекс; Индекс = КоличествоСтрок - ОбратныйИндекс;
СтрокаОтчеты = Объект.Отчеты.Получить(Индекс); СтрокаОтчеты = Объект.Отчеты.Получить(Индекс);
СтрокаОтчетыОбъектаКопирования = РассылкаОснование.Отчеты.Получить(Индекс); СтрокаОтчетыОбъектаКопирования = ОтчетыРассылкиОснования.Получить(Индекс);
ПользовательскиеНастройкиКД = СтрокаОтчетыОбъектаКопирования.Настройки.Получить(); ПользовательскиеНастройкиКД = СтрокаОтчетыОбъектаКопирования.Настройки.Получить();
@@ -32,7 +32,7 @@
ДоступнаПечатьСоШтампом = ДоступнаПечатьСоШтампом =
ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись")
И Объект.Расширение = "mxl" И (НРег(Объект.Расширение) = "mxl" Или НРег(Объект.Расширение) = "docx")
И Объект.ПодписанЭП; И Объект.ПодписанЭП;
Элементы.ПечатьСоШтампом.Видимость = ДоступнаПечатьСоШтампом; Элементы.ПечатьСоШтампом.Видимость = ДоступнаПечатьСоШтампом;
@@ -954,8 +954,8 @@
Процедура ПечатьСоШтампом(Команда) Процедура ПечатьСоШтампом(Команда)
Если ЗначениеЗаполнено(Объект.Ссылка) Или Записать() Тогда Если ЗначениеЗаполнено(Объект.Ссылка) Или Записать() Тогда
ДокументСоШтампом = РаботаСФайламиСлужебныйВызовСервера.ТабличныйДокументСоШтампом(Объект.Ссылка); ДокументСоШтампом = РаботаСФайламиСлужебныйВызовСервера.ДокументСоШтампом(Объект.Ссылка);
РаботаСФайламиСлужебныйКлиент.ПечатьФайлаСоШтампом(ДокументСоШтампом); РаботаСФайламиСлужебныйКлиент.ПечатьФайлаСоШтампом(ДокументСоШтампом, Объект.Наименование);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -11,6 +11,11 @@
&НаСервере &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Не ЗначениеЗаполнено(Параметры.Шаблон) Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
Предмет = Параметры.Предмет; Предмет = Параметры.Предмет;
ДобавитьЭлементыФормыПараметровШаблона(Параметры.Шаблон); ДобавитьЭлементыФормыПараметровШаблона(Параметры.Шаблон);
@@ -39,33 +44,9 @@
Процедура ДобавитьЭлементыФормыПараметровШаблона(Шаблон) Процедура ДобавитьЭлементыФормыПараметровШаблона(Шаблон)
ДобавляемыеРеквизиты = Новый Массив; ДобавляемыеРеквизиты = Новый Массив;
Если Шаблон.ШаблонПоВнешнейОбработке Тогда
Сведения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Шаблон, "ШаблонПоВнешнейОбработке, ВнешняяОбработка");
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки") Тогда Если Сведения.ШаблонПоВнешнейОбработке <> Истина Тогда
МодульДополнительныеОтчетыИОбработки = ОбщегоНазначения.ОбщийМодуль("ДополнительныеОтчетыИОбработки");
ВнешнийОбъект = МодульДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки(Шаблон.ВнешняяОбработка);
ПараметрыШаблона = ВнешнийОбъект.ПараметрыШаблона();
ТаблицаПараметрыШаблона = Новый ТаблицаЗначений;
ТаблицаПараметрыШаблона.Колонки.Добавить("Имя" , Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(50, ДопустимаяДлина.Переменная)));
ТаблицаПараметрыШаблона.Колонки.Добавить("Тип" , Новый ОписаниеТипов("ОписаниеТипов"));
ТаблицаПараметрыШаблона.Колонки.Добавить("Представление" , Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(150, ДопустимаяДлина.Переменная)));
Для каждого ПараметрШаблона Из ПараметрыШаблона Цикл
ОписаниеТипа = ПараметрШаблона.ОписаниеТипа.Типы();
Если ОписаниеТипа.Количество() > 0 Тогда
Если ОписаниеТипа[0] <> ТипЗнч(Предмет) Тогда
НовыйПараметр = ТаблицаПараметрыШаблона.Добавить();
НовыйПараметр.Имя = ПараметрШаблона.ИмяПараметра;
НовыйПараметр.Представление = ПараметрШаблона.ПредставлениеПараметра;
НовыйПараметр.Тип = ПараметрШаблона.ОписаниеТипа;
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ПараметрШаблона.ИмяПараметра, ПараметрШаблона.ОписаниеТипа,, ПараметрШаблона.ПредставлениеПараметра));
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Иначе
Запрос = Новый Запрос; Запрос = Новый Запрос;
Запрос.Текст = Запрос.Текст =
"ВЫБРАТЬ "ВЫБРАТЬ
@@ -95,6 +76,30 @@
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(Реквизит.Имя, ОписаниеТипаПараметра,, Реквизит.Представление)); ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(Реквизит.Имя, ОписаниеТипаПараметра,, Реквизит.Представление));
КонецЦикла; КонецЦикла;
ИначеЕсли ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки")
И Сведения.ВнешняяОбработка <> Неопределено Тогда
МодульДополнительныеОтчетыИОбработки = ОбщегоНазначения.ОбщийМодуль("ДополнительныеОтчетыИОбработки");
ВнешнийОбъект = МодульДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки(Сведения.ВнешняяОбработка);
ПараметрыШаблона = ВнешнийОбъект.ПараметрыШаблона();
ТаблицаПараметрыШаблона = Новый ТаблицаЗначений;
ТаблицаПараметрыШаблона.Колонки.Добавить("Имя" , Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(50, ДопустимаяДлина.Переменная)));
ТаблицаПараметрыШаблона.Колонки.Добавить("Тип" , Новый ОписаниеТипов("ОписаниеТипов"));
ТаблицаПараметрыШаблона.Колонки.Добавить("Представление" , Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(150, ДопустимаяДлина.Переменная)));
Для каждого ПараметрШаблона Из ПараметрыШаблона Цикл
ОписаниеТипа = ПараметрШаблона.ОписаниеТипа.Типы();
Если ОписаниеТипа.Количество() > 0 Тогда
Если ОписаниеТипа[0] <> ТипЗнч(Предмет) Тогда
НовыйПараметр = ТаблицаПараметрыШаблона.Добавить();
НовыйПараметр.Имя = ПараметрШаблона.ИмяПараметра;
НовыйПараметр.Представление = ПараметрШаблона.ПредставлениеПараметра;
НовыйПараметр.Тип = ПараметрШаблона.ОписаниеТипа;
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ПараметрШаблона.ИмяПараметра, ПараметрШаблона.ОписаниеТипа,, ПараметрШаблона.ПредставлениеПараметра));
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли; КонецЕсли;
ИзменитьРеквизиты(ДобавляемыеРеквизиты); ИзменитьРеквизиты(ДобавляемыеРеквизиты);
@@ -1901,7 +1901,12 @@
ОчиститьШаблон(ЭтотОбъект); ОчиститьШаблон(ЭтотОбъект);
ВнешнийОбъект = МодульДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки(Объект.ВнешняяОбработка); ВнешнийОбъект = МодульДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки(Объект.ВнешняяОбработка);
Если Не МодульДополнительныеОтчетыИОбработки.ЭтоВидОбработкиДляШаблоновСообщений(Объект.ВнешняяОбработка.Вид) Тогда Если ВнешнийОбъект = Неопределено Тогда
Возврат;
КонецЕсли;
ВидОбработки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.ВнешняяОбработка, "Вид");
Если Не МодульДополнительныеОтчетыИОбработки.ЭтоВидОбработкиДляШаблоновСообщений(ВидОбработки) Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -1957,8 +1962,6 @@
&НаКлиентеНаСервереБезКонтекста &НаКлиентеНаСервереБезКонтекста
Функция ОпределитьПредметШаблонаСообщений(ИмяВНазначение, Знач НастройкиШаблоновСообщений) Функция ОпределитьПредметШаблонаСообщений(ИмяВНазначение, Знач НастройкиШаблоновСообщений)
Перем НазначениеШаблона;
НазначениеШаблона = НастройкиШаблоновСообщений.ПредметыШаблонов.Найти(ИмяВНазначение, "Представление"); НазначениеШаблона = НастройкиШаблоновСообщений.ПредметыШаблонов.Найти(ИмяВНазначение, "Представление");
Если НазначениеШаблона = Неопределено Тогда Если НазначениеШаблона = Неопределено Тогда
НазначениеШаблона = НастройкиШаблоновСообщений.ПредметыШаблонов.Найти(ИмяВНазначение, "Имя"); НазначениеШаблона = НастройкиШаблоновСообщений.ПредметыШаблонов.Найти(ИмяВНазначение, "Имя");
@@ -29,11 +29,19 @@
Процедура ЗаполнитьНаОснованииЭлектронноеПисьмоИсходящее(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка) Процедура ЗаполнитьНаОснованииЭлектронноеПисьмоИсходящее(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
ТемаПисьма = ДанныеЗаполнения.Тема; РеквизитыШаблона = Новый Массив;
ТекстШаблонаПисьмаHTML = ДанныеЗаполнения.ТекстHTML; РеквизитыШаблона.Добавить("Тема");
ТекстШаблонаПисьма = ДанныеЗаполнения.Текст; РеквизитыШаблона.Добавить("ТекстHTML");
ТемаПисьма = ДанныеЗаполнения.Тема; РеквизитыШаблона.Добавить("Текст");
Наименование = ДанныеЗаполнения.Тема; РеквизитыШаблона.Добавить("ТипТекста");
СведенияОбШаблоне = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДанныеЗаполнения, РеквизитыШаблона);
ТемаПисьма = СведенияОбШаблоне.Тема;
ТекстШаблонаПисьмаHTML = СведенияОбШаблоне.ТекстHTML;
ТекстШаблонаПисьма = СведенияОбШаблоне.Текст;
ТемаПисьма = СведенияОбШаблоне.Тема;
Наименование = СведенияОбШаблоне.Тема;
ПредназначенДляЭлектронныхПисем = Истина; ПредназначенДляЭлектронныхПисем = Истина;
ПредназначенДляSMS = Ложь; ПредназначенДляSMS = Ложь;
ПолноеИмяТипаПараметраВводаНаОсновании = НСтр("ru = 'Общий'"); ПолноеИмяТипаПараметраВводаНаОсновании = НСтр("ru = 'Общий'");
@@ -44,8 +52,8 @@
ТипыТекстовЭлектронныхПисемHTML = МодульРаботаСПочтовымиСообщениямиСлужебный.ТипТекстовЭлектронныхПисем("HTML"); ТипыТекстовЭлектронныхПисемHTML = МодульРаботаСПочтовымиСообщениямиСлужебный.ТипТекстовЭлектронныхПисем("HTML");
ТипыТекстовЭлектронныхПисемHTMLСКартинками = МодульРаботаСПочтовымиСообщениямиСлужебный.ТипТекстовЭлектронныхПисем("HTMLСКартинками"); ТипыТекстовЭлектронныхПисемHTMLСКартинками = МодульРаботаСПочтовымиСообщениямиСлужебный.ТипТекстовЭлектронныхПисем("HTMLСКартинками");
Если ДанныеЗаполнения.ТипТекста = ТипыТекстовЭлектронныхПисемHTML Если СведенияОбШаблоне.ТипТекста = ТипыТекстовЭлектронныхПисемHTML
ИЛИ ДанныеЗаполнения.ТипТекста = ТипыТекстовЭлектронныхПисемHTMLСКартинками Тогда ИЛИ СведенияОбШаблоне.ТипТекста = ТипыТекстовЭлектронныхПисемHTMLСКартинками Тогда
ТипТекстаПисьма = Перечисления.СпособыРедактированияЭлектронныхПисем.HTML; ТипТекстаПисьма = Перечисления.СпособыРедактированияЭлектронныхПисем.HTML;
КонецЕсли; КонецЕсли;
@@ -47,7 +47,7 @@
Родитель = НаборСвойств; Родитель = НаборСвойств;
КонецЕсли; КонецЕсли;
НаборДополнительныхРеквизитов = Родитель.ДополнительныеРеквизиты; НаборДополнительныхРеквизитов = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Родитель, "ДополнительныеРеквизиты").Выгрузить();
ПредопределенныеНаборыСвойств = УправлениеСвойствамиПовтИсп.ПредопределенныеНаборыСвойств(); ПредопределенныеНаборыСвойств = УправлениеСвойствамиПовтИсп.ПредопределенныеНаборыСвойств();
ОписаниеНабора = ПредопределенныеНаборыСвойств.Получить(Родитель); // см. Справочники.НаборыДополнительныхРеквизитовИСведений.СвойстваНабора ОписаниеНабора = ПредопределенныеНаборыСвойств.Получить(Родитель); // см. Справочники.НаборыДополнительныхРеквизитовИСведений.СвойстваНабора
@@ -752,6 +752,20 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>ИмяКолонкиСостава</name>
<id>6</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands> <formCommands>
<name>ЗаписатьИЗакрыть</name> <name>ЗаписатьИЗакрыть</name>
<title> <title>
@@ -26,6 +26,7 @@
ЭтоВнешниеПользователи = Параметры.ВнешниеПользователи; ЭтоВнешниеПользователи = Параметры.ВнешниеПользователи;
РежимОткрытияИзКарточкиПользователя = Ложь; РежимОткрытияИзКарточкиПользователя = Ложь;
КонецЕсли; КонецЕсли;
ИмяКолонкиСостава = ?(ЭтоВнешниеПользователи, "ВнешнийПользователь", "Пользователь");
КоличествоПользователей = МассивПользователей.Количество(); КоличествоПользователей = МассивПользователей.Количество();
Если КоличествоПользователей = 0 Тогда Если КоличествоПользователей = 0 Тогда
@@ -221,12 +222,13 @@
КонецЕсли; КонецЕсли;
ГруппыПользователей = Неопределено; ГруппыПользователей = Неопределено;
ПодчиненныеГруппы = Новый Массив; ПодчиненныеГруппы = Новый Массив; // Массив из СтрокаТаблицыЗначений: см. ПолучитьГруппыВнешнихПользователей.ГруппыПользователей
МассивРодителей = Новый Массив; МассивРодителей = Новый Массив;
Если ЭтоВнешниеПользователи Тогда Если ЭтоВнешниеПользователи Тогда
ПустаяГруппа = Справочники.ГруппыВнешнихПользователей.ПустаяСсылка(); ПустаяГруппа = Справочники.ГруппыВнешнихПользователей.ПустаяСсылка();
ПолучитьГруппыВнешнихПользователей(ГруппыПользователей); ПолучитьГруппыВнешнихПользователей(ГруппыПользователей);
ОбъектыАвторизации = ОбъектыАвторизацииПользователей(СписокПользователей.МассивПользователей);
Иначе Иначе
ПустаяГруппа = Справочники.ГруппыПользователей.ПустаяСсылка(); ПустаяГруппа = Справочники.ГруппыПользователей.ПустаяСсылка();
ПолучитьГруппыПользователей(ГруппыПользователей); ПолучитьГруппыПользователей(ГруппыПользователей);
@@ -238,12 +240,7 @@
КонецЕсли; КонецЕсли;
ПолучитьПодчиненныеГруппы(ГруппыПользователей, ПодчиненныеГруппы, ПустаяГруппа); ПолучитьПодчиненныеГруппы(ГруппыПользователей, ПодчиненныеГруппы, ПустаяГруппа);
СоставГрупп = СоставГрупп();
Если ТипЗнч(СписокПользователей.МассивПользователей[0]) = Тип("СправочникСсылка.Пользователи") Тогда
ТипПользователя = "Пользователь";
Иначе
ТипПользователя = "ВнешнийПользователь";
КонецЕсли;
Пока ПодчиненныеГруппы.Количество() > 0 Цикл Пока ПодчиненныеГруппы.Количество() > 0 Цикл
МассивРодителей.Очистить(); МассивРодителей.Очистить();
@@ -253,29 +250,24 @@
Если Группа.Родитель = ПустаяГруппа Тогда Если Группа.Родитель = ПустаяГруппа Тогда
НоваяСтрокаГрупп = ДеревоГруппПриемник.Строки.Добавить(); НоваяСтрокаГрупп = ДеревоГруппПриемник.Строки.Добавить();
НоваяСтрокаГрупп.Группа = Группа.Ссылка; НоваяСтрокаГрупп.Группа = Группа.Ссылка;
НоваяСтрокаГрупп.Картинка = ?(ТипПользователя = "Пользователь", 3, 9); НоваяСтрокаГрупп.Картинка = ?(ЭтоВнешниеПользователи, 9, 3);
Если СписокПользователей.КоличествоПользователей = 1 Тогда Если СписокПользователей.КоличествоПользователей = 1 Тогда
ПользовательКосвенноВключенВГруппу = Ложь; ПользовательКосвенноВключенВГруппу = Ложь;
ПользовательСсылка = СписокПользователей.МассивПользователей[0]; ПользовательСсылка = СписокПользователей.МассивПользователей[0];
Если ТипПользователя = "ВнешнийПользователь" Тогда Если ЭтоВнешниеПользователи И Группа.ВсеОбъектыАвторизации Тогда
Тип = ТипЗнч(ОбъектыАвторизации.Получить(ПользовательСсылка));
Тип = ТипЗнч(ПользовательСсылка.ОбъектАвторизации);
ОписаниеТипаСсылки = Новый ОписаниеТипов(ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Тип)); ОписаниеТипаСсылки = Новый ОписаниеТипов(ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Тип));
Значение = ОписаниеТипаСсылки.ПривестиЗначение(Неопределено); Значение = ОписаниеТипаСсылки.ПривестиЗначение(Неопределено);
Назначение = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Группа.Ссылка, "Назначение").Выгрузить();
Отбор = Новый Структура; Отбор = Новый Структура("ТипПользователей", Значение);
Отбор.Вставить("ТипПользователей", Значение); ПользовательКосвенноВключенВГруппу = ЗначениеЗаполнено(Группа.Назначение.НайтиСтроки(Отбор));
НоваяСтрокаГрупп.ГруппаНеИзменяется = Истина;
ПользовательКосвенноВключенВГруппу = Группа.ВсеОбъектыАвторизации
И Назначение.НайтиСтроки(Отбор).Количество() <> 0;
НоваяСтрокаГрупп.ГруппаНеИзменяется = ПользовательКосвенноВключенВГруппу;
КонецЕсли; КонецЕсли;
НайденныйПользователь = Группа.Ссылка.Состав.Найти(ПользовательСсылка, ТипПользователя); НоваяСтрокаГрупп.Пометка = ?(ПользовательВГруппе(СоставГрупп,
НоваяСтрокаГрупп.Пометка = ?(НайденныйПользователь <> Неопределено Или ПользовательКосвенноВключенВГруппу, 1, 0); Группа.Ссылка, ПользовательСсылка) Или ПользовательКосвенноВключенВГруппу, 1, 0);
Иначе Иначе
НоваяСтрокаГрупп.Пометка = 2; НоваяСтрокаГрупп.Пометка = 2;
КонецЕсли; КонецЕсли;
@@ -285,11 +277,11 @@
ДеревоГруппПриемник.Строки.НайтиСтроки(Новый Структура("Группа", Группа.Родитель), Истина); ДеревоГруппПриемник.Строки.НайтиСтроки(Новый Структура("Группа", Группа.Родитель), Истина);
НоваяСтрокаПодчиненныхГрупп = ГруппаРодитель[0].Строки.Добавить(); НоваяСтрокаПодчиненныхГрупп = ГруппаРодитель[0].Строки.Добавить();
НоваяСтрокаПодчиненныхГрупп.Группа = Группа.Ссылка; НоваяСтрокаПодчиненныхГрупп.Группа = Группа.Ссылка;
НоваяСтрокаПодчиненныхГрупп.Картинка = ?(ТипПользователя = "Пользователь", 3, 9); НоваяСтрокаПодчиненныхГрупп.Картинка = ?(ЭтоВнешниеПользователи, 9, 3);
Если СписокПользователей.КоличествоПользователей = 1 Тогда Если СписокПользователей.КоличествоПользователей = 1 Тогда
НоваяСтрокаПодчиненныхГрупп.Пометка = ?(Группа.Ссылка.Состав.Найти( НоваяСтрокаПодчиненныхГрупп.Пометка = ?(ПользовательВГруппе(СоставГрупп,
СписокПользователей.МассивПользователей[0], ТипПользователя) = Неопределено, 0, 1); Группа.Ссылка, СписокПользователей.МассивПользователей[0]), 1, 0);
Иначе Иначе
НоваяСтрокаПодчиненныхГрупп.Пометка = 2; НоваяСтрокаПодчиненныхГрупп.Пометка = 2;
КонецЕсли; КонецЕсли;
@@ -341,15 +333,20 @@
// * Ссылка - СправочникСсылка.ГруппыВнешнихПользователей // * Ссылка - СправочникСсылка.ГруппыВнешнихПользователей
// * Родитель - СправочникСсылка.ГруппыВнешнихПользователей // * Родитель - СправочникСсылка.ГруппыВнешнихПользователей
// * ВсеОбъектыАвторизации - Булево // * ВсеОбъектыАвторизации - Булево
// * Назначение - ТаблицаЗначений:
// ** ТипПользователей - ОпределяемыйТип.ВнешнийПользователь
// //
&НаСервере &НаСервере
Процедура ПолучитьГруппыВнешнихПользователей(ГруппыПользователей) Процедура ПолучитьГруппыВнешнихПользователей(ГруппыПользователей)
Запрос = Новый Запрос; Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Запрос.Текст =
"ВЫБРАТЬ
| ГруппыВнешнихПользователей.Ссылка, | ГруппыВнешнихПользователей.Ссылка,
| ГруппыВнешнихПользователей.Родитель, | ГруппыВнешнихПользователей.Родитель,
| ГруппыВнешнихПользователей.ВсеОбъектыАвторизации | ГруппыВнешнихПользователей.ВсеОбъектыАвторизации,
| ГруппыВнешнихПользователей.Назначение.(
| ТипПользователей)
|ИЗ |ИЗ
| Справочник.ГруппыВнешнихПользователей КАК ГруппыВнешнихПользователей | Справочник.ГруппыВнешнихПользователей КАК ГруппыВнешнихПользователей
|ГДЕ |ГДЕ
@@ -363,7 +360,7 @@
// //
// Параметры: // Параметры:
// ГруппыПользователей - см. ПолучитьГруппыВнешнихПользователей.ГруппыПользователей // ГруппыПользователей - см. ПолучитьГруппыВнешнихПользователей.ГруппыПользователей
// ПодчиненныеГруппы - Массив // ПодчиненныеГруппы - Массив из СтрокаТаблицыЗначений: см. ПолучитьГруппыВнешнихПользователей.ГруппыПользователей
// ГруппаРодитель - СправочникСсылка.ГруппыПользователей // ГруппаРодитель - СправочникСсылка.ГруппыПользователей
// - СправочникСсылка.ГруппыВнешнихПользователей // - СправочникСсылка.ГруппыВнешнихПользователей
// //
@@ -385,13 +382,83 @@
КонецПроцедуры КонецПроцедуры
&НаСервере
Функция ОбъектыАвторизацииПользователей(МассивПользователей)
Запрос = Новый Запрос;
Запрос.Параметры.Вставить("МассивПользователей", МассивПользователей);
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВнешниеПользователи.Ссылка КАК Ссылка,
| ВнешниеПользователи.ОбъектАвторизации КАК ОбъектАвторизации
|ИЗ
| Справочник.ВнешниеПользователи КАК ВнешниеПользователи
|ГДЕ
| ВнешниеПользователи.Ссылка В (&МассивПользователей)";
Выборка = Запрос.Выполнить().Выбрать();
Результат = Новый Соответствие;
Пока Выборка.Следующий() Цикл
Результат.Вставить(Выборка.Ссылка, Выборка.ОбъектАвторизации);
КонецЦикла;
Возврат Результат;
КонецФункции
&НаСервере
Функция СоставГрупп()
Запрос = Новый Запрос;
Если ЭтоВнешниеПользователи Тогда
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| СоставГрупп.Ссылка КАК Группа,
| СоставГрупп.ВнешнийПользователь КАК Пользователь
|ИЗ
| Справочник.ГруппыВнешнихПользователей.Состав КАК СоставГрупп";
Иначе
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| СоставГрупп.Ссылка КАК Группа,
| СоставГрупп.Пользователь КАК Пользователь
|ИЗ
| Справочник.ГруппыПользователей.Состав КАК СоставГрупп";
КонецЕсли;
Выгрузка = Запрос.Выполнить().Выгрузить();
Выгрузка.Индексы.Добавить("Группа, Пользователь");
Возврат Выгрузка;
КонецФункции
&НаСервере
Функция ПользовательВГруппе(СоставГрупп, Группа, Пользователь)
Отбор = Новый Структура;
Отбор.Вставить("Группа", Группа);
Отбор.Вставить("Пользователь", Пользователь);
Возврат ЗначениеЗаполнено(СоставГрупп.НайтиСтроки(Отбор));
КонецФункции
// Параметры:
// УведомлениеПользователя - Структура:
// * Сообщение - Строка
// * ЕстьОшибки - Булево
// * ПолныйТекстСообщения - Строка
//
&НаСервере &НаСервере
Процедура ЗаписатьИзменения(УведомлениеПользователя) Процедура ЗаписатьИзменения(УведомлениеПользователя)
МассивПользователей = Неопределено; МассивПользователей = Неопределено;
НеПеремещенныеПользователи = Новый Соответствие; НеПеремещенныеПользователи = Новый Соответствие;
ДеревоГруппИсточник = ДеревоГрупп.ПолучитьЭлементы(); ДеревоГруппИсточник = ДеревоГрупп.ПолучитьЭлементы();
ПерезаполнитьСоставГрупп(ДеревоГруппИсточник, МассивПользователей, НеПеремещенныеПользователи); ПерезаполнитьСоставГрупп(ДеревоГруппИсточник, СоставГрупп(), МассивПользователей, НеПеремещенныеПользователи);
СформироватьТекстСообщения(МассивПользователей, УведомлениеПользователя, НеПеремещенныеПользователи) СформироватьТекстСообщения(МассивПользователей, УведомлениеПользователя, НеПеремещенныеПользователи)
КонецПроцедуры КонецПроцедуры
@@ -401,13 +468,14 @@
// Параметры: // Параметры:
// ДеревоГруппИсточник - ДанныеФормыКоллекцияЭлементовДерева // ДеревоГруппИсточник - ДанныеФормыКоллекцияЭлементовДерева
// МассивПеремещенныхПользователей - Массив из СправочникСсылка.Пользователи // МассивПеремещенныхПользователей - Массив из СправочникСсылка.Пользователи
// - Массив из СправочникСсылка.ВнешниеПользователи
// НеПеремещенныеПользователи - Соответствие из КлючИЗначение: // НеПеремещенныеПользователи - Соответствие из КлючИЗначение:
// * Ключ - СправочникСсылка.Пользователи // * Ключ - СправочникСсылка.Пользователи
// * Значение - Массив из СправочникСсылка.ГруппыПользователей // * Значение - Массив из СправочникСсылка.ГруппыПользователей
// - СправочникСсылка.ГруппыВнешнихПользователей // - СправочникСсылка.ГруппыВнешнихПользователей
// //
&НаСервере &НаСервере
Процедура ПерезаполнитьСоставГрупп(ДеревоГруппИсточник, МассивПеремещенныхПользователей, НеПеремещенныеПользователи) Процедура ПерезаполнитьСоставГрупп(ДеревоГруппИсточник, СоставГрупп, МассивПеремещенныхПользователей, НеПеремещенныеПользователи)
МассивПользователей = СписокПользователей.МассивПользователей; // Массив из СправочникСсылка.Пользователи МассивПользователей = СписокПользователей.МассивПользователей; // Массив из СправочникСсылка.Пользователи
Если МассивПеремещенныхПользователей = Неопределено Тогда Если МассивПеремещенныхПользователей = Неопределено Тогда
@@ -421,10 +489,7 @@
Для Каждого ПользовательСсылка Из МассивПользователей Цикл Для Каждого ПользовательСсылка Из МассивПользователей Цикл
Если ТипЗнч(ПользовательСсылка) = Тип("СправочникСсылка.Пользователи") Тогда Если ЭтоВнешниеПользователи Тогда
ТипПользователя = "Пользователь";
Иначе
ТипПользователя = "ВнешнийПользователь";
ПеремещениеВозможно = ПользователиСлужебный.ВозможноПеремещениеПользователя(СтрокаДерева.Группа, ПользовательСсылка); ПеремещениеВозможно = ПользователиСлужебный.ВозможноПеремещениеПользователя(СтрокаДерева.Группа, ПользовательСсылка);
Если Не ПеремещениеВозможно Тогда Если Не ПеремещениеВозможно Тогда
@@ -438,18 +503,16 @@
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Добавлять = ?(СтрокаДерева.Группа.Состав.Найти( Если Не ПользовательВГруппе(СоставГрупп, СтрокаДерева.Группа, ПользовательСсылка) Тогда
ПользовательСсылка, ТипПользователя) = Неопределено, Истина, Ложь); Добавлен = Ложь;
Если Добавлять Тогда ПользователиСлужебный.ДобавитьПользователяВГруппу(СтрокаДерева.Группа,
ПользователиСлужебный.ДобавитьПользователяВГруппу(СтрокаДерева.Группа, ПользовательСсылка, ТипПользователя); ПользовательСсылка, ИмяКолонкиСостава, Добавлен);
Если МассивПеремещенныхПользователей.Найти(ПользовательСсылка) = Неопределено Тогда Если Добавлен И МассивПеремещенныхПользователей.Найти(ПользовательСсылка) = Неопределено Тогда
МассивПеремещенныхПользователей.Добавить(ПользовательСсылка); МассивПеремещенныхПользователей.Добавить(ПользовательСсылка);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -459,21 +522,14 @@
Для Каждого ПользовательСсылка Из МассивПользователей Цикл Для Каждого ПользовательСсылка Из МассивПользователей Цикл
Если ТипЗнч(ПользовательСсылка) = Тип("СправочникСсылка.Пользователи") Тогда Если ПользовательВГруппе(СоставГрупп, СтрокаДерева.Группа, ПользовательСсылка) Тогда
ТипПользователя = "Пользователь"; Удален = Ложь;
Иначе ПользователиСлужебный.УдалитьПользователяИзГруппы(СтрокаДерева.Группа,
ТипПользователя = "ВнешнийПользователь"; ПользовательСсылка, ИмяКолонкиСостава, Удален);
КонецЕсли;
Удалять = ?(СтрокаДерева.Группа.Состав.Найти(
ПользовательСсылка, ТипПользователя) <> Неопределено, Истина, Ложь);
Если Удалять Тогда
ПользователиСлужебный.УдалитьПользователяИзГруппы(СтрокаДерева.Группа, ПользовательСсылка, ТипПользователя);
Если МассивПеремещенныхПользователей.Найти(ПользовательСсылка) = Неопределено Тогда Если Удален И МассивПеремещенныхПользователей.Найти(ПользовательСсылка) = Неопределено Тогда
МассивПеремещенныхПользователей.Добавить(ПользовательСсылка); МассивПеремещенныхПользователей.Добавить(ПользовательСсылка);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -482,12 +538,17 @@
ЭлементыСтрокиДерева = СтрокаДерева.ПолучитьЭлементы(); ЭлементыСтрокиДерева = СтрокаДерева.ПолучитьЭлементы();
// Рекурсия // Рекурсия
ПерезаполнитьСоставГрупп(ЭлементыСтрокиДерева, МассивПеремещенныхПользователей, НеПеремещенныеПользователи); ПерезаполнитьСоставГрупп(ЭлементыСтрокиДерева, СоставГрупп, МассивПеремещенныхПользователей, НеПеремещенныеПользователи);
КонецЦикла; КонецЦикла;
КонецПроцедуры КонецПроцедуры
// Параметры:
// МассивПеремещенныхПользователей - см. ПерезаполнитьСоставГрупп.МассивПеремещенныхПользователей
// УведомлениеПользователя - см. ЗаписатьИзменения.УведомлениеПользователя
// НеПеремещенныеПользователи - см. ПерезаполнитьСоставГрупп.НеПеремещенныеПользователи
//
&НаСервере &НаСервере
Процедура СформироватьТекстСообщения(МассивПеремещенныхПользователей, УведомлениеПользователя, НеПеремещенныеПользователи) Процедура СформироватьТекстСообщения(МассивПеремещенныхПользователей, УведомлениеПользователя, НеПеремещенныеПользователи)
@@ -230,7 +230,7 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<commandName>Form.StandardCommand.Close</commandName> <commandName>Form.Command.ОтменитьИЗакрыть</commandName>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -312,6 +312,41 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>ОтменятьПриЗакрытии</name>
<id>2</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>ОтменитьИЗакрыть</name>
<title>
<key>ru</key>
<value>Отменить и закрыть</value>
</title>
<id>1</id>
<toolTip>
<key>ru</key>
<value>Отменить и закрыть</value>
</toolTip>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ОтменитьИЗакрыть</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters> <parameters>
<name>ОжидатьЗавершение</name> <name>ОжидатьЗавершение</name>
<valueType> <valueType>
@@ -402,6 +437,14 @@
<stringQualifiers/> <stringQualifiers/>
</valueType> </valueType>
</parameters> </parameters>
<parameters>
<name>РежимОткрытияОкнаОжидания</name>
<valueType/>
</parameters>
<parameters>
<name>ОтменятьПриЗакрытииФормыВладельца</name>
<valueType/>
</parameters>
<commandInterface> <commandInterface>
<navigationPanel/> <navigationPanel/>
<commandBar/> <commandBar/>
@@ -27,11 +27,23 @@
Элементы.ДекорацияПоясняющийТекстДлительнойОперации.Заголовок = ТекстСообщения; Элементы.ДекорацияПоясняющийТекстДлительнойОперации.Заголовок = ТекстСообщения;
КонецЕсли; КонецЕсли;
Если ЗначениеЗаполнено(Параметры.Заголовок) Тогда Если Не ЗначениеЗаполнено(Параметры.Заголовок) Тогда
Элементы.СообщениеОперации.ОтображатьЗаголовок = Ложь;
ИначеЕсли Параметры.РежимОткрытияОкнаОжидания = РежимОткрытияОкнаФормы.Независимый Тогда
Заголовок = Параметры.Заголовок;
Элементы.СообщениеОперации.ОтображатьЗаголовок = Ложь;
ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Верх;
КоманднаяПанель.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Лево;
Иначе
Элементы.СообщениеОперации.Заголовок = Параметры.Заголовок; Элементы.СообщениеОперации.Заголовок = Параметры.Заголовок;
Элементы.СообщениеОперации.ОтображатьЗаголовок = Истина; Элементы.СообщениеОперации.ОтображатьЗаголовок = Истина;
КонецЕсли;
Если ТипЗнч(Параметры.ОтменятьПриЗакрытииФормыВладельца) = Тип("Булево") Тогда
ОтменятьПриЗакрытии = Параметры.ОтменятьПриЗакрытииФормыВладельца;
Иначе Иначе
Элементы.СообщениеОперации.ОтображатьЗаголовок = Ложь; ОтменятьПриЗакрытии = Истина;
КонецЕсли; КонецЕсли;
Если ЗначениеЗаполнено(Параметры.ИдентификаторЗадания) Тогда Если ЗначениеЗаполнено(Параметры.ИдентификаторЗадания) Тогда
@@ -108,7 +120,7 @@
КонецЕсли; КонецЕсли;
Если СтандартноеОповещениеОЗакрытии Тогда Если СтандартноеОповещениеОЗакрытии Тогда
ДлительнаяОперация = ПроверитьИОтменитьЕслиВыполняется(ИдентификаторЗадания); ДлительнаяОперация = ПроверитьИОтменитьЕслиВыполняется(ИдентификаторЗадания, ОтменятьПриЗакрытии);
ЗавершитьДлительнуюОперациюИЗакрытьФорму(ДлительнаяОперация); ЗавершитьДлительнуюОперациюИЗакрытьФорму(ДлительнаяОперация);
Иначе Иначе
ОтменитьВыполнениеЗадания(ИдентификаторЗадания); ОтменитьВыполнениеЗадания(ИдентификаторЗадания);
@@ -118,6 +130,18 @@
#КонецОбласти #КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ОтменитьИЗакрыть(Команда)
ОтменятьПриЗакрытии = Истина;
Закрыть();
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
&НаКлиенте &НаКлиенте
@@ -235,7 +259,7 @@
ФормаЗакрывается = Истина; ФормаЗакрывается = Истина;
ДлительнаяОперация = ПроверитьИОтменитьЕслиВыполняется(ИдентификаторЗадания); ДлительнаяОперация = ПроверитьИОтменитьЕслиВыполняется(ИдентификаторЗадания, ОтменятьПриЗакрытии);
ЗавершитьДлительнуюОперациюИЗакрытьФорму(ДлительнаяОперация); ЗавершитьДлительнуюОперациюИЗакрытьФорму(ДлительнаяОперация);
КонецПроцедуры КонецПроцедуры
@@ -252,11 +276,11 @@
КонецПроцедуры КонецПроцедуры
&НаСервереБезКонтекста &НаСервереБезКонтекста
Функция ПроверитьИОтменитьЕслиВыполняется(ИдентификаторЗадания) Функция ПроверитьИОтменитьЕслиВыполняется(ИдентификаторЗадания, ОтменятьПриЗакрытии)
ДлительнаяОперация = ДлительныеОперации.ОперацияВыполнена(ИдентификаторЗадания); ДлительнаяОперация = ДлительныеОперации.ОперацияВыполнена(ИдентификаторЗадания);
Если ДлительнаяОперация.Статус = "Выполняется" Тогда Если ДлительнаяОперация.Статус = "Выполняется" И ОтменятьПриЗакрытии Тогда
ОтменитьВыполнениеЗадания(ИдентификаторЗадания); ОтменитьВыполнениеЗадания(ИдентификаторЗадания);
ДлительнаяОперация.Статус = "Отменено"; ДлительнаяОперация.Статус = "Отменено";
КонецЕсли; КонецЕсли;
@@ -12,9 +12,9 @@
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Элементы.НеразделенныйПользователь.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( Элементы.НеразделенныйПользователь.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Просмотр сведений о пользователе %1 не доступен, т.к. это НСтр("ru = 'Просмотр сведений о пользователе ""%1"" не доступен, т.к. это
|служебная учетная запись, предусмотренная для администраторов сервиса.'"), |служебная учетная запись, предусмотренная для администраторов сервиса.'"),
Параметры.Ключ.Наименование); Строка(Параметры.Ключ));
КонецПроцедуры КонецПроцедуры
@@ -86,14 +86,14 @@
ИскатьВоВсехРазделах = Истина; ИскатьВоВсехРазделах = Истина;
КонецЕсли; КонецЕсли;
// Заполнение панели.
ОпределитьПодсистемыИЗаголовок(Параметры); ОпределитьПодсистемыИЗаголовок(Параметры);
ДлительнаяОперация = ОбновитьПанельОтчетовНаСервере(); ДлительнаяОперация = ОбновитьПанельОтчетовНаСервере();
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПриОткрытии(Отказ) Процедура ПриОткрытии(Отказ)
Если ДлительнаяОперация.Статус = "Выполняется" Тогда Если ДлительнаяОперация <> Неопределено И ДлительнаяОперация.Статус = "Выполняется" Тогда
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект); ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь; ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
Завершение = Новый ОписаниеОповещения("ОбновитьПанельОтчетовЗавершение", ЭтотОбъект); Завершение = Новый ОписаниеОповещения("ОбновитьПанельОтчетовЗавершение", ЭтотОбъект);
@@ -495,6 +495,10 @@
КонецЕсли; КонецЕсли;
Элементы.Страницы.ТекущаяСтраница = Элементы.Ожидание; Элементы.Страницы.ТекущаяСтраница = Элементы.Ожидание;
Если ДлительнаяОперация <> Неопределено И ДлительнаяОперация.Статус = "Выполняется" Тогда
Возврат Ложь;
КонецЕсли;
ДлительнаяОперация = ОбновитьПанельОтчетовНаСервере(Событие); ДлительнаяОперация = ОбновитьПанельОтчетовНаСервере(Событие);
Если ДлительнаяОперация <> Неопределено И ДлительнаяОперация.Статус = "Выполняется" Тогда Если ДлительнаяОперация <> Неопределено И ДлительнаяОперация.Статус = "Выполняется" Тогда
Завершение = Новый ОписаниеОповещения("ОбновитьПанельОтчетовЗавершение", ЭтотОбъект); Завершение = Новый ОписаниеОповещения("ОбновитьПанельОтчетовЗавершение", ЭтотОбъект);
@@ -508,11 +512,8 @@
ЗакончитьЗамер(Замер); ЗакончитьЗамер(Замер);
КонецЕсли; КонецЕсли;
Если ДлительнаяОперация = Неопределено Тогда Возврат ДлительнаяОперация <> Неопределено;
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции КонецФункции
&НаКлиенте &НаКлиенте
@@ -660,10 +661,6 @@
&НаСервере &НаСервере
Функция ОбновитьПанельОтчетовНаСервере(Знач Событие = "") Функция ОбновитьПанельОтчетовНаСервере(Знач Событие = "")
Если ЗначениеЗаполнено(Событие) И ДлительнаяОперация <> Неопределено И ДлительнаяОперация.Статус = "Выполняется" Тогда
Возврат Неопределено;
КонецЕсли;
Если Событие = "СброситьНастройки" Тогда Если Событие = "СброситьНастройки" Тогда
РегистрыСведений.НастройкиВариантовОтчетов.СброситьНастройкиПользователяВРазделе(ТекущийРазделСсылка); РегистрыСведений.НастройкиВариантовОтчетов.СброситьНастройкиПользователяВРазделе(ТекущийРазделСсылка);
КонецЕсли; КонецЕсли;
@@ -738,8 +735,8 @@
СтрокаТаблицы.ВидимыхВариантов = 0; СтрокаТаблицы.ВидимыхВариантов = 0;
КонецЦикла; КонецЦикла;
// Заполнение панели отчетов
Возврат ЗаполнитьПанельОтчетовВФоне(); Возврат ЗаполнитьПанельОтчетовВФоне();
КонецФункции КонецФункции
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
@@ -972,16 +969,16 @@
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор); ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
ПараметрыВыполнения.ЗапуститьНеВФоне = (ВариантыОтчетов.ПредставленияЗаполнены() = "Заполнены"); ПараметрыВыполнения.ЗапуститьНеВФоне = (ВариантыОтчетов.ПредставленияЗаполнены() = "Заполнены");
ДлительнаяОперация = ДлительныеОперации.ВыполнитьВФоне("ВариантыОтчетов.НайтиВариантыОтчетовДляВывода", ПараметрыПоиска, ПараметрыВыполнения); Результат = ДлительныеОперации.ВыполнитьВФоне("ВариантыОтчетов.НайтиВариантыОтчетовДляВывода", ПараметрыПоиска, ПараметрыВыполнения);
Если ДлительнаяОперация.Статус = "Ошибка" Тогда Если Результат.Статус = "Ошибка" Тогда
ВызватьИсключение ДлительнаяОперация.КраткоеПредставлениеОшибки; ВызватьИсключение Результат.КраткоеПредставлениеОшибки;
КонецЕсли; КонецЕсли;
Если ДлительнаяОперация.Статус <> "Выполнено" Тогда Если Результат.Статус <> "Выполнено" Тогда
Возврат ДлительнаяОперация; Возврат Результат;
КонецЕсли; КонецЕсли;
ЗаполнитьПанельОтчетов(ДлительнаяОперация.АдресРезультата); ЗаполнитьПанельОтчетов(Результат.АдресРезультата);
Возврат ДлительнаяОперация; Возврат Результат;
КонецФункции КонецФункции
@@ -53,8 +53,10 @@
КонецЕсли; КонецЕсли;
Если Параметры.КоллекцияПечатныхФорм = Неопределено Тогда Если Параметры.КоллекцияПечатныхФорм = Неопределено Тогда
Отказ = Истина; КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
Возврат; Если Отказ Тогда
Возврат;
КонецЕсли;
Иначе Иначе
КоллекцияПечатныхФорм = Параметры.КоллекцияПечатныхФорм; КоллекцияПечатныхФорм = Параметры.КоллекцияПечатныхФорм;
ИсключитьОфисныеДокументыИзКомплектов(КоллекцияПечатныхФорм); ИсключитьОфисныеДокументыИзКомплектов(КоллекцияПечатныхФорм);
@@ -920,9 +922,7 @@
НовыйЭлемент.Вид = ВидПоляФормы.ПолеТабличногоДокумента; НовыйЭлемент.Вид = ВидПоляФормы.ПолеТабличногоДокумента;
НовыйЭлемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; НовыйЭлемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
НовыйЭлемент.ПутьКДанным = ИмяРеквизита; НовыйЭлемент.ПутьКДанным = ИмяРеквизита;
НовыйЭлемент.Вывод = ВычислитьИспользованиеВывода(ОписаниеПечатнойФормы.ТабличныйДокумент); УстановитьПараметрыПоляТабличногоДокумента(НовыйЭлемент, ОписаниеПечатнойФормы.ТабличныйДокумент);
НовыйЭлемент.Редактирование = НовыйЭлемент.Вывод = ИспользованиеВывода.Разрешить И Не ОписаниеПечатнойФормы.ТабличныйДокумент.ТолькоПросмотр;
НовыйЭлемент.Защита = Не Пользователи.РолиДоступны("РедактированиеПечатныхФорм");
// Таблица настроек печатных форм (продолжение). // Таблица настроек печатных форм (продолжение).
НоваяНастройкаПечатнойФормы.ИмяСтраницы = ИмяСтраницы; НоваяНастройкаПечатнойФормы.ИмяСтраницы = ИмяСтраницы;
@@ -944,6 +944,15 @@
КонецПроцедуры КонецПроцедуры
&НаСервере
Процедура УстановитьПараметрыПоляТабличногоДокумента(ПолеТабличногоДокумента, ТабличныйДокумент)
ПолеТабличногоДокумента.Вывод = ВычислитьИспользованиеВывода(ТабличныйДокумент);
ПолеТабличногоДокумента.Редактирование = ПолеТабличногоДокумента.Вывод = ИспользованиеВывода.Разрешить И Не ТабличныйДокумент.ТолькоПросмотр;
ПолеТабличногоДокумента.Защита = ТабличныйДокумент.Защита Или Не Пользователи.РолиДоступны("РедактированиеПечатныхФорм");
КонецПроцедуры
&НаСервере &НаСервере
Процедура СохранитьНастройкиКомплектаПоУмолчанию() Процедура СохранитьНастройкиКомплектаПоУмолчанию()
Для Каждого НастройкаПечатнойФормы Из НастройкиПечатныхФорм Цикл Для Каждого НастройкаПечатнойФормы Из НастройкиПечатныхФорм Цикл
@@ -1977,6 +1986,7 @@
Если ПечатнаяФорма.ИмяМакета = ИмяМакета Тогда Если ПечатнаяФорма.ИмяМакета = ИмяМакета Тогда
ЭтотОбъект[ИмяРеквизита] = ПечатнаяФорма.ТабличныйДокумент; ЭтотОбъект[ИмяРеквизита] = ПечатнаяФорма.ТабличныйДокумент;
ТекстОшибкиФормирования = ПечатнаяФорма.ТекстОшибкиФормирования; ТекстОшибкиФормирования = ПечатнаяФорма.ТекстОшибкиФормирования;
УстановитьПараметрыПоляТабличногоДокумента(Элементы[ИмяРеквизита], ПечатнаяФорма.ТабличныйДокумент);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -173,9 +173,12 @@
&НаСервере &НаСервере
Процедура ЗаполнитьМетки() Процедура ЗаполнитьМетки()
ДополнительныеРеквизиты = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
СсылкаНаОбъект, "ДополнительныеРеквизиты", Истина);
Метки.Очистить(); Метки.Очистить();
ЗначенияМеток = УправлениеСвойствамиСлужебный.ЗначенияСвойств( ЗначенияМеток = УправлениеСвойствамиСлужебный.ЗначенияСвойств(
СсылкаНаОбъект.ДополнительныеРеквизиты, ДополнительныеРеквизиты.Выгрузить(),
ДоступныеНаборыСвойств, ДоступныеНаборыСвойств,
Перечисления.ВидыСвойств.Метки); Перечисления.ВидыСвойств.Метки);
@@ -524,7 +524,7 @@
Если Не ЗначениеЗаполнено(Результат.Ошибка) Тогда Если Не ЗначениеЗаполнено(Результат.Ошибка) Тогда
Для Каждого ТекущийСертификат Из Результат.Сертификаты Цикл Для Каждого ТекущийСертификат Из Результат.Сертификаты Цикл
СертификатКриптографии = Новый СертификатКриптографии(); СертификатКриптографии = Новый СертификатКриптографии();
СертификатКриптографии.ИнициализироватьАсинх( Ждать СертификатКриптографии.ИнициализироватьАсинх(
Base64Значение(ПолучитьИзВременногоХранилища(ТекущийСертификат.ДанныеСертификата))); Base64Значение(ПолучитьИзВременногоХранилища(ТекущийСертификат.ДанныеСертификата)));
НоваяСтрока = ПутьСертификации.Вставить(0); НоваяСтрока = ПутьСертификации.Вставить(0);
НоваяСтрока.Представление = ЭлектроннаяПодписьКлиент.ПредставлениеСертификата(СертификатКриптографии); НоваяСтрока.Представление = ЭлектроннаяПодписьКлиент.ПредставлениеСертификата(СертификатКриптографии);
@@ -123,6 +123,32 @@
<autoCommandBar> <autoCommandBar>
<name>ФормаКоманднаяПанель</name> <name>ФормаКоманднаяПанель</name>
<id>-1</id> <id>-1</id>
<items xsi:type="form:Button">
<name>ФормаПродолжитьПопыткуУстановки</name>
<id>102</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаПродолжитьПопыткуУстановкиРасширеннаяПодсказка</name>
<id>103</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ПродолжитьПопыткуУстановки</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>Закрыть</name> <name>Закрыть</name>
<id>100</id> <id>100</id>
@@ -168,6 +194,24 @@
<enabled>true</enabled> <enabled>true</enabled>
<showTitle>auto</showTitle> <showTitle>auto</showTitle>
<showCloseButton>true</showCloseButton> <showCloseButton>true</showCloseButton>
<formCommands>
<name>ПродолжитьПопыткуУстановки</name>
<title>
<key>ru</key>
<value>Продолжить попытку установки</value>
</title>
<id>1</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПродолжитьПопыткуУстановки</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters> <parameters>
<name>ТекстПояснения</name> <name>ТекстПояснения</name>
<valueType> <valueType>
@@ -18,6 +18,17 @@
#КонецОбласти #КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ПродолжитьПопыткуУстановки(Команда)
Закрыть(Истина);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы #Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте &НаКлиенте
@@ -327,7 +327,7 @@
УдалитьРасширенияНаСервере(Контекст.ИдентификаторыРасширений); УдалитьРасширенияНаСервере(Контекст.ИдентификаторыРасширений);
Исключение Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке(); ИнформацияОбОшибке = ИнформацияОбОшибке();
ОбработкаОшибок.ПоказатьИнформациюОбОшибке(ИнформацияОбОшибке); СтандартныеПодсистемыКлиент.ПоказатьИнформациюОбОшибкеИПродолжить(ИнформацияОбОшибке);
КонецПопытки; КонецПопытки;
КонецПроцедуры КонецПроцедуры
@@ -1415,7 +1415,7 @@
Асинх Процедура Сформировать() Асинх Процедура Сформировать()
Если ЗначениеЗаполнено(ПутьКФайлуВнешнегоОтчетаНаКлиенте) И Не ЗначениеЗаполнено(АдресДвоичныхДанныхВнешнегоОтчета) Тогда Если ЗначениеЗаполнено(ПутьКФайлуВнешнегоОтчетаНаКлиенте) И Не ЗначениеЗаполнено(АдресДвоичныхДанныхВнешнегоОтчета) Тогда
Результат = Ждать ПоместитьФайлНаСерверАсинх(,,, ПутьКФайлуВнешнегоОтчетаНаКлиенте, УникальныйИдентификатор); Результат = Ждать ПоместитьФайлНаСерверАсинх(,,, ПутьКФайлуВнешнегоОтчетаНаКлиенте, УникальныйИдентификатор); // ОписаниеПомещенногоФайла
Если ТипЗнч(Результат) = Тип("ОписаниеПомещенногоФайла") И Не Результат.ПомещениеФайлаОтменено Тогда Если ТипЗнч(Результат) = Тип("ОписаниеПомещенногоФайла") И Не Результат.ПомещениеФайлаОтменено Тогда
АдресДвоичныхДанныхВнешнегоОтчета = Результат.Адрес; АдресДвоичныхДанныхВнешнегоОтчета = Результат.Адрес;
КонецЕсли; КонецЕсли;
@@ -879,8 +879,7 @@
КаталогЗапуска = КаталогИсполняемыхФайловПлатформы(); КаталогЗапуска = КаталогИсполняемыхФайловПлатформы();
Клиент = КаталогЗапуска + "rac"; Клиент = КаталогЗапуска + "rac";
СисИнфо = Новый СистемнаяИнформация(); Если ОбщегоНазначения.ЭтоWindowsСервер() Тогда
Если (СисИнфо.ТипПлатформы = ТипПлатформы.Windows_x86) Или (СисИнфо.ТипПлатформы = ТипПлатформы.Windows_x86_64) Тогда
Клиент = Клиент + ".exe"; Клиент = Клиент + ".exe";
КонецЕсли; КонецЕсли;
@@ -336,6 +336,8 @@
// * КодУчасткаИФНСЮЛ - Строка - код территориального участка инспекции ФНС, обслуживающей юридические лица. // * КодУчасткаИФНСЮЛ - Строка - код территориального участка инспекции ФНС, обслуживающей юридические лица.
// * OKATO - Строка - код общероссийского классификатора объектов административно-территориального деления. // * OKATO - Строка - код общероссийского классификатора объектов административно-территориального деления.
// * ОКТМО - Строка - код общероссийского классификатора территорий муниципальных образований. // * ОКТМО - Строка - код общероссийского классификатора территорий муниципальных образований.
// * ОКТМОБюджетополучателя- Строка - код бюджетополучателя общероссийского классификатора
// территорий муниципальных образований.
// //
Функция КодыАдреса(Адрес, Источник = Неопределено) Экспорт Функция КодыАдреса(Адрес, Источник = Неопределено) Экспорт
@@ -265,6 +265,18 @@
КонецФункции КонецФункции
// Возвращает признак, что допустимо использование только загруженных данных.
//
// Возвращаемое значение:
// Булево - если Истина, то веб-сервис для проверки и подбора адресов не используется.
//
Функция ИспользоватьТолькоЗагруженныеДанные() Экспорт
Возврат Не АдресныйКлассификаторСлужебный.ИспользоватьВебСервис();
КонецФункции
Функция СокращенияНаименованийДомов() Экспорт Функция СокращенияНаименованийДомов() Экспорт
Результат = Новый Соответствие; Результат = Новый Соответствие;
@@ -781,15 +781,15 @@
ИзвлечьСтроенияВОписаниеДома(ОписаниеДома, СведенияОДоме); ИзвлечьСтроенияВОписаниеДома(ОписаниеДома, СведенияОДоме);
ОписаниеДома.ИдентификаторДома = СведенияОДоме.id; ОписаниеДома.ИдентификаторДома = СведенияОДоме.id;
ОписаниеДома.Индекс = Формат(СведенияОДоме.ZipCode, "ЧГ=0"); ОписаниеДома.Индекс = Формат(СведенияОДоме.ZipCode, "ЧГ=0");
ОписаниеДома.ОКТМО = Формат(СведенияОДоме.oktmo, "ЧГ=0"); ОписаниеДома.ОКТМО = Формат(СведенияОДоме.oktmo, "ЧГ=0");
ОписаниеДома.ОКАТО = Формат(СведенияОДоме.okato, "ЧГ=0"); ОписаниеДома.ОКАТО = Формат(СведенияОДоме.okato, "ЧГ=0");
ОписаниеДома.КодИФНСФЛ = Формат(СведенияОДоме.ifnsFlCode, "ЧГ=0"); ОписаниеДома.КодИФНСФЛ = Формат(СведенияОДоме.ifnsFlCode, "ЧГ=0");
ОписаниеДома.КодИФНСЮЛ = Формат(СведенияОДоме.ifnsUlCode, "ЧГ=0"); ОписаниеДома.КодИФНСЮЛ = Формат(СведенияОДоме.ifnsUlCode, "ЧГ=0");
ОписаниеДома.КодУчасткаИФНСФЛ = Формат(СведенияОДоме.ifnsFlAreaCode, "ЧГ=0"); ОписаниеДома.КодУчасткаИФНСФЛ = Формат(СведенияОДоме.ifnsFlAreaCode, "ЧГ=0");
ОписаниеДома.КодУчасткаИФНСЮЛ = Формат(СведенияОДоме.ifnsUlAreaCode, "ЧГ=0"); ОписаниеДома.КодУчасткаИФНСЮЛ = Формат(СведенияОДоме.ifnsUlAreaCode, "ЧГ=0");
ОписаниеДома.ЗагруженныеДанные = Ложь; ОписаниеДома.ЗагруженныеДанные = Ложь;
ДобавитьИнформациюОДоме(ВариантыДомов, ОписаниеДома, НаименованиеЗданийИСтроений, СтрокаПоиска); ДобавитьИнформациюОДоме(ВариантыДомов, ОписаниеДома, НаименованиеЗданийИСтроений, СтрокаПоиска);
КонецЦикла; КонецЦикла;
@@ -854,15 +854,15 @@
ОписаниеУчастка = ОписаниеДомаИЗемельногоУчастка(); ОписаниеУчастка = ОписаниеДомаИЗемельногоУчастка();
ОписаниеУчастка.ИдентификаторДома = СведенияОДоме.id; ОписаниеУчастка.ИдентификаторДома = СведенияОДоме.id;
ОписаниеУчастка.НомерДома = СведенияОДоме.steadNumber; ОписаниеУчастка.НомерДома = СведенияОДоме.steadNumber;
ОписаниеУчастка.Индекс = Формат(СведенияОДоме.ZipCode, "ЧГ=0"); ОписаниеУчастка.Индекс = Формат(СведенияОДоме.ZipCode, "ЧГ=0");
ОписаниеУчастка.ОКТМО = Формат(СведенияОДоме.oktmo, "ЧГ=0"); ОписаниеУчастка.ОКТМО = Формат(СведенияОДоме.oktmo, "ЧГ=0");
ОписаниеУчастка.ОКАТО = Формат(СведенияОДоме.okato, "ЧГ=0"); ОписаниеУчастка.ОКАТО = Формат(СведенияОДоме.okato, "ЧГ=0");
ОписаниеУчастка.КодИФНСФЛ = Формат(СведенияОДоме.ifnsFlCode, "ЧГ=0"); ОписаниеУчастка.КодИФНСФЛ = Формат(СведенияОДоме.ifnsFlCode, "ЧГ=0");
ОписаниеУчастка.КодИФНСЮЛ = Формат(СведенияОДоме.ifnsUlCode, "ЧГ=0"); ОписаниеУчастка.КодИФНСЮЛ = Формат(СведенияОДоме.ifnsUlCode, "ЧГ=0");
ОписаниеУчастка.КодУчасткаИФНСФЛ = Формат(СведенияОДоме.ifnsFlAreaCode, "ЧГ=0"); ОписаниеУчастка.КодУчасткаИФНСФЛ = Формат(СведенияОДоме.ifnsFlAreaCode, "ЧГ=0");
ОписаниеУчастка.КодУчасткаИФНСЮЛ = Формат(СведенияОДоме.ifnsUlAreaCode, "ЧГ=0"); ОписаниеУчастка.КодУчасткаИФНСЮЛ = Формат(СведенияОДоме.ifnsUlAreaCode, "ЧГ=0");
НовыйУчасток = ВариантыЗемельныхУчастков.Добавить(); НовыйУчасток = ВариантыЗемельныхУчастков.Добавить();
НовыйУчасток.Значение = ОписаниеУчастка; НовыйУчасток.Значение = ОписаниеУчастка;
@@ -1261,8 +1261,8 @@
Результат.Country = НаименованиеСтраны; Результат.Country = НаименованиеСтраны;
Результат.ZIPCode = ПочтовыйИндексАдреса(АдресРФ); Результат.ZIPCode = ПочтовыйИндексАдреса(АдресРФ);
Результат.OKTMO = Формат(АдресРФ.ОКТМО, "ЧГ=0"); Результат.oktmo = Формат(АдресРФ.ОКТМО, "ЧГ=0");
Результат.OKATO = Формат(АдресРФ.ОКАТО, "ЧГ=0"); Результат.okato = Формат(АдресРФ.ОКАТО, "ЧГ=0");
СубъектРФ = НаименованиеИТипОбъекта(АдаптацияНазванияРегиона(АдресРФ.СубъектРФ)); СубъектРФ = НаименованиеИТипОбъекта(АдаптацияНазванияРегиона(АдресРФ.СубъектРФ));
Результат.Area = Строка(СубъектРФ.Наименование); Результат.Area = Строка(СубъектРФ.Наименование);
@@ -1508,11 +1508,12 @@
КонецФункции КонецФункции
// Определение кодов ОКАТО, ОКТМО, налоговых инспекций ФНС и др. адреса // Определение кодов ОКАТО, ОКТМО, налоговых инспекций ФНС и др. адреса.
// //
// Параметры: // Параметры:
// Адрес - Строка - адрес в формате JSON или XML // Адрес - Строка - адрес в формате JSON или XML
// Источник - Строка - устарело. Код сначала ищется в загруженных данных и если не найден, то в веб-сервисе. // Источник - Строка - источник получения кодов адреса, Варианты: "Сервис1С", "ЗагруженныеДанные".
// Если не указан, то код сначала ищется в загруженных данных и если не найден, то в веб-сервисе.
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - коды адреса. // Структура - коды адреса.
@@ -1640,12 +1641,18 @@
Результат.КодыАдреса.КодКЛАДР = Сведения.codeKLADR; Результат.КодыАдреса.КодКЛАДР = Сведения.codeKLADR;
Результат.КодыАдреса.Идентификатор = ИдентификаторАдресногоОбъекта(Сведения); Результат.КодыАдреса.Идентификатор = ИдентификаторАдресногоОбъекта(Сведения);
Результат.КодыАдреса.ИдентификаторДома = ?(ЗначениеЗаполнено(Сведения.houseId), Сведения.houseId, ""); Результат.КодыАдреса.ИдентификаторДома = ?(ЗначениеЗаполнено(Сведения.houseId), Сведения.houseId, "");
Результат.КодыАдреса.ОКАТО = Сведения.okato; Результат.КодыАдреса.ОКАТО = Сведения.okato;
Результат.КодыАдреса.ОКТМО = Сведения.oktmo; Результат.КодыАдреса.ОКТМО = Сведения.oktmo;
Результат.КодыАдреса.КодИФНСФЛ = Сведения.ifnsFlCode;
Результат.КодыАдреса.КодИФНСЮЛ = Сведения.ifnsUlCode; Результат.КодыАдреса.КодИФНСФЛ = Сведения.ifnsFlCode;
Результат.КодыАдреса.КодУчасткаИФНСФЛ = Сведения.ifnsFlAreaCode; Результат.КодыАдреса.КодИФНСЮЛ = Сведения.ifnsUlCode;
Результат.КодыАдреса.КодУчасткаИФНСЮЛ = Сведения.ifnsUlAreaCode; Результат.КодыАдреса.КодУчасткаИФНСФЛ = Сведения.ifnsFlAreaCode;
Результат.КодыАдреса.КодУчасткаИФНСЮЛ = Сведения.ifnsUlAreaCode;
// Свойство присутствует только в новой версии веб-сервиса адресов.
Если Сведения.Свойство("oktmoBudget") Тогда
Результат.КодыАдреса.ОКТМОБюджетополучателя = Сведения.oktmoBudget;
КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -1992,6 +1999,32 @@
Возврат ПравоДоступа("Изменение", Метаданные.РегистрыСведений.АдресныеОбъекты); Возврат ПравоДоступа("Изменение", Метаданные.РегистрыСведений.АдресныеОбъекты);
КонецФункции КонецФункции
// Устанавливает настройку использования веб-сервиса.
//
// Параметры:
// Использовать - Булево - если Ложь, то используются только загруженные данные из приложения.
// Иначе используется одновременно веб-сервис адресов и загруженные данные.
//
Процедура УстановитьИспользованиеВебСервиса(Использовать) Экспорт
Источник = ?(Использовать, "Авто", "Приложение");
Константы.ИсточникДанныхАдресногоКлассификатора.Установить(Источник);
КонецПроцедуры
// Возвращает настройку использования веб-сервиса.
//
// Возвращаемое значение:
// Булево - если Ложь, то для подбора и проверки адресов используются только загруженные данные.
// Иначе одновременно используются веб-сервис и загруженные данные.
//
Функция ИспользоватьВебСервис() Экспорт
Источник = Константы.ИсточникДанныхАдресногоКлассификатора.Получить();
Возврат СтрСравнить(Источник, "Приложение") <> 0;
КонецФункции
// Сведения об адресном объекта. // Сведения об адресном объекта.
// //
// Параметры: // Параметры:
@@ -2219,7 +2252,7 @@
// Строка - описание источника. Пустая строка - используются загружаемые в регистр данные. // Строка - описание источника. Пустая строка - используются загружаемые в регистр данные.
// //
Функция ИсточникДанныхАдресногоКлассификатора() Функция ИсточникДанныхАдресногоКлассификатора()
Возврат ПолучитьФункциональнуюОпцию("ИсточникДанныхАдресногоКлассификатора"); Возврат ПолучитьФункциональнуюОпцию("ИсточникДанныхАдресногоКлассификатора");
КонецФункции КонецФункции
@@ -3561,6 +3594,7 @@
| ДомаЗданияСтроения.Строения КАК Строения, | ДомаЗданияСтроения.Строения КАК Строения,
| ДополнительныеСведения.ПочтовыйИндекс КАК ПочтовыйИндекс, | ДополнительныеСведения.ПочтовыйИндекс КАК ПочтовыйИндекс,
| ДополнительныеСведения.ОКТМО КАК ОКТМО, | ДополнительныеСведения.ОКТМО КАК ОКТМО,
| ДополнительныеСведения.ОКТМОБюджетополучателя КАК ОКТМОБюджетополучателя,
| ДополнительныеСведения.OKATO КАК ОКАТО, | ДополнительныеСведения.OKATO КАК ОКАТО,
| ДополнительныеСведения.КодУчасткаИФНСЮЛ КАК КодУчасткаИФНСЮЛ, | ДополнительныеСведения.КодУчасткаИФНСЮЛ КАК КодУчасткаИФНСЮЛ,
| ДополнительныеСведения.КодУчасткаИФНСФЛ КАК КодУчасткаИФНСФЛ, | ДополнительныеСведения.КодУчасткаИФНСФЛ КАК КодУчасткаИФНСФЛ,
@@ -3589,6 +3623,7 @@
"ВЫБРАТЬ "ВЫБРАТЬ
| ДополнительныеСведения.ПочтовыйИндекс КАК ПочтовыйИндекс, | ДополнительныеСведения.ПочтовыйИндекс КАК ПочтовыйИндекс,
| ДополнительныеСведения.ОКТМО КАК ОКТМО, | ДополнительныеСведения.ОКТМО КАК ОКТМО,
| ДополнительныеСведения.ОКТМОБюджетополучателя КАК ОКТМОБюджетополучателя,
| ДополнительныеСведения.OKATO КАК ОКАТО, | ДополнительныеСведения.OKATO КАК ОКАТО,
| ДополнительныеСведения.КодУчасткаИФНСЮЛ КАК КодУчасткаИФНСЮЛ, | ДополнительныеСведения.КодУчасткаИФНСЮЛ КАК КодУчасткаИФНСЮЛ,
| ДополнительныеСведения.КодУчасткаИФНСФЛ КАК КодУчасткаИФНСФЛ, | ДополнительныеСведения.КодУчасткаИФНСФЛ КАК КодУчасткаИФНСФЛ,
@@ -6021,6 +6056,7 @@
Адрес.Вставить("munDistrictType"); Адрес.Вставить("munDistrictType");
Адрес.Вставить("okato"); Адрес.Вставить("okato");
Адрес.Вставить("oktmo"); Адрес.Вставить("oktmo");
Адрес.Вставить("oktmoBudget");
Адрес.Вставить("settlement"); Адрес.Вставить("settlement");
Адрес.Вставить("settlementId"); Адрес.Вставить("settlementId");
Адрес.Вставить("settlementType"); Адрес.Вставить("settlementType");
@@ -6802,6 +6838,10 @@
// //
Процедура ОпределитьИдентификаторыАдресаСервис1С(Результат, АдресДляПроверки) Процедура ОпределитьИдентификаторыАдресаСервис1С(Результат, АдресДляПроверки)
Если АдресныйКлассификаторПовтИсп.ИспользоватьТолькоЗагруженныеДанные() Тогда
Возврат;
КонецЕсли;
Сервис = АдресныйКлассификаторПовтИсп.СервисКлассификатора1С(); Сервис = АдресныйКлассификаторПовтИсп.СервисКлассификатора1С();
СписокДляПроверки = Сервис.ФабрикаXDTO.Создать(Сервис.ФабрикаXDTO.Тип(ПространствоИмен(), "AddressList")); СписокДляПроверки = Сервис.ФабрикаXDTO.Создать(Сервис.ФабрикаXDTO.Тип(ПространствоИмен(), "AddressList"));
@@ -6845,7 +6885,11 @@
ЭтоУстановкаИдентификаторов = Истина) ЭтоУстановкаИдентификаторов = Истина)
Результат = РезультатИзВебСервиса(); Результат = РезультатИзВебСервиса();
Если АдресныйКлассификаторПовтИсп.ИспользоватьТолькоЗагруженныеДанные() Тогда
Возврат Результат;
КонецЕсли;
Сервис = АдресныйКлассификаторПовтИсп.СервисКлассификатора1С(20); Сервис = АдресныйКлассификаторПовтИсп.СервисКлассификатора1С(20);
ПрефиксВерсииЗапроса = ПрефиксВерсииЗапроса(); ПрефиксВерсииЗапроса = ПрефиксВерсииЗапроса();
@@ -7078,15 +7122,16 @@
Результат.Вставить("КодыКЛАДР", КодыКЛАДР); Результат.Вставить("КодыКЛАДР", КодыКЛАДР);
Коды = Новый Структура; Коды = Новый Структура;
Коды.Вставить("КодКЛАДР", ""); Коды.Вставить("КодКЛАДР", "");
Коды.Вставить("Идентификатор", ""); Коды.Вставить("Идентификатор", "");
Коды.Вставить("ИдентификаторДома", ""); Коды.Вставить("ИдентификаторДома", "");
Коды.Вставить("ОКАТО", ""); Коды.Вставить("ОКАТО", "");
Коды.Вставить("ОКТМО", ""); Коды.Вставить("ОКТМО", "");
Коды.Вставить("КодИФНСФЛ", ""); Коды.Вставить("ОКТМОБюджетополучателя", "");
Коды.Вставить("КодИФНСЮЛ", ""); Коды.Вставить("КодИФНСФЛ", "");
Коды.Вставить("КодУчасткаИФНСФЛ", ""); Коды.Вставить("КодИФНСЮЛ", "");
Коды.Вставить("КодУчасткаИФНСЮЛ", ""); Коды.Вставить("КодУчасткаИФНСФЛ", "");
Коды.Вставить("КодУчасткаИФНСЮЛ", "");
Результат.Вставить("КодыАдреса", Коды); Результат.Вставить("КодыАдреса", Коды);
@@ -7802,18 +7847,18 @@
ОписаниеДома.Вставить("ДополнительныйТипДома1", 0); ОписаниеДома.Вставить("ДополнительныйТипДома1", 0);
ОписаниеДома.Вставить("ДополнительныйТипДома2", 0); ОписаниеДома.Вставить("ДополнительныйТипДома2", 0);
ОписаниеДома.Вставить("ТипДома", 0); ОписаниеДома.Вставить("ТипДома", 0);
ОписаниеДома.Вставить("ДомЧислом", 0); ОписаниеДома.Вставить("ДомЧислом", 0);
ОписаниеДома.Вставить("ИдентификаторДома", Неопределено); ОписаниеДома.Вставить("ИдентификаторДома", Неопределено);
ОписаниеДома.Вставить("Индекс", ""); ОписаниеДома.Вставить("Индекс", "");
ОписаниеДома.Вставить("ОКТМО", ""); ОписаниеДома.Вставить("ОКТМО", "");
ОписаниеДома.Вставить("ОКАТО", ""); ОписаниеДома.Вставить("ОКАТО", "");
ОписаниеДома.Вставить("КодИФНСФЛ", ""); ОписаниеДома.Вставить("КодИФНСФЛ", "");
ОписаниеДома.Вставить("КодИФНСЮЛ", ""); ОписаниеДома.Вставить("КодИФНСЮЛ", "");
ОписаниеДома.Вставить("КодУчасткаИФНСФЛ", ""); ОписаниеДома.Вставить("КодУчасткаИФНСФЛ", "");
ОписаниеДома.Вставить("КодУчасткаИФНСЮЛ", ""); ОписаниеДома.Вставить("КодУчасткаИФНСЮЛ", "");
ОписаниеДома.Вставить("КодКЛАДР", ""); ОписаниеДома.Вставить("КодКЛАДР", "");
ОписаниеДома.Вставить("ЗагруженныеДанные", Ложь); ОписаниеДома.Вставить("ЗагруженныеДанные", Ложь);
Возврат ОписаниеДома; Возврат ОписаниеДома;
@@ -8105,7 +8150,8 @@
Для Каждого КлючЗначение Из Результат Цикл Для Каждого КлючЗначение Из Результат Цикл
Если СтрСравнить(КлючЗначение.Ключ, "Идентификатор") <> 0 Тогда Если СтрСравнить(КлючЗначение.Ключ, "Идентификатор") <> 0 Тогда
Результат[КлючЗначение.Ключ] = Формат(КлючЗначение.Значение, "ЧГ=0"); Результат[КлючЗначение.Ключ] = Формат(КлючЗначение.Значение, "ЧГ=0");
Если СтрСравнить(КлючЗначение.Ключ, "ОКТМО") = 0 Если (СтрСравнить(КлючЗначение.Ключ, "ОКТМО") = 0
Или СтрСравнить(КлючЗначение.Ключ, "ОКТМОБюджетополучателя") = 0)
И СтрДлина(Результат[КлючЗначение.Ключ]) <> 8 И СтрДлина(Результат[КлючЗначение.Ключ]) <> 8
И СтрДлина(Результат[КлючЗначение.Ключ]) <> 11 Тогда И СтрДлина(Результат[КлючЗначение.Ключ]) <> 11 Тогда
Результат[КлючЗначение.Ключ] = "0" + Результат[КлючЗначение.Ключ]; Результат[КлючЗначение.Ключ] = "0" + Результат[КлючЗначение.Ключ];
@@ -8123,10 +8169,15 @@
КонецФункции КонецФункции
Функция ВыполнитьЗапросЧерезВебСервис(СтрокаЗапроса, ВремяОжидания = 60) Функция ВыполнитьЗапросЧерезВебСервис(СтрокаЗапроса, ВремяОжидания = 60)
Результат = НовыйОтветИзВебСервиса();
Если АдресныйКлассификаторПовтИсп.ИспользоватьТолькоЗагруженныеДанные() Тогда
Возврат Результат;
КонецЕсли;
Сервис = АдресныйКлассификаторПовтИсп.СервисКлассификатора1С(ВремяОжидания); Сервис = АдресныйКлассификаторПовтИсп.СервисКлассификатора1С(ВремяОжидания);
Результат = НовыйОтветИзВебСервиса();
ТекстURL = ПрефиксВерсииЗапроса() + СтрокаЗапроса; ТекстURL = ПрефиксВерсииЗапроса() + СтрокаЗапроса;
HTTPЗапрос = Новый HTTPЗапрос(ТекстURL); HTTPЗапрос = Новый HTTPЗапрос(ТекстURL);
@@ -8372,51 +8423,52 @@
Результат.Вставить("type", "Адрес"); Результат.Вставить("type", "Адрес");
Результат.Вставить("country", ""); Результат.Вставить("country", "");
Результат.Вставить("addressType", АдресВСвободнойФорме()); Результат.Вставить("addressType", АдресВСвободнойФорме());
Результат.Вставить("countryCode", ""); Результат.Вставить("countryCode", "");
Результат.Вставить("ZIPcode", ""); Результат.Вставить("ZIPcode", "");
Результат.Вставить("area", ""); Результат.Вставить("area", "");
Результат.Вставить("areaType", ""); Результат.Вставить("areaType", "");
Результат.Вставить("areaValue", ""); Результат.Вставить("areaValue", "");
Результат.Вставить("city", ""); Результат.Вставить("city", "");
Результат.Вставить("cityType", ""); Результат.Вставить("cityType", "");
Результат.Вставить("street", ""); Результат.Вставить("street", "");
Результат.Вставить("streetType", ""); Результат.Вставить("streetType", "");
Результат.Вставить("id", ""); Результат.Вставить("id", "");
Результат.Вставить("areaCode", ""); Результат.Вставить("areaCode", "");
Результат.Вставить("areaId", ""); Результат.Вставить("areaId", "");
Результат.Вставить("district", ""); Результат.Вставить("district", "");
Результат.Вставить("districtType", ""); Результат.Вставить("districtType", "");
Результат.Вставить("districtId", ""); Результат.Вставить("districtId", "");
Результат.Вставить("munDistrict", ""); Результат.Вставить("munDistrict", "");
Результат.Вставить("munDistrictType", ""); Результат.Вставить("munDistrictType", "");
Результат.Вставить("munDistrictId", ""); Результат.Вставить("munDistrictId", "");
Результат.Вставить("cityId", ""); Результат.Вставить("cityId", "");
Результат.Вставить("settlement", ""); Результат.Вставить("settlement", "");
Результат.Вставить("settlementType", ""); Результат.Вставить("settlementType", "");
Результат.Вставить("settlementId", ""); Результат.Вставить("settlementId", "");
Результат.Вставить("cityDistrict", ""); Результат.Вставить("cityDistrict", "");
Результат.Вставить("cityDistrictType", ""); Результат.Вставить("cityDistrictType", "");
Результат.Вставить("cityDistrictId", ""); Результат.Вставить("cityDistrictId", "");
Результат.Вставить("territory", ""); Результат.Вставить("territory", "");
Результат.Вставить("territoryType", ""); Результат.Вставить("territoryType", "");
Результат.Вставить("territoryId", ""); Результат.Вставить("territoryId", "");
Результат.Вставить("locality", ""); Результат.Вставить("locality", "");
Результат.Вставить("localityType", ""); Результат.Вставить("localityType", "");
Результат.Вставить("localityId", ""); Результат.Вставить("localityId", "");
Результат.Вставить("streetId", ""); Результат.Вставить("streetId", "");
Результат.Вставить("houseType", ""); Результат.Вставить("houseType", "");
Результат.Вставить("houseNumber", ""); Результат.Вставить("houseNumber", "");
Результат.Вставить("houseId", ""); Результат.Вставить("houseId", "");
Результат.Вставить("stead", ""); Результат.Вставить("stead", "");
Результат.Вставить("steadId", ""); Результат.Вставить("steadId", "");
Результат.Вставить("buildings", Новый Массив); Результат.Вставить("buildings", Новый Массив);
Результат.Вставить("apartments", Новый Массив); Результат.Вставить("apartments", Новый Массив);
Результат.Вставить("codeKLADR", ""); Результат.Вставить("codeKLADR", "");
Результат.Вставить("oktmo", ""); Результат.Вставить("oktmo", "");
Результат.Вставить("okato", ""); Результат.Вставить("oktmoBudget", "");
Результат.Вставить("asInDocument", ""); Результат.Вставить("okato", "");
Результат.Вставить("ifnsFLCode", ""); Результат.Вставить("asInDocument", "");
Результат.Вставить("ifnsULCode", ""); Результат.Вставить("ifnsFLCode", "");
Результат.Вставить("ifnsULCode", "");
Результат.Вставить("ifnsFLAreaCode", ""); Результат.Вставить("ifnsFLAreaCode", "");
Результат.Вставить("ifnsULAreaCode", ""); Результат.Вставить("ifnsULAreaCode", "");
Результат.Вставить("admLevels", Новый Массив); Результат.Вставить("admLevels", Новый Массив);
@@ -10295,16 +10347,16 @@
Запись = Набор.Добавить(); Запись = Набор.Добавить();
Запись.КодСубъектаРФ = КодСубъектаРФ; Запись.КодСубъектаРФ = КодСубъектаРФ;
Запись.Идентификатор = УникальныйИдентификаторИзСтроки64(ТекущаяЗапись.ЗначениеАтрибута("EXTRAGUID")); Запись.Идентификатор = УникальныйИдентификаторИзСтроки64(ТекущаяЗапись.ЗначениеАтрибута("EXTRAGUID"));
Запись.ПочтовыйИндекс = ТекущаяЗапись.ЗначениеАтрибута("POSTALCODE");
Запись.ПочтовыйИндекс = ТекущаяЗапись.ЗначениеАтрибута("POSTALCODE"); Запись.OKATO = ТекущаяЗапись.ЗначениеАтрибута("OKATO");
Запись.OKATO = ТекущаяЗапись.ЗначениеАтрибута("OKATO"); Запись.ОКТМО = ТекущаяЗапись.ЗначениеАтрибута("OKTMO");
Запись.ОКТМО = ТекущаяЗапись.ЗначениеАтрибута("OKTMO"); Запись.ОКТМОБюджетополучателя = ТекущаяЗапись.ЗначениеАтрибута("OKTMOBUDGET");
Запись.КодИФНСФЛ = ТекущаяЗапись.ЗначениеАтрибута("IFNSFL"); Запись.КодИФНСФЛ = ТекущаяЗапись.ЗначениеАтрибута("IFNSFL");
Запись.КодИФНСЮЛ = ТекущаяЗапись.ЗначениеАтрибута("IFNSUL"); Запись.КодИФНСЮЛ = ТекущаяЗапись.ЗначениеАтрибута("IFNSUL");
Запись.КодУчасткаИФНСФЛ = ТекущаяЗапись.ЗначениеАтрибута("TERRIFNSFL"); Запись.КодУчасткаИФНСФЛ = ТекущаяЗапись.ЗначениеАтрибута("TERRIFNSFL");
Запись.КодУчасткаИФНСЮЛ = ТекущаяЗапись.ЗначениеАтрибута("TERRIFNSUL"); Запись.КодУчасткаИФНСЮЛ = ТекущаяЗапись.ЗначениеАтрибута("TERRIFNSUL");
КонецЦикла; КонецЦикла;
ЗакрытьФайлЗагрузкиСубъектаРФ(ФайлЗагрузки); ЗакрытьФайлЗагрузкиСубъектаРФ(ФайлЗагрузки);
@@ -2589,9 +2589,11 @@
// //
Процедура ЗаполнитьНаименованиеПредопределенногоЭлементаВсеОбъектыАдресации() Экспорт Процедура ЗаполнитьНаименованиеПредопределенногоЭлементаВсеОбъектыАдресации() Экспорт
Ссылка = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПланыВидовХарактеристик.ОбъектыАдресацииЗадач.ВсеОбъектыАдресации, "Ссылка");
Блокировка = Новый БлокировкаДанных; Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("ПланВидовХарактеристик.ОбъектыАдресацииЗадач"); ЭлементБлокировки = Блокировка.Добавить("ПланВидовХарактеристик.ОбъектыАдресацииЗадач");
ЭлементБлокировки.УстановитьЗначение("Ссылка", ПланыВидовХарактеристик.ОбъектыАдресацииЗадач.ВсеОбъектыАдресации.Ссылка); ЭлементБлокировки.УстановитьЗначение("Ссылка", Ссылка);
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
@@ -820,6 +820,8 @@
Возврат РеквизитыКомпоненты.Linux_x86; Возврат РеквизитыКомпоненты.Linux_x86;
ИначеЕсли СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86_64 Тогда ИначеЕсли СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86_64 Тогда
Возврат РеквизитыКомпоненты.Linux_x86_64; Возврат РеквизитыКомпоненты.Linux_x86_64;
ИначеЕсли СистемнаяИнформация.ТипПлатформы = ТипПлатформы.MacOS_x86 Тогда
Возврат РеквизитыКомпоненты.MacOS_x86;
ИначеЕсли СистемнаяИнформация.ТипПлатформы = ТипПлатформы.MacOS_x86_64 Тогда ИначеЕсли СистемнаяИнформация.ТипПлатформы = ТипПлатформы.MacOS_x86_64 Тогда
Возврат РеквизитыКомпоненты.MacOS_x86_64; Возврат РеквизитыКомпоненты.MacOS_x86_64;
ИначеЕсли СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86 Тогда ИначеЕсли СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86 Тогда
@@ -37,7 +37,7 @@
Процедура ПроверитьДоступностьКомпоненты(Оповещение, Контекст) Экспорт Процедура ПроверитьДоступностьКомпоненты(Оповещение, Контекст) Экспорт
ПутьКМакетуДляПоискаПоследнейВерсии = Неопределено; ПутьКМакетуДляПоискаПоследнейВерсии = Неопределено;
ИскатьКомпонентуПоследнейВерсии = ЗначениеЗаполнено(Контекст.ИсходноеМестоположение) И НЕ Контекст.ВыполненПоискНовойВерсии; ИскатьКомпонентуПоследнейВерсии = ЗначениеЗаполнено(Контекст.ИсходноеМестоположение) И Не Контекст.ВыполненПоискНовойВерсии;
Если ИскатьКомпонентуПоследнейВерсии Тогда Если ИскатьКомпонентуПоследнейВерсии Тогда
ПутьКМакетуДляПоискаПоследнейВерсии = Контекст.ИсходноеМестоположение; ПутьКМакетуДляПоискаПоследнейВерсии = Контекст.ИсходноеМестоположение;
КонецЕсли; КонецЕсли;
@@ -86,35 +86,40 @@
Иначе Иначе
Если ТекущийКлиентПоддерживаетсяКомпонентой(Информация.Реквизиты) Тогда Результат.Вставить("Версия", Информация.Реквизиты.Версия);
Результат.Доступна = Истина; Если ИскатьКомпонентуПоследнейВерсии Тогда
Результат.Вставить("Версия", Информация.Реквизиты.Версия); ЧастиВерсии = СтрРазделить(Результат.Версия, ".");
Если ЧастиВерсии.Количество() = 4 Тогда
Если ИскатьКомпонентуПоследнейВерсии Тогда // Версия внешней компоненты больше, чем версия макета.
ЧастиВерсии = СтрРазделить(Результат.Версия, "."); Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(Результат.Версия,
Если ЧастиВерсии.Количество() = 4 Тогда Результат.КомпонентаПоследнейВерсии.Версия) > 0 Тогда
// Версия внешней компоненты больше, чем версия макета.
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(Результат.Версия,
Результат.КомпонентаПоследнейВерсии.Версия) > 0 Тогда
Результат.КомпонентаПоследнейВерсии = Новый Структура("Идентификатор, Версия, Местоположение",
Контекст.Идентификатор, Результат.Версия, Информация.Местоположение);
КонецЕсли;
Иначе
// Если номер версии компоненты не соответствует шаблону, используется компонента из справочника.
Результат.КомпонентаПоследнейВерсии = Новый Структура("Идентификатор, Версия, Местоположение", Результат.КомпонентаПоследнейВерсии = Новый Структура("Идентификатор, Версия, Местоположение",
Контекст.Идентификатор, Результат.Версия, Информация.Местоположение); Контекст.Идентификатор, Результат.Версия, Информация.Местоположение);
КонецЕсли; КонецЕсли;
Иначе
// Если номер версии компоненты не соответствует шаблону, используется компонента из справочника.
Результат.КомпонентаПоследнейВерсии = Новый Структура("Идентификатор, Версия, Местоположение",
Контекст.Идентификатор, Результат.Версия, Информация.Местоположение);
КонецЕсли; КонецЕсли;
КонецЕсли;
Если ТекущийКлиентПоддерживаетсяКомпонентой(Информация.Реквизиты) Тогда
Результат.Доступна = Истина;
ВыполнитьОбработкуОповещения(Оповещение, Результат); ВыполнитьОбработкуОповещения(Оповещение, Результат);
Иначе Иначе
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Оповещение", Оповещение);
ПараметрыОповещения.Вставить("Результат", Результат);
ОповещениеФормы = Новый ОписаниеОповещения( ОповещениеФормы = Новый ОписаниеОповещения(
"ПроверитьДоступностьКомпонентыПослеОтображенияДоступныхВидовКлиентов", "ПроверитьДоступностьКомпонентыПослеОтображенияДоступныхВидовКлиентов",
ЭтотОбъект, ЭтотОбъект,
Оповещение); ПараметрыОповещения);
ПараметрыФормы = Новый Структура; ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ТекстПояснения", Контекст.ТекстПояснения); ПараметрыФормы.Вставить("ТекстПояснения", Контекст.ТекстПояснения);
@@ -132,7 +137,7 @@
// Параметры: // Параметры:
// Контекст - см. ОбщегоНазначенияСлужебныйКлиент.КонтекстПодключенияКомпоненты // Контекст - см. ОбщегоНазначенияСлужебныйКлиент.КонтекстПодключенияКомпоненты
// //
Функция РезультатПроверкиДоступностиКомпоненты(Контекст) Экспорт Асинх Функция РезультатПроверкиДоступностиКомпоненты(Контекст) Экспорт
ПутьКМакетуДляПоискаПоследнейВерсии = Неопределено; ПутьКМакетуДляПоискаПоследнейВерсии = Неопределено;
ИскатьКомпонентуПоследнейВерсии = ЗначениеЗаполнено(Контекст.ИсходноеМестоположение) И Не Контекст.ВыполненПоискНовойВерсии; ИскатьКомпонентуПоследнейВерсии = ЗначениеЗаполнено(Контекст.ИсходноеМестоположение) И Не Контекст.ВыполненПоискНовойВерсии;
@@ -168,32 +173,53 @@
Иначе Иначе
Если ТекущийКлиентПоддерживаетсяКомпонентой(Информация.Реквизиты) Тогда Результат.Вставить("Версия", Информация.Реквизиты.Версия);
Результат.Доступна = Истина; Если ИскатьКомпонентуПоследнейВерсии Тогда
Результат.Вставить("Версия", Информация.Реквизиты.Версия); ЧастиВерсии = СтрРазделить(Результат.Версия, ".");
Если ЧастиВерсии.Количество() = 4 Тогда
Если ИскатьКомпонентуПоследнейВерсии Тогда // Версия внешней компоненты больше, чем версия макета.
ЧастиВерсии = СтрРазделить(Результат.Версия, "."); Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(Результат.Версия,
Если ЧастиВерсии.Количество() = 4 Тогда Результат.КомпонентаПоследнейВерсии.Версия) > 0 Тогда
// Версия внешней компоненты больше, чем версия макета.
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(Результат.Версия,
Результат.КомпонентаПоследнейВерсии.Версия) > 0 Тогда
Результат.КомпонентаПоследнейВерсии = Новый Структура("Идентификатор, Версия, Местоположение",
Контекст.Идентификатор, Результат.Версия, Информация.Местоположение);
КонецЕсли;
Иначе
// Если номер версии компоненты не соответствует шаблону, используется компонента из справочника.
Результат.КомпонентаПоследнейВерсии = Новый Структура("Идентификатор, Версия, Местоположение", Результат.КомпонентаПоследнейВерсии = Новый Структура("Идентификатор, Версия, Местоположение",
Контекст.Идентификатор, Результат.Версия, Информация.Местоположение); Контекст.Идентификатор, Результат.Версия, Информация.Местоположение);
КонецЕсли; КонецЕсли;
Иначе
// Если номер версии компоненты не соответствует шаблону, используется компонента из справочника.
Результат.КомпонентаПоследнейВерсии = Новый Структура("Идентификатор, Версия, Местоположение",
Контекст.Идентификатор, Результат.Версия, Информация.Местоположение);
КонецЕсли; КонецЕсли;
КонецЕсли;
Если ТекущийКлиентПоддерживаетсяКомпонентой(Информация.Реквизиты) Тогда
Результат.Доступна = Истина;
Возврат Результат; Возврат Результат;
Иначе Иначе
Результат.ОписаниеОшибки = ТекстУстановкаВнешнейКомпонентыНевозможна(Контекст.ТекстПояснения); КнопкиВопроса = Новый СписокЗначений;
КнопкиВопроса.Добавить("Закрыть", НСтр("ru = 'Закрыть'"));
КнопкиВопроса.Добавить("ПродолжитьПопыткуУстановки", НСтр("ru = 'Продолжить попытку установки'"));
ЗаголовокВопроса = Контекст.ТекстПояснения;
Если ПустаяСтрока(ЗаголовокВопроса) Тогда
ЗаголовокВопроса = НСтр("ru = 'Установка внешней компоненты невозможна.'");
КонецЕсли;
ОписаниеОшибки = СтроковыеФункцииКлиент.ФорматированнаяСтрока(
НСтр("ru = 'Не предусмотрена работа внешней компоненты
|в клиентском приложении <b>%1</b>.
|Обратитесь к разработчику внешней компоненты.'"), ПредставлениеТекущегоКлиента());
Ответ = Ждать ВопросАсинх(ОписаниеОшибки, КнопкиВопроса,, "Закрыть", ЗаголовокВопроса);
Если Ответ = "ПродолжитьПопыткуУстановки" Тогда
Результат.Доступна = Истина;
Иначе
Результат.Доступна = Ложь;
Результат.ОписаниеОшибки = ОписаниеОшибки;
КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -238,9 +264,11 @@
КонецПроцедуры КонецПроцедуры
Процедура ПроверитьДоступностьКомпонентыПослеОтображенияДоступныхВидовКлиентов(Результат, Оповещение) Экспорт Процедура ПроверитьДоступностьКомпонентыПослеОтображенияДоступныхВидовКлиентов(Результат, Контекст) Экспорт
ВыполнитьОбработкуОповещения(Оповещение, РезультатДоступностиКомпоненты()); РезультатДоступностиКомпоненты = Контекст.Результат;
РезультатДоступностиКомпоненты.Доступна = Результат = Истина;
ВыполнитьОбработкуОповещения(Контекст.Оповещение, РезультатДоступностиКомпоненты);
КонецПроцедуры КонецПроцедуры
@@ -493,7 +521,7 @@
// //
Асинх Функция ПодключитьКомпонентуАсинх(Контекст) Экспорт Асинх Функция ПодключитьКомпонентуАсинх(Контекст) Экспорт
Результат = РезультатПроверкиДоступностиКомпоненты(Контекст); Результат = Ждать РезультатПроверкиДоступностиКомпоненты(Контекст);
Если Результат.Доступна Тогда Если Результат.Доступна Тогда
Возврат Ждать ОбщегоНазначенияСлужебныйКлиент.ПодключитьКомпонентуАсинх(Контекст); Возврат Ждать ОбщегоНазначенияСлужебныйКлиент.ПодключитьКомпонентуАсинх(Контекст);
@@ -789,7 +817,7 @@
// //
Асинх Функция УстановитьКомпонентуАсинх(Контекст) Экспорт Асинх Функция УстановитьКомпонентуАсинх(Контекст) Экспорт
РезультатПроверки = РезультатПроверкиДоступностиКомпоненты(Контекст); РезультатПроверки = Ждать РезультатПроверкиДоступностиКомпоненты(Контекст);
Если РезультатПроверки.Доступна Тогда Если РезультатПроверки.Доступна Тогда
Возврат Ждать ОбщегоНазначенияСлужебныйКлиент.УстановитьКомпонентуАсинх(Контекст); Возврат Ждать ОбщегоНазначенияСлужебныйКлиент.УстановитьКомпонентуАсинх(Контекст);
@@ -83,7 +83,7 @@
ОткрытьФорму("ОбщаяФорма.ДлительнаяОперация", РасширенныеПараметры, ОткрытьФорму("ОбщаяФорма.ДлительнаяОперация", РасширенныеПараметры,
?(ПараметрыОжидания <> Неопределено, ПараметрыОжидания.ФормаВладелец, Неопределено), ?(ПараметрыОжидания <> Неопределено, ПараметрыОжидания.ФормаВладелец, Неопределено),
,,,ОповещениеОЗакрытии); ,,,ОповещениеОЗакрытии, РасширенныеПараметры.РежимОткрытияОкнаОжидания);
Иначе Иначе
РасширенныеПараметры.Вставить("НакопленныеСообщения", Новый Массив); РасширенныеПараметры.Вставить("НакопленныеСообщения", Новый Массив);
РасширенныеПараметры.Вставить("ОповещениеОЗавершении", ОповещениеОЗавершении); РасширенныеПараметры.Вставить("ОповещениеОЗавершении", ОповещениеОЗавершении);
@@ -146,7 +146,7 @@
// центр оповещений. // центр оповещений.
// //
// * ОтменятьПриЗакрытииФормыВладельца - Булево - по умолчанию ФормаВладелец.Открыта(), Ложь если форма не указана. // * ОтменятьПриЗакрытииФормыВладельца - Булево - по умолчанию ФормаВладелец.Открыта(), Ложь если форма не указана.
// Если Ложь, тогда длительная операция не будет отменена при закрытии формы владельца. // Если Ложь, тогда длительная операция не будет отменена при закрытии формы владельца и при закрытии окна ожидания.
// //
// * ПолучатьРезультат - Булево - служебный параметр. Не предназначен для использования. // * ПолучатьРезультат - Булево - служебный параметр. Не предназначен для использования.
// //
@@ -158,6 +158,7 @@
Результат.Вставить("Заголовок", ""); Результат.Вставить("Заголовок", "");
Результат.Вставить("НомерПопытки", 1); Результат.Вставить("НомерПопытки", 1);
Результат.Вставить("ВыводитьОкноОжидания", Истина); Результат.Вставить("ВыводитьОкноОжидания", Истина);
Результат.Вставить("РежимОткрытияОкнаОжидания", Неопределено);
Результат.Вставить("ВыводитьПрогрессВыполнения", Ложь); Результат.Вставить("ВыводитьПрогрессВыполнения", Ложь);
Результат.Вставить("ОповещениеОПрогрессеВыполнения", Неопределено); Результат.Вставить("ОповещениеОПрогрессеВыполнения", Неопределено);
Результат.Вставить("ВыводитьСообщения", Ложь); Результат.Вставить("ВыводитьСообщения", Ложь);
@@ -631,7 +632,7 @@
НСтр("ru = 'Длительные операции.Ошибка вызова обработчика события'", НСтр("ru = 'Длительные операции.Ошибка вызова обработчика события'",
ОбщегоНазначенияКлиент.КодОсновногоЯзыка()), ОбщегоНазначенияКлиент.КодОсновногоЯзыка()),
"Ошибка", ТекстОшибки,, Истина); "Ошибка", ТекстОшибки,, Истина);
ОбработкаОшибок.ПоказатьИнформациюОбОшибке(ИнформацияОбОшибке); СтандартныеПодсистемыКлиент.ПоказатьИнформациюОбОшибкеИПродолжить(ИнформацияОбОшибке)
КонецПопытки; КонецПопытки;
КонецПроцедуры КонецПроцедуры
@@ -139,8 +139,9 @@
КонецЕсли; КонецЕсли;
// Получение экземпляра объекта. // Получение экземпляра объекта.
Если Ссылка.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.Отчет Вид = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Вид");
ИЛИ Ссылка.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет Тогда Если Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.Отчет
ИЛИ Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет Тогда
Менеджер = ВнешниеОтчеты; Менеджер = ВнешниеОтчеты;
Иначе Иначе
Менеджер = ВнешниеОбработки; Менеджер = ВнешниеОбработки;
@@ -145,7 +145,7 @@
КонецФункции КонецФункции
// Параметры: // Параметры:
// Объект - СправочникСсылка.ДополнительныеОтчетыИОбработки // Объект - СправочникОбъект.ДополнительныеОтчетыИОбработки
// ЗначениеФО - Булево // ЗначениеФО - Булево
// - Неопределено // - Неопределено
// ПометкаУдаления - Булево // ПометкаУдаления - Булево
@@ -524,8 +524,7 @@
Набор.Записать(); Набор.Записать();
Если ПоставляемаяОбработкаСуществует Тогда Если ПоставляемаяОбработкаСуществует Тогда
АктуальныеКоманды = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПоставляемаяОбработка, "Команды").Выгрузить();
АктуальныеКоманды = ПоставляемаяОбработка.Команды.Выгрузить();
АктуальныеКоманды.Колонки.Добавить("РегламентноеЗаданиеРасписание", Новый ОписаниеТипов("СписокЗначений")); АктуальныеКоманды.Колонки.Добавить("РегламентноеЗаданиеРасписание", Новый ОписаниеТипов("СписокЗначений"));
АктуальныеКоманды.Колонки.Добавить("РегламентноеЗаданиеИспользование", Новый ОписаниеТипов("Булево")); АктуальныеКоманды.Колонки.Добавить("РегламентноеЗаданиеИспользование", Новый ОписаниеТипов("Булево"));
АктуальныеКоманды.Колонки.Добавить("РегламентноеЗаданиеGUID", Новый ОписаниеТипов("УникальныйИдентификатор")); АктуальныеКоманды.Колонки.Добавить("РегламентноеЗаданиеGUID", Новый ОписаниеТипов("УникальныйИдентификатор"));
@@ -95,4 +95,12 @@
Возврат НСтр("ru = 'Да'"); Возврат НСтр("ru = 'Да'");
КонецФункции КонецФункции
Функция ПрефиксТаблицыСопоставления() Экспорт
Возврат "ТаблицаСопоставленияДанных";
КонецФункции
Функция ПрефиксТабличнойЧасти() Экспорт
Возврат "ТЧ";
КонецФункции
#КонецОбласти #КонецОбласти
@@ -101,13 +101,21 @@
// См. ОтчетыКлиентПереопределяемый.ОбработкаРасшифровки. // См. ОтчетыКлиентПереопределяемый.ОбработкаРасшифровки.
Процедура ПриОбработкеРасшифровки(ФормаОтчета, Элемент, Расшифровка, СтандартнаяОбработка) Экспорт Процедура ПриОбработкеРасшифровки(ФормаОтчета, Элемент, Расшифровка, СтандартнаяОбработка) Экспорт
Если ФормаОтчета.НастройкиОтчета.ПолноеИмя = "Отчет.РезультатыПроверкиУчета" Тогда Если ФормаОтчета.НастройкиОтчета.ПолноеИмя <> "Отчет.РезультатыПроверкиУчета" Тогда
Расшифровка = ФормаОтчета.ОтчетТабличныйДокумент.ТекущаяОбласть.Расшифровка; Возврат;
Результат = КонтрольВеденияУчетаВызовСервера.РасшифровкаВыделеннойЯчейки(ФормаОтчета.ОтчетДанныеРасшифровки, ФормаОтчета.ОтчетТабличныйДокумент, Расшифровка); КонецЕсли;
Если Результат <> Неопределено Тогда
СтандартнаяОбработка = Ложь; ТекущаяОбласть = ФормаОтчета.ОтчетТабличныйДокумент.ТекущаяОбласть;
ПоказатьЗначение(, Результат.ПроблемныйОбъект); Если ТипЗнч(ТекущаяОбласть) <> Тип("ОбластьЯчеекТабличногоДокумента")
КонецЕсли; Или ТекущаяОбласть.ТипОбласти <> ТипОбластиЯчеекТабличногоДокумента.Прямоугольник Тогда
Возврат;
КонецЕсли;
Результат = КонтрольВеденияУчетаВызовСервера.РасшифровкаВыделеннойЯчейки(ФормаОтчета.ОтчетДанныеРасшифровки,
ФормаОтчета.ОтчетТабличныйДокумент, ТекущаяОбласть.Расшифровка);
Если Результат <> Неопределено Тогда
СтандартнаяОбработка = Ложь;
ПоказатьЗначение(, Результат.ПроблемныйОбъект);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -120,35 +128,45 @@
// //
Процедура ПриОбработкеКоманды(ФормаОтчета, Команда, Результат) Экспорт Процедура ПриОбработкеКоманды(ФормаОтчета, Команда, Результат) Экспорт
Если ФормаОтчета.НастройкиОтчета.ПолноеИмя = "Отчет.РезультатыПроверкиУчета" Тогда Если ФормаОтчета.НастройкиОтчета.ПолноеИмя <> "Отчет.РезультатыПроверкиУчета" Тогда
ТекстНеуспешногоДействия = НСтр("ru = 'Выберите строку с проблемным объектом.'"); Возврат;
Расшифровка = ?(ФормаОтчета.ОтчетТабличныйДокумент.ТекущаяОбласть.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Прямоугольник, КонецЕсли;
ФормаОтчета.ОтчетТабличныйДокумент.ТекущаяОбласть.Расшифровка, Неопределено);
Если Команда.Имя = "КонтрольВеденияУчетаИсторияИзмененийОбъекта" Тогда ТекстНеуспешногоДействия = НСтр("ru = 'Выберите строку с проблемным объектом.'");
Результат = КонтрольВеденияУчетаВызовСервера.ДанныеДляИсторииИзмененийОбъекта(ФормаОтчета.ОтчетДанныеРасшифровки, ФормаОтчета.ОтчетТабличныйДокумент, Расшифровка); ТекущаяОбласть = ФормаОтчета.ОтчетТабличныйДокумент.ТекущаяОбласть;
Если Результат <> Неопределено Тогда Если ТипЗнч(ТекущаяОбласть) <> Тип("ОбластьЯчеекТабличногоДокумента")
Если Результат.Версионируется Тогда Или ТекущаяОбласть.ТипОбласти <> ТипОбластиЯчеекТабличногоДокумента.Прямоугольник Тогда
МодульВерсионированиеОбъектовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ВерсионированиеОбъектовКлиент"); ПоказатьПредупреждение(, ТекстНеуспешногоДействия);
МодульВерсионированиеОбъектовКлиент.ПоказатьИсториюИзменений(Результат.Ссылка, ФормаОтчета); Возврат;
Иначе КонецЕсли;
События = Новый Массив;
События.Добавить("_$Data$_.Delete"); Если Команда.Имя = "КонтрольВеденияУчетаИсторияИзмененийОбъекта" Тогда
События.Добавить("_$Data$_.New"); Результат = КонтрольВеденияУчетаВызовСервера.ДанныеДляИсторииИзмененийОбъекта(ФормаОтчета.ОтчетДанныеРасшифровки,
События.Добавить("_$Data$_.Update"); ФормаОтчета.ОтчетТабличныйДокумент, ТекущаяОбласть.Расшифровка);
Отбор = Новый Структура; Если Результат = Неопределено Тогда
Отбор.Вставить("Данные", Результат.Ссылка); ПоказатьПредупреждение(, ТекстНеуспешногоДействия);
Отбор.Вставить("СобытиеЖурналаРегистрации", События); Возврат;
Отбор.Вставить("ДатаНачала", НачалоМесяца(ТекущаяДата())); // АПК:143 ТекущаяДата() для отбора журнала регистрации КонецЕсли;
ЖурналРегистрацииКлиент.ОткрытьЖурналРегистрации(Отбор);
КонецЕсли; Если Результат.Версионируется Тогда
Иначе МодульВерсионированиеОбъектовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ВерсионированиеОбъектовКлиент");
ПоказатьПредупреждение(, ТекстНеуспешногоДействия); МодульВерсионированиеОбъектовКлиент.ПоказатьИсториюИзменений(Результат.Ссылка, ФормаОтчета);
КонецЕсли; Иначе
ИначеЕсли Команда.Имя = "КонтрольВеденияУчетаИгнорироватьПроблему" Тогда События = Новый Массив;
ПроблемаПроигнорирована = КонтрольВеденияУчетаВызовСервера.ИгнорироватьПроблему(ФормаОтчета.ОтчетДанныеРасшифровки, ФормаОтчета.ОтчетТабличныйДокумент, Расшифровка); События.Добавить("_$Data$_.Delete");
Если Не ПроблемаПроигнорирована Тогда События.Добавить("_$Data$_.New");
ПоказатьПредупреждение(, ТекстНеуспешногоДействия); События.Добавить("_$Data$_.Update");
КонецЕсли; Отбор = Новый Структура;
Отбор.Вставить("Данные", Результат.Ссылка);
Отбор.Вставить("СобытиеЖурналаРегистрации", События);
Отбор.Вставить("ДатаНачала", НачалоМесяца(ТекущаяДата())); // АПК:143 ТекущаяДата() для отбора журнала регистрации
ЖурналРегистрацииКлиент.ОткрытьЖурналРегистрации(Отбор);
КонецЕсли;
ИначеЕсли Команда.Имя = "КонтрольВеденияУчетаИгнорироватьПроблему" Тогда
ПроблемаПроигнорирована = КонтрольВеденияУчетаВызовСервера.ИгнорироватьПроблему(ФормаОтчета.ОтчетДанныеРасшифровки,
ФормаОтчета.ОтчетТабличныйДокумент, ТекущаяОбласть.Расшифровка);
Если Не ПроблемаПроигнорирована Тогда
ПоказатьПредупреждение(, ТекстНеуспешногоДействия);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -83,7 +83,7 @@
// * Фамилия - Строка // * Фамилия - Строка
// * Имя - Строка // * Имя - Строка
// * Отчество - Строка // * Отчество - Строка
// * Пол - Строка // * Пол - Число - 1 - мужской, 2 - женский
// * ИННФЛ - Строка // * ИННФЛ - Строка
// * СтраховойНомерПФР - Строка // * СтраховойНомерПФР - Строка
// * АдресРегистрации - Строка // * АдресРегистрации - Строка
@@ -103,6 +103,7 @@
// * ДокументКодПодразделения - Строка // * ДокументКодПодразделения - Строка
// * ДокументСрокДействия - Строка // * ДокументСрокДействия - Строка
// * Гражданство - СправочникСсылка.СтраныМира // * Гражданство - СправочникСсылка.СтраныМира
// * БезГражданства - Булево
// * МестоРождения - Строка // * МестоРождения - Строка
// * НомерЗаписиЕдиногоРегистраНаселения - Строка // * НомерЗаписиЕдиногоРегистраНаселения - Строка
// //
@@ -1235,38 +1235,95 @@
МодульОрганизацииСервер = ОбщегоНазначения.ОбщийМодуль("ОрганизацииСервер"); МодульОрганизацииСервер = ОбщегоНазначения.ОбщийМодуль("ОрганизацииСервер");
СведенияОбОрганизации = МодульОрганизацииСервер.СведенияОбОрганизации(Реквизиты.Ссылка,, ТекущаяДатаСеанса()); СведенияОбОрганизации = МодульОрганизацииСервер.СведенияОбОрганизации(Реквизиты.Ссылка,, ТекущаяДатаСеанса());
Реквизиты.ИНН = СведенияОбОрганизации.ИНН; ЭтоИП = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ЭтоИП", Ложь);
Реквизиты.НаименованиеПолное = СведенияОбОрганизации.НаименованиеПолное;
Реквизиты.НаименованиеСокращенное = СведенияОбОрганизации.НаименованиеСокращенное;
Реквизиты.ОГРН = СведенияОбОрганизации.ОГРН;
Реквизиты.Телефон = СведенияОбОрганизации.ТелефонОрганизации;
Реквизиты.ЮридическийАдрес = СведенияОбОрганизации.АдресОрганизации;
Реквизиты.ЛицоБезДоверенности = СведенияОбОрганизации.Директор;
Если Реквизиты.ЭтоИндивидуальныйПредприниматель Тогда Если ЭтоИП Тогда
Реквизиты.ЛицоБезДоверенности = СведенияОбОрганизации.ИндивидуальныйПредприниматель;
ВидУчастника = "ИндивидуальныйПредприниматель"; Реквизиты.ЭтоИндивидуальныйПредприниматель = Истина;
Иначе Реквизиты.НаименованиеПолное = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ИПНаименование", "");
Если ЗначениеЗаполнено(СведенияОбОрганизации.Директор) Тогда Реквизиты.НаименованиеСокращенное = Реквизиты.НаименованиеПолное;
Реквизиты.ЛицоБезДоверенности = СведенияОбОрганизации.Директор; Реквизиты.ИНН = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ИндивидуальныйПредпринимательИНН", "");
ВидУчастника = "ДолжностноеЛицо"; Реквизиты.ОГРН = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ОГРН", "");
Реквизиты.ЭлектроннаяПочта = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ИПАдресЭлектроннойПочты", "");
Если ЗначениеЗаполнено(Реквизиты.ЭлектроннаяПочта) И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
Реквизиты.ЭлектроннаяПочтаЗначение = МодульУправлениеКонтактнойИнформацией.КонтактнаяИнформацияВJSON(
Реквизиты.ЭлектроннаяПочта, Перечисления["ТипыКонтактнойИнформации"].АдресЭлектроннойПочты);
КонецЕсли; КонецЕсли;
Реквизиты.КПП = СведенияОбОрганизации.КПП;
КонецЕсли; Реквизиты.Телефон = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ТелефонОрганизации", "");
Если ЗначениеЗаполнено(Реквизиты.Телефон) И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
Если ЗначениеЗаполнено(Реквизиты.ЛицоБезДоверенности) Тогда МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
РеквизитыЛицаБезДоверенности = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РеквизитыУчастника( Реквизиты.ТелефонЗначение = МодульУправлениеКонтактнойИнформацией.КонтактнаяИнформацияВJSON(
"ФизическоеЛицо", Реквизиты.ЛицоБезДоверенности, ВидУчастника, Истина); Реквизиты.Телефон, Перечисления["ТипыКонтактнойИнформации"].Телефон);
Если ВидУчастника = "ДолжностноеЛицо" Тогда КонецЕсли;
РеквизитыЛицаБезДоверенности.ДолжностьЛицаБезДоверенности = НСтр("ru = 'Генеральный директор'");
Реквизиты.ЛицоБезДоверенности = Неопределено;
РеквизитыЛицаБезДоверенности = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РеквизитыУчастника("ФизическоеЛицо", Неопределено, "ИндивидуальныйПредприниматель");
ФИО = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ФизическоеЛицоНаименование", "");
Если ЗначениеЗаполнено(ФИО) Тогда
ФИО = ФизическиеЛицаКлиентСервер.ЧастиИмени(ФИО);
РеквизитыЛицаБезДоверенности.Фамилия = ФИО.Фамилия;
РеквизитыЛицаБезДоверенности.Имя = ФИО.Имя;
РеквизитыЛицаБезДоверенности.Отчество = ФИО.Имя;
Иначе
РеквизитыЛицаБезДоверенности.Фамилия = "";
РеквизитыЛицаБезДоверенности.Имя = "";
РеквизитыЛицаБезДоверенности.Отчество = "";
КонецЕсли;
РеквизитыЛицаБезДоверенности.Пол = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ФизическоеЛицоПол", "");
РеквизитыЛицаБезДоверенности.СтраховойНомерПФР = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ИПРегистрационныйНомерПФР", "");
РеквизитыЛицаБезДоверенности.АдресРегистрации = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "АдресРегистрации", "");
РеквизитыЛицаБезДоверенности.АдресРегистрацииЗначение = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "АдресРегистрацииJSON", "");
РеквизитыЛицаБезДоверенности.ЭлектроннаяПочта = Реквизиты.ЭлектроннаяПочта;
РеквизитыЛицаБезДоверенности.ЭлектроннаяПочтаЗначение = Реквизиты.ЭлектроннаяПочтаЗначение;
РеквизитыЛицаБезДоверенности.Телефон = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ДомашнийТелефонФизЛица", "");
Если ЗначениеЗаполнено(РеквизитыЛицаБезДоверенности.Телефон) И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
РеквизитыЛицаБезДоверенности.ТелефонЗначение = МодульУправлениеКонтактнойИнформацией.КонтактнаяИнформацияВJSON(
Реквизиты.Телефон, Перечисления["ТипыКонтактнойИнформации"].Телефон);
КонецЕсли; КонецЕсли;
РеквизитыЛицаБезДоверенности.ЭтоДолжностноеЛицо = ВидУчастника = "ДолжностноеЛицо";
РеквизитыЛицаБезДоверенности.ЭтоИндивидуальныйПредприниматель = ВидУчастника = "ИндивидуальныйПредприниматель";
МашиночитаемыеДоверенностиФНСПереопределяемый.ПриЗаполненииРеквизитовФизическогоЛица(Реквизиты.ЛицоБезДоверенности,
РеквизитыЛицаБезДоверенности);
Реквизиты.РеквизитыЛицаБезДоверенности = РеквизитыЛицаБезДоверенности;
КонецЕсли;
РеквизитыЛицаБезДоверенности.ДатаРождения = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ИПДатаРождения", "");
РеквизитыЛицаБезДоверенности.ДокументВид = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ИПКодУдостоверенияЛичности", "");
РеквизитыЛицаБезДоверенности.ДокументНомер = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ИПСерияУдостоверенияЛичности", "")
+ ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ИПНомерУдостоверенияЛичности", "");
РеквизитыЛицаБезДоверенности.ДокументКемВыдан = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ИПКемВыданУдостоверенияЛичности", "");
РеквизитыЛицаБезДоверенности.ДокументДатаВыдачи = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ИПДатаВыдачиУдостоверенияЛичности", "");
РеквизитыЛицаБезДоверенности.ДокументКодПодразделения = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ИПКодПодразделенияУдостоверенияЛичности", "");
РеквизитыЛицаБезДоверенности.ДокументСрокДействия = Дата(1,1,1);
КодСтраны = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ИПГражданствоКод", "");
НаименованиеСтраны = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ИПГражданствоНаименование", "");
Если ЗначениеЗаполнено(КодСтраны) Или ЗначениеЗаполнено(НаименованиеСтраны) Тогда
ДанныеСтраныМира = УправлениеКонтактнойИнформацией.ДанныеСтраныМира(КодСтраны, НаименованиеСтраны);
Если ДанныеСтраныМира <> Неопределено Тогда
РеквизитыЛицаБезДоверенности.Гражданство = ДанныеСтраныМира.Ссылка;
КонецЕсли;
КонецЕсли;
РеквизитыЛицаБезДоверенности.БезГражданства = Ложь;
РеквизитыЛицаБезДоверенности.МестоРождения = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(СведенияОбОрганизации, "ИПМестоРождения", "");
РеквизитыЛицаБезДоверенности.НомерЗаписиЕдиногоРегистраНаселения = "";
Реквизиты.РеквизитыЛицаБезДоверенности = РеквизитыЛицаБезДоверенности;
Иначе
Реквизиты.ИНН = СведенияОбОрганизации.ИНН;
Реквизиты.НаименованиеПолное = СведенияОбОрганизации.НаименованиеПолное;
Реквизиты.НаименованиеСокращенное = СведенияОбОрганизации.НаименованиеСокращенное;
Реквизиты.ОГРН = СведенияОбОрганизации.ОГРН;
Реквизиты.Телефон = СведенияОбОрганизации.ТелефонОрганизации;
Реквизиты.ЮридическийАдрес = СведенияОбОрганизации.АдресОрганизации;
Реквизиты.КПП = СведенияОбОрганизации.КПП;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
Функция ПроверитьСведенияОбОрганизации(Форма, ПолеСообщения = "", ШаблонСообщения = "%1:", СведенияОбОрганизации = Неопределено) Экспорт Функция ПроверитьСведенияОбОрганизации(Форма, ПолеСообщения = "", ШаблонСообщения = "%1:", СведенияОбОрганизации = Неопределено) Экспорт
@@ -31,6 +31,7 @@
Если Не МодульАдресныйКлассификаторСлужебный.ЕстьПравоДобавлениеИзменениеАдресныхСведений() Тогда Если Не МодульАдресныйКлассификаторСлужебный.ЕстьПравоДобавлениеИзменениеАдресныхСведений() Тогда
Элементы.АдресныйКлассификаторНастройки.Видимость = Ложь; Элементы.АдресныйКлассификаторНастройки.Видимость = Ложь;
КонецЕсли; КонецЕсли;
Форма.ИспользоватьВебСервисАдресов = МодульАдресныйКлассификаторСлужебный.ИспользоватьВебСервис();
Иначе Иначе
Элементы.АдресныйКлассификаторНастройки.Видимость = Ложь; Элементы.АдресныйКлассификаторНастройки.Видимость = Ложь;
КонецЕсли; КонецЕсли;
@@ -151,6 +152,24 @@
КонецПроцедуры КонецПроцедуры
// Сохраняет значение константы использования веб-сервиса адресов
// в панели администрирования "Интернет-поддержка и сервисы" БСП и БИП.
//
// Параметры:
// ИспользоватьВебСервисАдресов - Булево - если Ложь, то используются только загруженные данные.
//
Процедура ИнтернетПоддержкаИСервисыУстановитьИспользованиеВебСервиса(ИспользоватьВебСервисАдресов) Экспорт
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный");
МодульАдресныйКлассификаторСлужебный.УстановитьИспользованиеВебСервиса(ИспользоватьВебСервисАдресов);
ОбновитьПовторноИспользуемыеЗначения();
КонецЕсли;
КонецПроцедуры
// Выполняет обработку события ПриИзменении() элементов формы БСП ЦентрМониторингаРазрешитьОтправлятьДанные, // Выполняет обработку события ПриИзменении() элементов формы БСП ЦентрМониторингаРазрешитьОтправлятьДанные,
// ЦентрМониторингаРазрешитьОтправлятьДанныеСтороннему, ЦентрМониторингаЗапретитьОтправлятьДанные панели // ЦентрМониторингаРазрешитьОтправлятьДанныеСтороннему, ЦентрМониторингаЗапретитьОтправлятьДанные панели
// администрирования "Интернет-поддержка и сервисы" БСП и БИП. // администрирования "Интернет-поддержка и сервисы" БСП и БИП.
@@ -2356,9 +2356,19 @@
КонецЕсли; КонецЕсли;
ИменаИзмерений.Добавить("ТаблицаИзменений." + Измерение.Имя); ИменаИзмерений.Добавить("ТаблицаИзменений." + Измерение.Имя);
ПсевдонимыИзмерений.Добавить(Измерение.Имя); Если НЕ (Измерение.Тип.Типы().Количество() > 1
И (Измерение.Тип.Типы().Найти(Тип("Булево")) <> Неопределено
ИЛИ Измерение.Тип.Типы().Найти(Тип("Строка")) <> Неопределено
ИЛИ Измерение.Тип.Типы().Найти(Тип("Дата")) <> Неопределено)) Тогда
ПсевдонимыИзмерений.Добавить(Измерение.Имя);
КонецЕсли;
КонецЦикла; КонецЦикла;
Если ПсевдонимыИзмерений.Количество() = 0 Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ИНДЕКСИРОВАТЬ ПО", "");
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИндексируемыеИзмерения", УпорядочиванияДляЗапроса(ПсевдонимыИзмерений)); ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИндексируемыеИзмерения", УпорядочиванияДляЗапроса(ПсевдонимыИзмерений));
КонецЕсли; КонецЕсли;
@@ -6722,25 +6732,19 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ПараметрыОбработчикаОбновления = ПараметрыСеанса.ПараметрыОбработчикаОбновления; НовыеПараметрыСеанса = ОбновлениеИнформационнойБазыСлужебный.НовыеПараметрыОбработчикаОбновления();
ЗаполнитьЗначенияСвойств(НовыеПараметрыСеанса, ПараметрыСеанса.ПараметрыОбработчикаОбновления);
НовыеПараметрыСеанса.ОбработаноОбъектов = НовыеПараметрыСеанса.ОбработаноОбъектов + ОбъектовОбработано;
ТекущаяДата = ТекущаяДатаСеанса(); Если НовыеПараметрыСеанса.ДатаПоследнейЗаписиПрогресса = Неопределено
ИнтервалЧас = НачалоЧаса(ТекущаяДата); Или ТекущаяДатаСеанса() - НовыеПараметрыСеанса.ДатаПоследнейЗаписиПрогресса > 15 Тогда // Больше 15 секунд с последней записи прогресса.
ОбновлениеИнформационнойБазыСлужебный.ЗаписатьПрогрессВыполненияОбработчика(НовыеПараметрыСеанса);
МенеджерЗаписи = РегистрыСведений.ПрогрессОбновления.СоздатьМенеджерЗаписи();
МенеджерЗаписи.ИмяОбработчика = ПараметрыОбработчикаОбновления.ИмяОбработчика; НовыеПараметрыСеанса.ОбработаноОбъектов = 0;
МенеджерЗаписи.КлючЗаписи = ПараметрыОбработчикаОбновления.КлючЗаписиПрогрессаОбновления; НовыеПараметрыСеанса.ДатаПоследнейЗаписиПрогресса = ТекущаяДатаСеанса();
МенеджерЗаписи.ИнтервалЧас = ИнтервалЧас;
МенеджерЗаписи.Прочитать();
Если Не МенеджерЗаписи.Выбран() Тогда
МенеджерЗаписи.ИмяОбработчика = ПараметрыОбработчикаОбновления.ИмяОбработчика;
МенеджерЗаписи.КлючЗаписи = ПараметрыОбработчикаОбновления.КлючЗаписиПрогрессаОбновления;
МенеджерЗаписи.ИнтервалЧас = ИнтервалЧас;
МенеджерЗаписи.ОбъектовОбработано = ОбъектовОбработано;
Иначе
МенеджерЗаписи.ОбъектовОбработано = МенеджерЗаписи.ОбъектовОбработано + ОбъектовОбработано;
КонецЕсли; КонецЕсли;
МенеджерЗаписи.Записать();
ПараметрыСеанса.ПараметрыОбработчикаОбновления = Новый ФиксированнаяСтруктура(НовыеПараметрыСеанса);
КонецПроцедуры КонецПроцедуры
@@ -45,7 +45,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы"; Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.9.199"; Описание.Версия = "3.1.9.209";
Описание.ИдентификаторИнтернетПоддержки = "SSL"; Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0"; Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -10966,6 +10966,8 @@
Параметры = КонтекстОбработчика.Параметры; Параметры = КонтекстОбработчика.Параметры;
ЗаписатьПрогрессВыполненияОбработчика(КонтекстОбработчика.ПараметрыОбработчикаОбновления);
// Если обработчик обновления передал параметры, их нужно сохранить. // Если обработчик обновления передал параметры, их нужно сохранить.
ПереданныеПараметры = ПереданныеПараметрыОбработчикаОбновления(Параметры); ПереданныеПараметры = ПереданныеПараметрыОбработчикаОбновления(Параметры);
СтатистикаВыполнения = ОбработчикОбновления.СтатистикаВыполнения.Получить(); СтатистикаВыполнения = ОбработчикОбновления.СтатистикаВыполнения.Получить();
@@ -11433,6 +11435,8 @@
ПараметрыОбработчикаОбновления.Вставить("АктуальныеДанные", Неопределено); ПараметрыОбработчикаОбновления.Вставить("АктуальныеДанные", Неопределено);
ПараметрыОбработчикаОбновления.Вставить("ОбработаныАктуальныеДанные", Неопределено); ПараметрыОбработчикаОбновления.Вставить("ОбработаныАктуальныеДанные", Неопределено);
ПараметрыОбработчикаОбновления.Вставить("ОбработанныеТаблицыРегистраторов", Неопределено); ПараметрыОбработчикаОбновления.Вставить("ОбработанныеТаблицыРегистраторов", Неопределено);
ПараметрыОбработчикаОбновления.Вставить("ДатаПоследнейЗаписиПрогресса", Неопределено);
ПараметрыОбработчикаОбновления.Вставить("ОбработаноОбъектов", 0);
Возврат ПараметрыОбработчикаОбновления; Возврат ПараметрыОбработчикаОбновления;
КонецФункции КонецФункции
@@ -12051,4 +12055,49 @@
КонецФункции КонецФункции
Процедура ЗаписатьПрогрессВыполненияОбработчика(ПараметрыОбработчика) Экспорт
Если ПараметрыОбработчика = Неопределено
Или ПараметрыОбработчика.ОбработаноОбъектов = 0 Тогда
Возврат;
КонецЕсли;
ТекущаяДата = ТекущаяДатаСеанса();
ИнтервалЧас = НачалоЧаса(ТекущаяДата);
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить("РегистрСведений.ПрогрессОбновления");
ЭлементБлокировкиДанных.УстановитьЗначение("ИмяОбработчика", ПараметрыОбработчика.ИмяОбработчика);
ЭлементБлокировкиДанных.УстановитьЗначение("КлючЗаписи", ПараметрыОбработчика.КлючЗаписиПрогрессаОбновления);
ЭлементБлокировкиДанных.УстановитьЗначение("ИнтервалЧас", ИнтервалЧас);
НачатьТранзакцию();
Попытка
БлокировкаДанных.Заблокировать();
НаборЗаписей = РегистрыСведений.ПрогрессОбновления.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.ИмяОбработчика.Установить(ПараметрыОбработчика.ИмяОбработчика);
НаборЗаписей.Отбор.КлючЗаписи.Установить(ПараметрыОбработчика.КлючЗаписиПрогрессаОбновления);
НаборЗаписей.Отбор.ИнтервалЧас.Установить(ИнтервалЧас);
НаборЗаписей.Прочитать();
Если НаборЗаписей.Количество() = 0 Тогда
Запись = НаборЗаписей.Добавить();
Запись.ИмяОбработчика = ПараметрыОбработчика.ИмяОбработчика;
Запись.КлючЗаписи = ПараметрыОбработчика.КлючЗаписиПрогрессаОбновления;
Запись.ИнтервалЧас = ИнтервалЧас;
Запись.ОбъектовОбработано = ПараметрыОбработчика.ОбработаноОбъектов;
Иначе
Запись = НаборЗаписей[0];
Запись.ОбъектовОбработано = Запись.ОбъектовОбработано + ПараметрыОбработчика.ОбработаноОбъектов;
КонецЕсли;
НаборЗаписей.ОбменДанными.Загрузка = Истина;
НаборЗаписей.ОбменДанными.Получатели.АвтоЗаполнение = Ложь;
НаборЗаписей.Записать();
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -160,7 +160,7 @@
"Ошибка", "Ошибка",
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке),, Истина); ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке),, Истина);
ОбработкаОшибок.ПоказатьИнформациюОбОшибке(ИнформацияОбОшибке); СтандартныеПодсистемыКлиент.ПоказатьИнформациюОбОшибкеИПродолжить(ИнформацияОбОшибке);
КонецПроцедуры КонецПроцедуры
@@ -1826,8 +1826,11 @@
Функция ЭтоLinuxСервер() Экспорт Функция ЭтоLinuxСервер() Экспорт
СистемнаяИнформация = Новый СистемнаяИнформация; СистемнаяИнформация = Новый СистемнаяИнформация;
Возврат СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86 Возврат СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86
Или СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86_64; Или СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86_64
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.22.0") >= 0
И (СистемнаяИнформация.ТипПлатформы = ТипПлатформы["Linux_ARM64"]
Или СистемнаяИнформация.ТипПлатформы = ТипПлатформы["Linux_E2K"]);
КонецФункции КонецФункции
@@ -245,9 +245,14 @@
// //
Функция ЭтоLinuxКлиент() Экспорт Функция ЭтоLinuxКлиент() Экспорт
ТипПлатформыКлиента = ТипПлатформыКлиента(); СистемнаяИнформация = Новый СистемнаяИнформация;
ТипПлатформыКлиента = СистемнаяИнформация.ТипПлатформы;
Возврат ТипПлатформыКлиента = ТипПлатформы.Linux_x86 Возврат ТипПлатформыКлиента = ТипПлатформы.Linux_x86
Или ТипПлатформыКлиента = ТипПлатформы.Linux_x86_64; Или ТипПлатформыКлиента = ТипПлатформы.Linux_x86_64
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.22.0") >= 0
И (ТипПлатформыКлиента = ТипПлатформы["Linux_ARM64"]
Или ТипПлатформыКлиента = ТипПлатформы["Linux_E2K"]);
КонецФункции КонецФункции
@@ -242,25 +242,46 @@
// //
Функция ИмяТипаПлатформы(Знач ЗначениеТипаПлатформы = Неопределено) Экспорт Функция ИмяТипаПлатформы(Знач ЗначениеТипаПлатформы = Неопределено) Экспорт
СистемнаяИнформация = Новый СистемнаяИнформация;
Если ТипЗнч(ЗначениеТипаПлатформы) <> Тип("ТипПлатформы") Тогда Если ТипЗнч(ЗначениеТипаПлатформы) <> Тип("ТипПлатформы") Тогда
СистемнаяИнформация = Новый СистемнаяИнформация;
ЗначениеТипаПлатформы = СистемнаяИнформация.ТипПлатформы; ЗначениеТипаПлатформы = СистемнаяИнформация.ТипПлатформы;
КонецЕсли; КонецЕсли;
Если ЗначениеТипаПлатформы = ТипПлатформы.Linux_x86 Тогда ИменаТиповПлатформы = Новый Массив;
Возврат "Linux_x86"; ИменаТиповПлатформы.Добавить("Linux_x86");
ИначеЕсли ЗначениеТипаПлатформы = ТипПлатформы.Linux_x86_64 Тогда ИменаТиповПлатформы.Добавить("Linux_x86_64");
Возврат "Linux_x86_64";
ИначеЕсли ЗначениеТипаПлатформы = ТипПлатформы.MacOS_x86 Тогда ИменаТиповПлатформы.Добавить("MacOS_x86");
Возврат "MacOS_x86"; ИменаТиповПлатформы.Добавить("MacOS_x86_64");
ИначеЕсли ЗначениеТипаПлатформы = ТипПлатформы.MacOS_x86_64 Тогда
Возврат "MacOS_x86_64"; ИменаТиповПлатформы.Добавить("Windows_x86");
ИначеЕсли ЗначениеТипаПлатформы = ТипПлатформы.Windows_x86 Тогда ИменаТиповПлатформы.Добавить("Windows_x86_64");
Возврат "Windows_x86";
ИначеЕсли ЗначениеТипаПлатформы = ТипПлатформы.Windows_x86_64 Тогда Если СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.22.0") >= 0 Тогда
Возврат "Windows_x86_64"; ИменаТиповПлатформы.Добавить("Linux_ARM64");
ИменаТиповПлатформы.Добавить("Linux_E2K");
КонецЕсли; КонецЕсли;
Если СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.23.0") >= 0 Тогда
ИменаТиповПлатформы.Добавить("Android_ARM");
ИменаТиповПлатформы.Добавить("Android_ARM_64");
ИменаТиповПлатформы.Добавить("Android_x86");
ИменаТиповПлатформы.Добавить("Android_x86_64");
ИменаТиповПлатформы.Добавить("iOS_ARM");
ИменаТиповПлатформы.Добавить("iOS_ARM_64");
ИменаТиповПлатформы.Добавить("WinRT_ARM");
ИменаТиповПлатформы.Добавить("WinRT_x86");
ИменаТиповПлатформы.Добавить("WinRT_x86_64");
КонецЕсли;
Для Каждого ИмяТипаПлатформы Из ИменаТиповПлатформы Цикл
Если ЗначениеТипаПлатформы = ТипПлатформы[ИмяТипаПлатформы] Тогда
Возврат ИмяТипаПлатформы;
КонецЕсли;
КонецЦикла;
Возврат ""; Возврат "";
КонецФункции КонецФункции
@@ -3447,7 +3468,10 @@
СистемнаяИнформация = Новый СистемнаяИнформация; СистемнаяИнформация = Новый СистемнаяИнформация;
ЭтоLinuxКлиент = СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86 ЭтоLinuxКлиент = СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86
ИЛИ СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86_64; Или СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86_64
Или СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.22.0") >= 0
И (СистемнаяИнформация.ТипПлатформы = ТипПлатформы["Linux_ARM64"]
Или СистемнаяИнформация.ТипПлатформы = ТипПлатформы["Linux_E2K"]);
#КонецЕсли #КонецЕсли
Возврат ЭтоLinuxКлиент; Возврат ЭтоLinuxКлиент;
@@ -3865,7 +3889,10 @@
#КонецЕсли #КонецЕсли
ИначеЕсли (СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86) ИначеЕсли (СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86)
Или (СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86_64) Тогда Или (СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86_64)
Или СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.22.0") >= 0
И (СистемнаяИнформация.ТипПлатформы = ТипПлатформы["Linux_ARM64"]
Или СистемнаяИнформация.ТипПлатформы = ТипПлатформы["Linux_E2K"]) Тогда
Если ВыполнитьСНаивысшимиПравами Тогда Если ВыполнитьСНаивысшимиПравами Тогда
@@ -167,7 +167,7 @@
КонтекстПроверкиКомпоненты.ИсходноеМестоположение = Контекст.ИсходноеМестоположение; КонтекстПроверкиКомпоненты.ИсходноеМестоположение = Контекст.ИсходноеМестоположение;
КонтекстПроверкиКомпоненты.ИдентификаторыСозданияОбъектов = Контекст.ИдентификаторыСозданияОбъектов; КонтекстПроверкиКомпоненты.ИдентификаторыСозданияОбъектов = Контекст.ИдентификаторыСозданияОбъектов;
РезультатПоискаВнешнейКомпоненты = МодульВнешниеКомпонентыСлужебныйКлиент.РезультатПроверкиДоступностиКомпоненты( РезультатПоискаВнешнейКомпоненты = Ждать МодульВнешниеКомпонентыСлужебныйКлиент.РезультатПроверкиДоступностиКомпоненты(
КонтекстПроверкиКомпоненты); КонтекстПроверкиКомпоненты);
КонецЕсли; КонецЕсли;
@@ -140,7 +140,8 @@
КонецФункции КонецФункции
// Возвращает структуру, содержащую сведения о дополнительной информации организации. // Возвращает структуру, содержащую сведения о дополнительной информации организации. Заполнять только в случае, если организация
// является юридическим лицом (не ИП).
// //
// Параметры: // Параметры:
// Организация - ОпределяемыйТип.Организация - организация, сведения по которой необходимо получить. // Организация - ОпределяемыйТип.Организация - организация, сведения по которой необходимо получить.
@@ -172,7 +173,6 @@
// * КодОрганаФСГС - Строка - код органа ФСГС. // * КодОрганаФСГС - Строка - код органа ФСГС.
// * КодПодчиненностиФСС - Строка - код подчиненности ФСС. // * КодПодчиненностиФСС - Строка - код подчиненности ФСС.
// * КодПодчиненностиФССДобрСтрах - Строка - код подчиненности ФСС добр. страх. // * КодПодчиненностиФССДобрСтрах - Строка - код подчиненности ФСС добр. страх.
// * КодПоОКТМО - Строка - код по ОКТМО.
// * НаименованиеТерриториальногоОрганаФСС - Строка - наименование территориального органа ФСС. // * НаименованиеТерриториальногоОрганаФСС - Строка - наименование территориального органа ФСС.
// * ОбъектНалогообложенияУСН - Число - объект налогообложения УСН. // * ОбъектНалогообложенияУСН - Число - объект налогообложения УСН.
// * ОтветственноеЛицоСтатистикаФИО - Строка - ФИО ответственного лица за статистическую отчетность. // * ОтветственноеЛицоСтатистикаФИО - Строка - ФИО ответственного лица за статистическую отчетность.
@@ -182,7 +182,6 @@
// * ПочтовыйАдресОрганизации - Строка - почтовый адрес организации. // * ПочтовыйАдресОрганизации - Строка - почтовый адрес организации.
// * ПочтовыйАдресОрганизацииXML - Строка - почтовый адрес организации в формате xml. // * ПочтовыйАдресОрганизацииXML - Строка - почтовый адрес организации в формате xml.
// * ПочтовыйАдресОрганизацииJSON - Строка - почтовый адрес организации в формате json. // * ПочтовыйАдресОрганизацииJSON - Строка - почтовый адрес организации в формате json.
// * РегистрационныйНомерТФОМС - Строка - регистрационный номер ТФОМС.
// * РегистрационныйНомерФСС - Строка - регистрационный номер ФСС. // * РегистрационныйНомерФСС - Строка - регистрационный номер ФСС.
// * СведенияОбИсполнителеДолжность - Строка - должность исполнителя. // * СведенияОбИсполнителеДолжность - Строка - должность исполнителя.
// * СведенияОбИсполнителеТелефон - Строка - телефон исполнителя. // * СведенияОбИсполнителеТелефон - Строка - телефон исполнителя.
@@ -454,7 +453,7 @@
// * ИПРегистрационныйНомерПФР - Строка - регистрационный номер ПФР. // * ИПРегистрационныйНомерПФР - Строка - регистрационный номер ПФР.
// * ИПРегистрационныйНомерТФОМС - Строка - регистрационный номер ТФОМС. // * ИПРегистрационныйНомерТФОМС - Строка - регистрационный номер ТФОМС.
// * ИПАдресЭлектроннойПочты - Строка - адрес электронной почты индивидуального предпринимателя. // * ИПАдресЭлектроннойПочты - Строка - адрес электронной почты индивидуального предпринимателя.
// * ФизическоеЛицоПол - Число - пол. // * ФизическоеЛицоПол - Число - пол: 1 - Мужской, 2 - Женский.
// * ИПСерияУдостоверенияЛичности - Строка - серия удостоверения личности. // * ИПСерияУдостоверенияЛичности - Строка - серия удостоверения личности.
// * ИндивидуальныйПредпринимательСНИЛС - Строка - СНИЛС. // * ИндивидуальныйПредпринимательСНИЛС - Строка - СНИЛС.
// * ФизическоеЛицоНаименование - Строка - наименование физлица. // * ФизическоеЛицоНаименование - Строка - наименование физлица.
@@ -1008,23 +1008,7 @@
Свойства.Роли = Новый Массив; Свойства.Роли = Новый Массив;
Если ТипЗнч(ИмяИлиИдентификатор) = Тип("УникальныйИдентификатор") Тогда Если ТипЗнч(ИмяИлиИдентификатор) = Тип("УникальныйИдентификатор") Тогда
ПользовательИБ = ПользователиСлужебный.ПользовательИБПоИдентификатору(ИмяИлиИдентификатор);
Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
СеансЗапущенБезРазделителей = МодульРаботаВМоделиСервиса.СеансЗапущенБезРазделителей();
Иначе
СеансЗапущенБезРазделителей = Истина;
КонецЕсли;
Если ОбщегоНазначения.РазделениеВключено()
И СеансЗапущенБезРазделителей
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных()
И ИмяИлиИдентификатор = ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор Тогда
ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();
Иначе
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(ИмяИлиИдентификатор);
КонецЕсли;
ИначеЕсли ТипЗнч(ИмяИлиИдентификатор) = Тип("Строка") Тогда ИначеЕсли ТипЗнч(ИмяИлиИдентификатор) = Тип("Строка") Тогда
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяИлиИдентификатор); ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяИлиИдентификатор);
@@ -657,6 +657,36 @@
КонецФункции КонецФункции
// Параметры:
// ИдентификаторПользователяИБ - УникальныйИдентификатор
//
Функция ПользовательИБПоИдентификатору(ИдентификаторПользователяИБ) Экспорт
Если ТипЗнч(ИдентификаторПользователяИБ) <> Тип("УникальныйИдентификатор") Тогда
Возврат Неопределено;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
СеансЗапущенБезРазделителей = МодульРаботаВМоделиСервиса.СеансЗапущенБезРазделителей();
Иначе
СеансЗапущенБезРазделителей = Истина;
КонецЕсли;
Если ОбщегоНазначения.РазделениеВключено()
И СеансЗапущенБезРазделителей
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных()
И ИдентификаторПользователяИБ = ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор Тогда
ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();
Иначе
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(ИдентификаторПользователяИБ);
КонецЕсли;
Возврат ПользовательИБ;
КонецФункции
// Только для внутреннего использования. // Только для внутреннего использования.
// //
// Параметры: // Параметры:
@@ -714,19 +744,32 @@
// (элементу справочника ВнешниеПользователи). // (элементу справочника ВнешниеПользователи).
// Пользователь - Неопределено - найти по уникальному идентификатору пользователя ИБ, если потребуется. // Пользователь - Неопределено - найти по уникальному идентификатору пользователя ИБ, если потребуется.
// - СправочникСсылка.Пользователи // - СправочникСсылка.Пользователи
// - СправочникСсылка.ВнешниеПользователи // - СправочникСсылка.ВнешниеПользователи
//
// СообщатьВМенеджерСервиса - Булево
// //
Процедура ЗаписатьПользователяИнформационнойБазы(ПользовательИБ, ЭтоВнешнийПользователь = Ложь, Процедура ЗаписатьПользователяИнформационнойБазы(ПользовательИБ, ЭтоВнешнийПользователь = Ложь,
Пользователь = Неопределено) Экспорт Пользователь = Неопределено, Знач СообщатьВМенеджерСервиса = Истина) Экспорт
ИнтеграцияПодсистемБСП.ПередЗаписьюПользователяИБ(ПользовательИБ); ИнтеграцияПодсистемБСП.ПередЗаписьюПользователяИБ(ПользовательИБ);
СообщатьВМенеджерСервиса = СообщатьВМенеджерСервиса
И ОбщегоНазначения.РазделениеВключено()
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ПользователиВМоделиСервиса");
ЭтоОбновлениеСправочниковПользователей = ПользовательИБ.УникальныйИдентификатор
= ПараметрыСеанса.ОбновлениеСправочниковПользователей.Получить("ИдентификаторПользователяИБ");
Если СообщатьВМенеджерСервиса И Не ЭтоОбновлениеСправочниковПользователей Тогда
СтарыйПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(
ПользовательИБ.УникальныйИдентификатор);
КонецЕсли;
ПроверитьПраваПользователя(ПользовательИБ, "ПередЗаписью", ЭтоВнешнийПользователь); ПроверитьПраваПользователя(ПользовательИБ, "ПередЗаписью", ЭтоВнешнийПользователь);
ОбновлениеИнформационнойБазыСлужебный.УстановитьФлагОтображенияОписанийДляНовогоПользователя(ПользовательИБ.Имя); ОбновлениеИнформационнойБазыСлужебный.УстановитьФлагОтображенияОписанийДляНовогоПользователя(ПользовательИБ.Имя);
ПользовательИБ.Записать(); ПользовательИБ.Записать();
Если ПараметрыСеанса.ОбновлениеСправочниковПользователей.Получить("ИдентификаторПользователяИБ") Если Не ЭтоОбновлениеСправочниковПользователей Тогда
<> ПользовательИБ.УникальныйИдентификатор Тогда
ОбновленныйПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору( ОбновленныйПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(
ПользовательИБ.УникальныйИдентификатор); ПользовательИБ.УникальныйИдентификатор);
@@ -739,6 +782,11 @@
КонецЕсли; КонецЕсли;
Если Пользователь <> Неопределено Тогда Если Пользователь <> Неопределено Тогда
РегистрыСведений.СведенияОПользователях.ОбновитьСведенияОПользователе(Пользователь,, ПользовательИБ); РегистрыСведений.СведенияОПользователях.ОбновитьСведенияОПользователе(Пользователь,, ПользовательИБ);
Если СообщатьВМенеджерСервиса Тогда
МодульПользователиСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ПользователиСлужебныйВМоделиСервиса");
МодульПользователиСлужебныйВМоделиСервиса.СообщитьИзмененЗапускПриложения(Пользователь,
ПользовательИБ, СтарыйПользовательИБ);
КонецЕсли;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -999,8 +1047,9 @@
КонецЕсли; КонецЕсли;
Если Не ЗначениеЗаполнено(Результат.ИдентификаторПользователяИБ) Тогда Если Не ЗначениеЗаполнено(Результат.ИдентификаторПользователяИБ) Тогда
ПользовательСсылка = ?(ТипЗнч(Пользователь) = Тип("СправочникОбъект.Пользователи"), Если ТипЗнч(Пользователь) = Тип("СправочникОбъект.Пользователи") Тогда
Пользователь.Ссылка, Пользователь); ПользовательСсылка = Пользователь.Ссылка;
КонецЕсли;
Если ПользовательСсылка = Пользователи.СсылкаНеуказанногоПользователя() Тогда Если ПользовательСсылка = Пользователи.СсылкаНеуказанногоПользователя() Тогда
Результат.ИдентификаторПользователяИБ = ПользователиИнформационнойБазы.НайтиПоИмени("").УникальныйИдентификатор; Результат.ИдентификаторПользователяИБ = ПользователиИнформационнойБазы.НайтиПоИмени("").УникальныйИдентификатор;
КонецЕсли; КонецЕсли;
@@ -3278,9 +3327,11 @@
ПользовательОбъект.ИдентификаторПользователяИБ; ПользовательОбъект.ИдентификаторПользователяИБ;
ОписаниеНовогоПользователяИБ = Пользователи.СвойстваПользователяИБ(ПользовательОбъект.ИдентификаторПользователяИБ); ОписаниеНовогоПользователяИБ = Пользователи.СвойстваПользователяИБ(ПользовательОбъект.ИдентификаторПользователяИБ);
ПараметрыОбработки.Вставить("НовыйПользовательИБСуществует", ОписаниеНовогоПользователяИБ <> Неопределено);
ПараметрыОбработки.Вставить("НовыйПользовательИБ",
ПользовательИБПоИдентификатору(ПользовательОбъект.ИдентификаторПользователяИБ));
Если ОписаниеНовогоПользователяИБ <> Неопределено Тогда Если ОписаниеНовогоПользователяИБ <> Неопределено Тогда
ПараметрыОбработки.Вставить("НовыйПользовательИБСуществует", Истина);
ПараметрыОбработки.Вставить("ОписаниеНовогоПользователяИБ", ОписаниеНовогоПользователяИБ); ПараметрыОбработки.Вставить("ОписаниеНовогоПользователяИБ", ОписаниеНовогоПользователяИБ);
// Проверка прав на изменение пользователей с широким доступом. // Проверка прав на изменение пользователей с широким доступом.
@@ -3289,8 +3340,6 @@
ВызватьИсключение ПараметрыОбработки.ТекстСообщенияНедостаточноПрав; ВызватьИсключение ПараметрыОбработки.ТекстСообщенияНедостаточноПрав;
КонецЕсли; КонецЕсли;
Иначе
ПараметрыОбработки.Вставить("НовыйПользовательИБСуществует", Ложь);
КонецЕсли; КонецЕсли;
// ПослеНачалаОбработкиПользователяИБ - поддержка модели сервиса. // ПослеНачалаОбработкиПользователяИБ - поддержка модели сервиса.
@@ -4231,7 +4280,7 @@
|""%1"" |""%1""
|не существует роль ""%2"" |не существует роль ""%2""
|группы внешних пользователей ""%3"".'"), |группы внешних пользователей ""%3"".'"),
СокрЛП(ВнешнийПользователь.Наименование), СокрЛП(ВнешнийПользователь),
Выборка.Роль, Выборка.Роль,
Строка(Выборка.ГруппаВнешнихПользователей)); Строка(Выборка.ГруппаВнешнихПользователей));
@@ -4474,20 +4523,24 @@
Или ГруппаПриемник = Справочники.ГруппыВнешнихПользователей.ВсеВнешниеПользователи Тогда Или ГруппаПриемник = Справочники.ГруппыВнешнихПользователей.ВсеВнешниеПользователи Тогда
Если Перемещение Тогда Если Перемещение Тогда
УдалитьПользователяИзГруппы(ГруппаИсточник, ПользовательСсылка, ИмяКолонкиСостава); Удален = Ложь;
УдалитьПользователяИзГруппы(ГруппаИсточник, ПользовательСсылка, ИмяКолонкиСостава, Удален);
Иначе
Удален = Истина;
КонецЕсли; КонецЕсли;
МассивПеремещенныхПользователей.Добавить(ПользовательСсылка); Если Удален Тогда
МассивПеремещенныхПользователей.Добавить(ПользовательСсылка);
ИначеЕсли ГруппаПриемник.Состав.Найти(ПользовательСсылка, ИмяКолонкиСостава) = Неопределено Тогда КонецЕсли;
Иначе
ДобавитьПользователяВГруппу(ГруппаПриемник, ПользовательСсылка, ИмяКолонкиСостава); Добавлен = Ложь;
ДобавитьПользователяВГруппу(ГруппаПриемник, ПользовательСсылка, ИмяКолонкиСостава, Добавлен);
// Удаление пользователя из старой группы. Если Добавлен Тогда
Если Перемещение Тогда // Удаление пользователя из старой группы.
УдалитьПользователяИзГруппы(ГруппаИсточник, ПользовательСсылка, ИмяКолонкиСостава); Если Перемещение Тогда
УдалитьПользователяИзГруппы(ГруппаИсточник, ПользовательСсылка, ИмяКолонкиСостава);
КонецЕсли;
МассивПеремещенныхПользователей.Добавить(ПользовательСсылка);
КонецЕсли; КонецЕсли;
МассивПеремещенныхПользователей.Добавить(ПользовательСсылка);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -4557,44 +4610,17 @@
КонецФункции КонецФункции
Процедура ДобавитьПользователяВГруппу(ГруппаПриемник, ПользовательСсылка, ТипПользователя) Экспорт Процедура ДобавитьПользователяВГруппу(ГруппаВладелец, ПользовательСсылка, ИмяКолонкиСостава, Добавлен) Экспорт
Если ГруппаВладелец = Справочники.ГруппыПользователей.ВсеПользователи
Или ГруппаВладелец = Справочники.ГруппыВнешнихПользователей.ВсеВнешниеПользователи Тогда
Возврат;
КонецЕсли;
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
Блокировка = Новый БлокировкаДанных; Блокировка = Новый БлокировкаДанных;
Если ТипПользователя = "ВнешнийПользователь" Тогда Если ИмяКолонкиСостава = "ВнешнийПользователь" Тогда
ИмяТаблицы = "Справочник.ГруппыВнешнихПользователей";
Иначе
ИмяТаблицы = "Справочник.ГруппыПользователей";
КонецЕсли;
ЭлементБлокировки = Блокировка.Добавить(ИмяТаблицы);
ЭлементБлокировки.УстановитьЗначение("Ссылка", ГруппаПриемник);
Блокировка.Заблокировать();
ГруппаПриемникОбъект = ГруппаПриемник.ПолучитьОбъект();
СтрокаСостава = ГруппаПриемникОбъект.Состав.Добавить();
Если ТипПользователя = "ВнешнийПользователь" Тогда
СтрокаСостава.ВнешнийПользователь = ПользовательСсылка;
Иначе
СтрокаСостава.Пользователь = ПользовательСсылка;
КонецЕсли;
ГруппаПриемникОбъект.Записать();
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
Процедура УдалитьПользователяИзГруппы(ГруппаВладелец, ПользовательСсылка, ТипПользователя) Экспорт
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
Если ТипПользователя = "ВнешнийПользователь" Тогда
ИмяТаблицы = "Справочник.ГруппыВнешнихПользователей"; ИмяТаблицы = "Справочник.ГруппыВнешнихПользователей";
Иначе Иначе
ИмяТаблицы = "Справочник.ГруппыПользователей"; ИмяТаблицы = "Справочник.ГруппыПользователей";
@@ -4604,9 +4630,56 @@
Блокировка.Заблокировать(); Блокировка.Заблокировать();
ГруппаВладелецОбъект = ГруппаВладелец.ПолучитьОбъект(); ГруппаВладелецОбъект = ГруппаВладелец.ПолучитьОбъект();
Если ГруппаВладелецОбъект.Состав.Количество() <> 0 Тогда Свойства = Новый Структура("ВсеОбъектыАвторизации", Ложь);
ГруппаВладелецОбъект.Состав.Удалить(ГруппаВладелецОбъект.Состав.Найти(ПользовательСсылка, ТипПользователя)); ЗаполнитьЗначенияСвойств(Свойства, ГруппаВладелецОбъект);
СтрокаСостава = ГруппаВладелецОбъект.Состав.Найти(ПользовательСсылка, ИмяКолонкиСостава);
Если СтрокаСостава = Неопределено И Не Свойства.ВсеОбъектыАвторизации Тогда
СтрокаСостава = ГруппаВладелецОбъект.Состав.Добавить();
Если ИмяКолонкиСостава = "ВнешнийПользователь" Тогда
СтрокаСостава.ВнешнийПользователь = ПользовательСсылка;
Иначе
СтрокаСостава.Пользователь = ПользовательСсылка;
КонецЕсли;
ГруппаВладелецОбъект.Записать(); ГруппаВладелецОбъект.Записать();
Добавлен = Истина;
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
Процедура УдалитьПользователяИзГруппы(ГруппаВладелец, ПользовательСсылка, ИмяКолонкиСостава, Удален = Ложь) Экспорт
Если ГруппаВладелец = Справочники.ГруппыПользователей.ВсеПользователи
Или ГруппаВладелец = Справочники.ГруппыВнешнихПользователей.ВсеВнешниеПользователи Тогда
Возврат;
КонецЕсли;
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
Если ИмяКолонкиСостава = "ВнешнийПользователь" Тогда
ИмяТаблицы = "Справочник.ГруппыВнешнихПользователей";
Иначе
ИмяТаблицы = "Справочник.ГруппыПользователей";
КонецЕсли;
ЭлементБлокировки = Блокировка.Добавить(ИмяТаблицы);
ЭлементБлокировки.УстановитьЗначение("Ссылка", ГруппаВладелец);
Блокировка.Заблокировать();
ГруппаВладелецОбъект = ГруппаВладелец.ПолучитьОбъект();
СтрокаСостава = ГруппаВладелецОбъект.Состав.Найти(ПользовательСсылка, ИмяКолонкиСостава);
Если СтрокаСостава <> Неопределено Тогда
ГруппаВладелецОбъект.Состав.Удалить(СтрокаСостава);
ГруппаВладелецОбъект.Записать();
Удален = Истина;
КонецЕсли; КонецЕсли;
ЗафиксироватьТранзакцию(); ЗафиксироватьТранзакцию();
@@ -7704,6 +7777,8 @@
ОписаниеСтарогоПользователяИБ = Пользователи.СвойстваПользователяИБ(СтарыйПользователь.ИдентификаторПользователяИБ); ОписаниеСтарогоПользователяИБ = Пользователи.СвойстваПользователяИБ(СтарыйПользователь.ИдентификаторПользователяИБ);
ПараметрыОбработки.Вставить("СтарыйПользовательИБСуществует", ОписаниеСтарогоПользователяИБ <> Неопределено); ПараметрыОбработки.Вставить("СтарыйПользовательИБСуществует", ОписаниеСтарогоПользователяИБ <> Неопределено);
ПараметрыОбработки.Вставить("СтарыйПользовательИБТекущий", Ложь); ПараметрыОбработки.Вставить("СтарыйПользовательИБТекущий", Ложь);
ПараметрыОбработки.Вставить("СтарыйПользовательИБ",
ПользовательИБПоИдентификатору(СтарыйПользователь.ИдентификаторПользователяИБ));
Если ПараметрыОбработки.СтарыйПользовательИБСуществует Тогда Если ПараметрыОбработки.СтарыйПользовательИБСуществует Тогда
ПараметрыОбработки.Вставить("ОписаниеСтарогоПользователяИБ", ОписаниеСтарогоПользователяИБ); ПараметрыОбработки.Вставить("ОписаниеСтарогоПользователяИБ", ОписаниеСтарогоПользователяИБ);
@@ -128,7 +128,7 @@
Если ЗначениеЗаполнено(ПользовательОбъект.ИдентификаторПользователяИБ) Тогда Если ЗначениеЗаполнено(ПользовательОбъект.ИдентификаторПользователяИБ) Тогда
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(ПользовательОбъект.ИдентификаторПользователяИБ); ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(ПользовательОбъект.ИдентификаторПользователяИБ);
ДоступРазрешен = ПользовательИБ <> Неопределено И Пользователи.ВходВПрограммуРазрешен(ПользовательИБ); ДоступРазрешен = ВозможенЗапускПриложения(ПользовательИБ);
Иначе Иначе
ДоступРазрешен = Ложь; ДоступРазрешен = Ложь;
КонецЕсли; КонецЕсли;
@@ -178,13 +178,16 @@
КонецПроцедуры КонецПроцедуры
// Отправляет сообщение менеджеру сервиса об изменении наличия прав для входа в программу. // Отправляет сообщение менеджеру сервиса об изменении возможности запуска приложения
// (наличия разрешения и прав для входа в программу).
// //
// Параметры: // Параметры:
// Пользователь - СправочникСсылка.Пользователи // Пользователь - СправочникСсылка.Пользователи
// ЕстьПрава - Булево - новое наличие прав на запуск. // ПользовательИБ - ПользовательИнформационнойБазы
// СтарыйПользовательИБ - Неопределено - отправить безусловно
// - ПользовательИнформационнойБазы - отправить, если изменен.
// //
Процедура СообщитьЕстьПраваДляВходаВПрограмму(Пользователь, ЕстьПрава) Экспорт Процедура СообщитьИзмененЗапускПриложения(Пользователь, ПользовательИБ, СтарыйПользовательИБ = Неопределено) Экспорт
Если Не ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Если Не ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность")
Или Не ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.ОбменСообщениями") Или Не ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.ОбменСообщениями")
@@ -192,6 +195,12 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ВозможенЗапуск = ВозможенЗапускПриложения(ПользовательИБ);
Если СтарыйПользовательИБ <> Неопределено
И ВозможенЗапуск = ВозможенЗапускПриложения(СтарыйПользовательИБ) Тогда
Возврат;
КонецЕсли;
Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Пользователь, Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Пользователь,
"ИдентификаторПользователяИБ, ИдентификаторПользователяСервиса"); "ИдентификаторПользователяИБ, ИдентификаторПользователяСервиса");
@@ -202,7 +211,7 @@
ИнфоПользователя.Вставить("ОбластьДанных", МодульРаботаВМоделиСервиса.ЗначениеРазделителяСеанса()); ИнфоПользователя.Вставить("ОбластьДанных", МодульРаботаВМоделиСервиса.ЗначениеРазделителяСеанса());
ИнфоПользователя.Вставить("ИдентификаторПользователяИБ", Реквизиты.ИдентификаторПользователяИБ); ИнфоПользователя.Вставить("ИдентификаторПользователяИБ", Реквизиты.ИдентификаторПользователяИБ);
ИнфоПользователя.Вставить("ИдентификаторПользователяСервиса", Реквизиты.ИдентификаторПользователяСервиса); ИнфоПользователя.Вставить("ИдентификаторПользователяСервиса", Реквизиты.ИдентификаторПользователяСервиса);
ИнфоПользователя.Вставить("ЕстьПрава", ЕстьПрава); ИнфоПользователя.Вставить("ЕстьПрава", ВозможенЗапуск);
ИнфоПользователя.Вставить("ДатаUTC", ТекущаяУниверсальнаяДата()); ИнфоПользователя.Вставить("ДатаUTC", ТекущаяУниверсальнаяДата());
НачатьТранзакцию(); НачатьТранзакцию();
@@ -529,6 +538,7 @@
Если ПараметрыОбработки.Свойство("ОбработкаСообщенияКаналаУдаленногоАдминистрирования") Тогда Если ПараметрыОбработки.Свойство("ОбработкаСообщенияКаналаУдаленногоАдминистрирования") Тогда
ОбновлятьРоли = Ложь; ОбновлятьРоли = Ложь;
Возврат;
КонецЕсли; КонецЕсли;
ОписаниеПользователяИБ = ПользовательОбъект.ДополнительныеСвойства.ОписаниеПользователяИБ; ОписаниеПользователяИБ = ПользовательОбъект.ДополнительныеСвойства.ОписаниеПользователяИБ;
@@ -544,13 +554,23 @@
УстановитьПривилегированныйРежим(Ложь); УстановитьПривилегированныйРежим(Ложь);
Иначе // ДобавленПользовательИБ или ИзмененПользовательИБ. Иначе // ДобавленПользовательИБ или ИзмененПользовательИБ.
ОбновитьПользователяСервиса(ПользовательОбъект, ПараметрыОбработки.СоздатьПользователяСервиса);
Если Не ПараметрыОбработки.Свойство("ОбработкаСообщенияКаналаУдаленногоАдминистрирования") УстановитьПривилегированныйРежим(Истина);
И ПараметрыОбработки.СоздатьПользователяСервиса Тогда Если ПользовательОбъект.ДополнительныеСвойства.Свойство("СинхронизироватьССервисом")
И ПользовательОбъект.ДополнительныеСвойства.СинхронизироватьССервисом Тогда
ЗаписатьПользователяСервиса(ПользовательОбъект,
ПараметрыОбработки.СоздатьПользователяСервиса,
ПользовательОбъект.ДополнительныеСвойства.ПарольПользователяСервиса);
Иначе
СообщитьИзмененЗапускПриложения(ПользовательОбъект.Ссылка,
ПараметрыОбработки.НовыйПользовательИБ,
ПараметрыОбработки.СтарыйПользовательИБ);
КонецЕсли;
УстановитьПривилегированныйРежим(Ложь);
Если ПараметрыОбработки.СоздатьПользователяСервиса Тогда
ИнтеграцияПодсистемБСП.ПриЗавершенииОбработкиПользователяИБ(ПользовательОбъект.Ссылка); ИнтеграцияПодсистемБСП.ПриЗавершенииОбработкиПользователяИБ(ПользовательОбъект.Ссылка);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -819,22 +839,19 @@
КонецПроцедуры КонецПроцедуры
// Для процедуры ПриЗавершенииОбработкиПользователяИБ. // Параметры:
Процедура ОбновитьПользователяСервиса(ПользовательОбъект, СоздатьПользователяСервиса) // ПользовательИБ - Неопределено, ПользовательИнформационнойБазы
//
// Возвращаемое значение:
// Булево
//
Функция ВозможенЗапускПриложения(ПользовательИБ)
Если НЕ ПользовательОбъект.ДополнительныеСвойства.Свойство("СинхронизироватьССервисом") Возврат ПользовательИБ <> Неопределено
ИЛИ НЕ ПользовательОбъект.ДополнительныеСвойства.СинхронизироватьССервисом Тогда И Пользователи.ВходВПрограммуРазрешен(ПользовательИБ)
И Пользователи.ЕстьПраваДляВходаВПрограмму(ПользовательИБ,, Ложь);
Возврат;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина); КонецФункции
ЗаписатьПользователяСервиса(ПользовательОбъект,
СоздатьПользователяСервиса,
ПользовательОбъект.ДополнительныеСвойства.ПарольПользователяСервиса);
КонецПроцедуры
// Только для внутреннего использования. // Только для внутреннего использования.
// //
@@ -269,7 +269,8 @@
// ** Город - Строка - код КЛАДР города. // ** Город - Строка - код КЛАДР города.
// ** НаселенныйПункт - Строка - код КЛАДР населенного пункта. // ** НаселенныйПункт - Строка - код КЛАДР населенного пункта.
// ** Улица - Строка - код КЛАДР улицу. // ** Улица - Строка - код КЛАДР улицу.
// * ДополнительныеКоды - Структура - коды ОКТМО, ОКТМО, ОКАТО, КодИФНСФЛ, КодИФНСЮЛ, КодУчасткаИФНСФЛ, КодУчасткаИФНСЮЛ. // * ДополнительныеКоды - Структура - коды ОКТМО, ОКТМОБюджетополучателя, ОКАТО,
// КодИФНСФЛ, КодИФНСЮЛ, КодУчасткаИФНСФЛ, КодУчасткаИФНСЮЛ.
// Поле отсутствует, если дополнительный параметр КодыАдреса равен Ложь. // Поле отсутствует, если дополнительный параметр КодыАдреса равен Ложь.
// * РезультатПроверкиАдреса - Строка - "Успех", если адрес корректный, "Ошибка" - при наличии ошибок проверки, // * РезультатПроверкиАдреса - Строка - "Успех", если адрес корректный, "Ошибка" - при наличии ошибок проверки,
// "Отказ", если не удалось проверить адрес, т.к. не доступен классификатор. // "Отказ", если не удалось проверить адрес, т.к. не доступен классификатор.
@@ -972,7 +973,8 @@
Представление = ""; Представление = "";
КонецЕсли; КонецЕсли;
Если Результат.Свойство("Страна") И СтрСравнить(Результат.Страна, РаботаСАдресамиКлиентСервер.ОсновнаяСтрана().Наименование) = 0 Тогда НазваниеОсновнойСтраны = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(РаботаСАдресамиКлиентСервер.ОсновнаяСтрана(), "Наименование");
Если Результат.Свойство("Страна") И СтрСравнить(Результат.Страна, НазваниеОсновнойСтраны) = 0 Тогда
Результат.Вставить("АдресРФ", Истина); Результат.Вставить("АдресРФ", Истина);
Иначе Иначе
Результат.Вставить("АдресРФ", Ложь); Результат.Вставить("АдресРФ", Ложь);
@@ -2011,7 +2013,7 @@
Результат = РаботаСАдресамиКлиентСервер.ОписаниеНовойКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.Адрес); Результат = РаботаСАдресамиКлиентСервер.ОписаниеНовойКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.Адрес);
Результат.Comment = ""; Результат.Comment = "";
НазваниеОсновнойСтраны = ВРег(РаботаСАдресамиКлиентСервер.ОсновнаяСтрана().Наименование); НазваниеОсновнойСтраны = ВРег(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(РаботаСАдресамиКлиентСервер.ОсновнаяСтрана(), "Наименование"));
ЭлементКвартира = Неопределено; ЭлементКвартира = Неопределено;
ЭлементКорпус = Неопределено; ЭлементКорпус = Неопределено;
ЭлементДом = Неопределено; ЭлементДом = Неопределено;
@@ -2447,7 +2449,8 @@
АдресПоПолям.КодСтраны = КодыСтраны(АдресИзJSON); АдресПоПолям.КодСтраны = КодыСтраны(АдресИзJSON);
НаименованиеРегиона = СокрЛП(АдресИзJSON["area"] + " " +АдресИзJSON["areaType"]); НаименованиеРегиона = СокрЛП(АдресИзJSON["area"] + " " +АдресИзJSON["areaType"]);
ЭтоНациональныйАдрес = ?(СтрСравнить(АдресИзJSON.Country, РаботаСАдресамиКлиентСервер.ОсновнаяСтрана().Наименование) = 0, Истина, Ложь); НазваниеОсновнойСтраны = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(РаботаСАдресамиКлиентСервер.ОсновнаяСтрана(), "Наименование");
ЭтоНациональныйАдрес = ?(СтрСравнить(АдресИзJSON.Country, НазваниеОсновнойСтраны) = 0, Истина, Ложь);
АдресПоПолям.КодРегиона = ?(ЭтоНациональныйАдрес, КодРегиона(НаименованиеРегиона), ""); АдресПоПолям.КодРегиона = ?(ЭтоНациональныйАдрес, КодРегиона(НаименованиеРегиона), "");
ИдентификаторАдресногоОбъекта = ""; ИдентификаторАдресногоОбъекта = "";
@@ -2823,6 +2826,7 @@
СоответствиеПолей.Вставить("Страна", "country"); СоответствиеПолей.Вставить("Страна", "country");
СоответствиеПолей.Вставить("Индекс", "ZIPCode"); СоответствиеПолей.Вставить("Индекс", "ZIPCode");
СоответствиеПолей.Вставить("ОКТМО", "oktmo"); СоответствиеПолей.Вставить("ОКТМО", "oktmo");
СоответствиеПолей.Вставить("ОКТМОБюджетополучателя", "oktmoBudget");
СоответствиеПолей.Вставить("ОКАТО", "okato"); СоответствиеПолей.Вставить("ОКАТО", "okato");
СоответствиеПолей.Вставить("Регион", "area"); СоответствиеПолей.Вставить("Регион", "area");
СоответствиеПолей.Вставить("РегионСокращение", "areaType"); СоответствиеПолей.Вставить("РегионСокращение", "areaType");
@@ -2951,8 +2955,9 @@
Результат.Вставить("ДополнительныеКоды", ДополнительныеКоды); Результат.Вставить("ДополнительныеКоды", ДополнительныеКоды);
УстановитьЗначенияПоля(Результат, Адрес, "ОКТМО", "OKTMO"); УстановитьЗначенияПоля(Результат, Адрес, "ОКТМО", "oktmo");
УстановитьЗначенияПоля(Результат, Адрес, "ОКАТО", "OKATO"); УстановитьЗначенияПоля(Результат, Адрес, "ОКТМОБюджетополучателя", "oktmoBudget");
УстановитьЗначенияПоля(Результат, Адрес, "ОКАТО", "okato");
УстановитьЗначенияПоля(Результат, Адрес, "КодИФНСФЛ", "IFNSFLCode"); УстановитьЗначенияПоля(Результат, Адрес, "КодИФНСФЛ", "IFNSFLCode");
УстановитьЗначенияПоля(Результат, Адрес, "КодИФНСЮЛ", "IFNSULCode"); УстановитьЗначенияПоля(Результат, Адрес, "КодИФНСЮЛ", "IFNSULCode");
УстановитьЗначенияПоля(Результат, Адрес, "КодУчасткаИФНСФЛ", "IFNSFLAreaCode"); УстановитьЗначенияПоля(Результат, Адрес, "КодУчасткаИФНСФЛ", "IFNSFLAreaCode");
@@ -3563,7 +3568,7 @@
Если Не ЗначениеЗаполнено(Проверка) Тогда Если Не ЗначениеЗаполнено(Проверка) Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ВидКонтактнойИнформации = ВидПроверки.Свойство2; // СправочникСсылка.ВидыКонтактнойИнформации ВидКонтактнойИнформации = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВидПроверки, "Свойство2"); // СправочникСсылка.ВидыКонтактнойИнформации
ВключатьСтрануВПредставление = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВидКонтактнойИнформации, "ВключатьСтрануВПредставление"); ВключатьСтрануВПредставление = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВидКонтактнойИнформации, "ВключатьСтрануВПредставление");
ПроблемныеОбъекты = МодульКонтрольВеденияУчета.ПроблемныеОбъектыПоВидуПроверки(ВидПроверки); ПроблемныеОбъекты = МодульКонтрольВеденияУчета.ПроблемныеОбъектыПоВидуПроверки(ВидПроверки);
@@ -4116,7 +4121,7 @@
КонецЕсли; КонецЕсли;
ПолноеИмяОбъектаСКонтактнойИнформацией = ПроблемныеОбъекты[0].ПроблемныйОбъект.Метаданные().ПолноеИмя(); ПолноеИмяОбъектаСКонтактнойИнформацией = ПроблемныеОбъекты[0].ПроблемныйОбъект.Метаданные().ПолноеИмя();
Вид = ВидПроверки.Свойство2; Вид = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВидПроверки, "Свойство2");
СвойстваВида = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Вид, "ВключатьСтрануВПредставление, ХранитьИсториюИзменений, Ссылка"); СвойстваВида = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Вид, "ВключатьСтрануВПредставление, ХранитьИсториюИзменений, Ссылка");
ТекстЗапроса = "ВЫБРАТЬ ТекстЗапроса = "ВЫБРАТЬ
@@ -458,8 +458,9 @@
// * Buildings - Массив - содержит структуры(поля структуры: type, number) с перечнем корпусов (строений) адреса. // * Buildings - Массив - содержит структуры(поля структуры: type, number) с перечнем корпусов (строений) адреса.
// * Apartments - Массив - содержит структуры(поля структуры: type, number) с перечнем помещений адреса. // * Apartments - Массив - содержит структуры(поля структуры: type, number) с перечнем помещений адреса.
// * CodeKLADR - Строка - код КЛАДР. // * CodeKLADR - Строка - код КЛАДР.
// * OKTMO - Строка - код ОКТМО. // * oktmo - Строка - код ОКТМО.
// * OKATO - Строка - код ОКАТО. // * oktmoBudget - Строка - код ОКТМО бюджетополучателя.
// * okato - Строка - код ОКАТО.
// * IFNSFLCode - Строка - код ИФНСФЛ. // * IFNSFLCode - Строка - код ИФНСФЛ.
// * IFNSULCode - Строка - код ИФНСЮЛ. // * IFNSULCode - Строка - код ИФНСЮЛ.
// * IFNSFLAreaCode - Строка - код участка ИФНСФЛ. // * IFNSFLAreaCode - Строка - код участка ИФНСФЛ.
@@ -508,6 +509,7 @@
Результат.Вставить("apartments", Новый Массив); Результат.Вставить("apartments", Новый Массив);
Результат.Вставить("codeKLADR", ""); Результат.Вставить("codeKLADR", "");
Результат.Вставить("oktmo", ""); Результат.Вставить("oktmo", "");
Результат.Вставить("oktmoBudget", "");
Результат.Вставить("okato", ""); Результат.Вставить("okato", "");
Результат.Вставить("asInDocument", ""); Результат.Вставить("asInDocument", "");
Результат.Вставить("ifnsFLCode", ""); Результат.Вставить("ifnsFLCode", "");
@@ -519,7 +521,6 @@
Результат.Вставить("admLevels", Новый Массив); Результат.Вставить("admLevels", Новый Массив);
Результат.Вставить("munLevels", Новый Массив); Результат.Вставить("munLevels", Новый Массив);
КонецЕсли; КонецЕсли;
Возврат Результат; Возврат Результат;
@@ -452,6 +452,74 @@
КонецФункции КонецФункции
// Возвращает список имен полей объекта ИнтернетПочтовоеСообщение.
//
// Возвращаемое значение:
// Структура:
// * АдресаУведомленияОДоставке - Строка
// * АдресаУведомленияОПрочтении - Строка
// * Важность - Строка
// * Вложения - Строка
// * ДатаОтправления - Строка
// * ДатаПолучения - Строка
// * Заголовок - Строка
// * Идентификатор - Строка
// * ИдентификаторСообщения - Строка
// * ИмяОтправителя - Строка
// * Категории - Строка
// * Кодировка - Строка
// * Копии - Строка
// * ОбратныйАдрес - Строка
// * Отправитель - Строка
// * Получатели - Строка
// * Размер - Строка
// * СлепыеКопии - Строка
// * СмещениеДатыОтправления - Строка
// * СтатусРазбора - Строка
// * Тема - Строка
// * Тексты - Строка
// * Кодировка - Строка
// * СпособКодированияНеASCIIСимволов - Строка
// * УведомитьОДоставке - Строка
// * УведомитьОПрочтении - Строка
// * Частичное - Строка
//
Функция ПоляИнтернетПочтовогоСообщения() Экспорт
ПоляСообщения = Новый Структура;
ПоляСообщения.Вставить("АдресаУведомленияОДоставке", "АдресаУведомленияОДоставке");
ПоляСообщения.Вставить("АдресаУведомленияОПрочтении", "АдресаУведомленияОПрочтении");
ПоляСообщения.Вставить("Важность", "Важность");
ПоляСообщения.Вставить("Вложения", "Вложения");
ПоляСообщения.Вставить("ДатаОтправления", "ДатаОтправления");
ПоляСообщения.Вставить("ДатаПолучения", "ДатаПолучения");
ПоляСообщения.Вставить("Заголовок", "Заголовок");
ПоляСообщения.Вставить("ИмяОтправителя", "ИмяОтправителя");
ПоляСообщения.Вставить("Идентификатор", "Идентификатор");
ПоляСообщения.Вставить("ИдентификаторСообщения", "ИдентификаторСообщения");
ПоляСообщения.Вставить("Категории", "Категории");
ПоляСообщения.Вставить("Кодировка", "Кодировка");
ПоляСообщения.Вставить("Копии", "Копии");
ПоляСообщения.Вставить("ОбратныйАдрес", "ОбратныйАдрес");
ПоляСообщения.Вставить("Отправитель", "Отправитель");
ПоляСообщения.Вставить("Получатели", "Получатели");
ПоляСообщения.Вставить("Размер", "Размер");
ПоляСообщения.Вставить("СлепыеКопии", "СлепыеКопии");
ПоляСообщения.Вставить("СмещениеДатыОтправления", "СмещениеДатыОтправления");
ПоляСообщения.Вставить("СтатусРазбора", "СтатусРазбора");
ПоляСообщения.Вставить("Тема", "Тема");
ПоляСообщения.Вставить("Тексты", "Тексты");
ПоляСообщения.Вставить("Кодировка", "Кодировка");
ПоляСообщения.Вставить("СпособКодированияНеASCIIСимволов", "СпособКодированияНеASCIIСимволов");
ПоляСообщения.Вставить("УведомитьОДоставке", "УведомитьОДоставке");
ПоляСообщения.Вставить("УведомитьОПрочтении", "УведомитьОПрочтении");
ПоляСообщения.Вставить("Частичное", "Частичное");
Возврат ПоляСообщения;
КонецФункции
#Область УстаревшиеПроцедурыИФункции #Область УстаревшиеПроцедурыИФункции
// Выполняет отправку почтовых сообщений. // Выполняет отправку почтовых сообщений.
@@ -892,24 +892,26 @@
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
ПоляИнтернетПочтовогоСообщения = РаботаСПочтовымиСообщениями.ПоляИнтернетПочтовогоСообщения();
МассивКолонокПоУмолчанию = Новый Массив; МассивКолонокПоУмолчанию = Новый Массив;
МассивКолонокПоУмолчанию.Добавить("Важность"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.Важность);
МассивКолонокПоУмолчанию.Добавить("Вложения"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.Вложения);
МассивКолонокПоУмолчанию.Добавить("ДатаОтправления"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.ДатаОтправления);
МассивКолонокПоУмолчанию.Добавить("ДатаПолучения"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.ДатаПолучения);
МассивКолонокПоУмолчанию.Добавить("Заголовок"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.Заголовок);
МассивКолонокПоУмолчанию.Добавить("ИмяОтправителя"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.ИмяОтправителя);
МассивКолонокПоУмолчанию.Добавить("Идентификатор"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.Идентификатор);
МассивКолонокПоУмолчанию.Добавить("Копии"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.Копии);
МассивКолонокПоУмолчанию.Добавить("ОбратныйАдрес"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.ОбратныйАдрес);
МассивКолонокПоУмолчанию.Добавить("Отправитель"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.Отправитель);
МассивКолонокПоУмолчанию.Добавить("Получатели"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.Получатели);
МассивКолонокПоУмолчанию.Добавить("Размер"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.Размер);
МассивКолонокПоУмолчанию.Добавить("Тема"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.Тема);
МассивКолонокПоУмолчанию.Добавить("Тексты"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.Тексты);
МассивКолонокПоУмолчанию.Добавить("Кодировка"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.Кодировка);
МассивКолонокПоУмолчанию.Добавить("СпособКодированияНеASCIIСимволов"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.СпособКодированияНеASCIIСимволов);
МассивКолонокПоУмолчанию.Добавить("Частичное"); МассивКолонокПоУмолчанию.Добавить(ПоляИнтернетПочтовогоСообщения.Частичное);
Если Колонки = Неопределено Тогда Если Колонки = Неопределено Тогда
Колонки = МассивКолонокПоУмолчанию; Колонки = МассивКолонокПоУмолчанию;
@@ -2281,12 +2283,13 @@
ПараметрыЗагрузкиСообщений = Новый Структура; ПараметрыЗагрузкиСообщений = Новый Структура;
КолонкиТаблицыСообщений = Новый Массив; КолонкиТаблицыСообщений = Новый Массив;
КолонкиТаблицыСообщений.Добавить("Заголовок"); ПоляИнтернетПочтовогоСообщения = РаботаСПочтовымиСообщениями.ПоляИнтернетПочтовогоСообщения();
КолонкиТаблицыСообщений.Добавить("ДатаОтправления"); КолонкиТаблицыСообщений.Добавить(ПоляИнтернетПочтовогоСообщения.Заголовок);
КолонкиТаблицыСообщений.Добавить("Тексты"); КолонкиТаблицыСообщений.Добавить(ПоляИнтернетПочтовогоСообщения.ДатаОтправления);
КолонкиТаблицыСообщений.Добавить("Отправитель"); КолонкиТаблицыСообщений.Добавить(ПоляИнтернетПочтовогоСообщения.Тексты);
КолонкиТаблицыСообщений.Добавить(ПоляИнтернетПочтовогоСообщения.Отправитель);
ПараметрыЗагрузкиСообщений.Вставить("Колонки", КолонкиТаблицыСообщений); ПараметрыЗагрузкиСообщений.Вставить("Колонки", КолонкиТаблицыСообщений);
СтатусыДоставки = Новый ТаблицаЗначений; СтатусыДоставки = Новый ТаблицаЗначений;
СтатусыДоставки.Колонки.Добавить("Отправитель", Новый ОписаниеТипов("СправочникСсылка.УчетныеЗаписиЭлектроннойПочты")); СтатусыДоставки.Колонки.Добавить("Отправитель", Новый ОписаниеТипов("СправочникСсылка.УчетныеЗаписиЭлектроннойПочты"));
СтатусыДоставки.Колонки.Добавить("ИдентификаторПисьма", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(255))); СтатусыДоставки.Колонки.Добавить("ИдентификаторПисьма", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(255)));
@@ -2302,7 +2305,7 @@
Выборка = ВыборкаОтправитель.Выбрать(); Выборка = ВыборкаОтправитель.Выбрать();
Пока Выборка.Следующий() Цикл Пока Выборка.Следующий() Цикл
Для Каждого Сообщение Из Сообщения Цикл Для Каждого Сообщение Из Сообщения Цикл // ИнтернетПочтовоеСообщение
Если СтрНайти(Сообщение.Заголовок, Выборка.АдресПолучателя) = 0 Если СтрНайти(Сообщение.Заголовок, Выборка.АдресПолучателя) = 0
И СтрНайти(Сообщение.Заголовок, Выборка.ИдентификаторПисьма) = 0 И СтрНайти(Сообщение.Заголовок, Выборка.ИдентификаторПисьма) = 0
И СтрНайти(Сообщение.Отправитель, "mailer-daemon")= 0 И СтрНайти(Сообщение.Отправитель, "mailer-daemon")= 0
@@ -712,7 +712,8 @@
// * ФорматКартинки - Строка - формат картинки запрашиваемый у драйвера. // * ФорматКартинки - Строка - формат картинки запрашиваемый у драйвера.
// * Разрешение - Число - разрешение DPI. // * Разрешение - Число - разрешение DPI.
// * Цветность - Число - принимает значения 0 (черно-белое), 1 (оттенки серого), 2 (цветное). // * Цветность - Число - принимает значения 0 (черно-белое), 1 (оттенки серого), 2 (цветное).
// * Поворот - Число - угол поворота в градусах, допустимы значения 0, 90, 180, 270. Не все сканеры поддерживают эту настройку. // * Поворот - Число - угол поворота в градусах, допустимы значения 0, 90, 180, 270. Не все сканеры поддерживают эту
// настройку.
// * РазмерБумаги - Число - не все сканеры поддерживают эту настройку. Принимает значения // * РазмерБумаги - Число - не все сканеры поддерживают эту настройку. Принимает значения
// 0 - не задано // 0 - не задано
// 11 - А3 // 11 - А3
@@ -1371,6 +1372,14 @@
Процедура ДоступнаКомандаСканироватьЗавершение(РезультатПроверкиИнициализации, ОповещениеРезультата) Экспорт Процедура ДоступнаКомандаСканироватьЗавершение(РезультатПроверкиИнициализации, ОповещениеРезультата) Экспорт
КомпонентаПроинициализирована = РезультатПроверкиИнициализации.Подключено; КомпонентаПроинициализирована = РезультатПроверкиИнициализации.Подключено;
Если Не КомпонентаПроинициализирована Тогда
Если ЗначениеЗаполнено(РезультатПроверкиИнициализации.ОписаниеОшибки) Тогда
ПоказатьПредупреждение(, РезультатПроверкиИнициализации.ОписаниеОшибки);
КонецЕсли;
Возврат;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.ВключитьЛогированиеКомпоненты(РезультатПроверкиИнициализации.ПодключаемыйМодуль); РаботаСФайламиСлужебныйКлиент.ВключитьЛогированиеКомпоненты(РезультатПроверкиИнициализации.ПодключаемыйМодуль);
ВыполнитьОбработкуОповещения(ОповещениеРезультата, КомпонентаПроинициализирована); ВыполнитьОбработкуОповещения(ОповещениеРезультата, КомпонентаПроинициализирована);
КонецПроцедуры КонецПроцедуры
@@ -2737,7 +2737,8 @@
Запрос = Новый Запрос(ТекстЗапроса); Запрос = Новый Запрос(ТекстЗапроса);
Выборка = Запрос.Выполнить().Выбрать(); Выборка = Запрос.Выполнить().Выбрать();
МодульЦентрМониторинга.ЗаписатьСтатистикуОбъектаКонфигурации("Справочник.УчетныеЗаписиСинхронизацииФайлов", Выборка.Количество()); МодульЦентрМониторинга.ЗаписатьСтатистикуОбъектаКонфигурации("Справочник.УчетныеЗаписиСинхронизацииФайлов",
Выборка.Количество());
УстановитьПривилегированныйРежим(Истина); УстановитьПривилегированныйРежим(Истина);
КлючиНастроек = ХранилищеОбщихНастроек.ПолучитьСписок("НастройкиСканирования/ИмяУстройства"); КлючиНастроек = ХранилищеОбщихНастроек.ПолучитьСписок("НастройкиСканирования/ИмяУстройства");
@@ -3141,62 +3141,63 @@
КонецФункции КонецФункции
/////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////
// Печать табличного документа со штампом электронной подписи. // Заполняет в табличном или офисном документе штамп электронной подписи.
Функция ТабличныйДокументСоШтампом(Знач Файл) Экспорт Функция ДокументСоШтампом(Знач Файл) Экспорт
ДанныеФайла = РаботаСФайлами.ДанныеФайла(Файл); Расширение = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Файл, "Расширение");
ВременныйФайл = ПолучитьИмяВременногоФайла(".mxl");
ДвоичныеДанные = ПолучитьИзВременногоХранилища(ДанныеФайла.СсылкаНаДвоичныеДанныеФайла); // ДвоичныеДанные
ДвоичныеДанные.Записать(ВременныйФайл);
ТабличныйДокумент = Новый ТабличныйДокумент; Если Расширение = "mxl" Тогда
ТабличныйДокумент.Прочитать(ВременныйФайл); ДанныеФайла = РаботаСФайлами.ДанныеФайла(Файл);
ВременныйФайл = ПолучитьИмяВременногоФайла(".mxl");
УдалитьФайлы(ВременныйФайл); ДвоичныеДанные = ПолучитьИзВременногоХранилища(ДанныеФайла.СсылкаНаДвоичныеДанныеФайла); // ДвоичныеДанные
ДвоичныеДанные.Записать(ВременныйФайл);
МодульЭлектроннаяПодпись = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодпись");
ТабличныйДокумент = Новый ТабличныйДокумент;
ПараметрыШтампа = Новый Структура; ТабличныйДокумент.Прочитать(ВременныйФайл);
ПараметрыШтампа.Вставить("ТекстОтметки", "");
ПараметрыШтампа.Вставить("Логотип"); УдалитьФайлы(ВременныйФайл);
ЭлектронныеПодписи = МодульЭлектроннаяПодпись.УстановленныеПодписи(Файл); МодульЭлектроннаяПодпись = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодпись");
ВладелецФайла = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Файл, "ВладелецФайла");
ПараметрыШтампа = Новый Структура;
СведенияОФайле = Новый Структура; ПараметрыШтампа.Вставить("ТекстОтметки", "");
СведенияОФайле.Вставить("ВладелецФайла", ВладелецФайла); ПараметрыШтампа.Вставить("Логотип");
Штампы = Новый Массив; ЭлектронныеПодписи = МодульЭлектроннаяПодпись.УстановленныеПодписи(Файл);
Для Каждого Подпись Из ЭлектронныеПодписи Цикл ВладелецФайла = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Файл, "ВладелецФайла");
Сертификат = Подпись.Сертификат;
СертификатКриптографии = Новый СертификатКриптографии(Сертификат.Получить()); СведенияОФайле = Новый Структура;
РаботаСФайламиПереопределяемый.ПриПечатиФайлаСоШтампом(ПараметрыШтампа, СертификатКриптографии); СведенияОФайле.Вставить("ВладелецФайла", ВладелецФайла);
Штампы = Новый Массив;
Для Каждого Подпись Из ЭлектронныеПодписи Цикл
Сертификат = Подпись.Сертификат;
СертификатКриптографии = Новый СертификатКриптографии(Сертификат.Получить());
РаботаСФайламиПереопределяемый.ПриПечатиФайлаСоШтампом(ПараметрыШтампа, СертификатКриптографии);
Штамп = МодульЭлектроннаяПодпись.ШтампВизуализацииЭлектроннойПодписи(СертификатКриптографии,
Подпись.ДатаПодписи, ПараметрыШтампа.ТекстОтметки, ПараметрыШтампа.Логотип);
Штампы.Добавить(Штамп);
КонецЦикла;
МодульЭлектроннаяПодпись.ДобавитьШтампыВТабличныйДокумент(ТабличныйДокумент, Штампы);
Возврат ТабличныйДокумент;
ИначеЕсли Расширение = "docx" Тогда
ДанныеФайла = РаботаСФайлами.ДанныеФайла(Файл);
МодульЭлектроннаяПодпись = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодпись");
ЭлектронныеПодписи = МодульЭлектроннаяПодпись.УстановленныеПодписи(Файл);
МодульУправлениеПечатью = ОбщегоНазначения.ОбщийМодуль("УправлениеПечатью");
МодульУправлениеПечатью.ДобавитьШтампыВОфисныйДокумент(ДанныеФайла.СсылкаНаДвоичныеДанныеФайла, ЭлектронныеПодписи);
Возврат ДанныеФайла.СсылкаНаДвоичныеДанныеФайла;
Иначе
Возврат Неопределено;
КонецЕсли;
Штамп = МодульЭлектроннаяПодпись.ШтампВизуализацииЭлектроннойПодписи(СертификатКриптографии,
Подпись.ДатаПодписи, ПараметрыШтампа.ТекстОтметки, ПараметрыШтампа.Логотип);
Штампы.Добавить(Штамп);
КонецЦикла;
МодульЭлектроннаяПодпись.ДобавитьШтампыВТабличныйДокумент(ТабличныйДокумент, Штампы);
Возврат ТабличныйДокумент;
КонецФункции КонецФункции
///////////////////////////////////////////////////////////////////////////////////
// Печать офисного документа со штампом электронной подписи.
Функция ОфисныйДокументСоШтампом(Знач Файл) Экспорт
ДанныеФайла = РаботаСФайлами.ДанныеФайла(Файл);
МодульЭлектроннаяПодпись = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодпись");
ЭлектронныеПодписи = МодульЭлектроннаяПодпись.УстановленныеПодписи(Файл);
МодульУправлениеПечатью = ОбщегоНазначения.ОбщийМодуль("УправлениеПечатью");
МодульУправлениеПечатью.ДобавитьШтампыВОфисныйДокумент(ДанныеФайла.СсылкаНаДвоичныеДанныеФайла, ЭлектронныеПодписи);
Возврат ДанныеФайла.СсылкаНаДвоичныеДанныеФайла;
КонецФункции
// Проверяет наличие файла на компьютере. // Проверяет наличие файла на компьютере.
// //
@@ -3252,42 +3253,35 @@
Функция ТехническаяИнформацияОВерсияхПодсистемИРасширениях() Экспорт Функция ТехническаяИнформацияОВерсияхПодсистемИРасширениях() Экспорт
УстановитьОтключениеБезопасногоРежима(Истина); Возврат СтандартныеПодсистемыСервер.ТехническаяИнформацияОВерсияхПодсистемИРасширениях();
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВерсииПодсистем.ИмяПодсистемы КАК ИмяПодсистемы,
| ВерсииПодсистем.Версия КАК Версия
|ИЗ
| РегистрСведений.ВерсииПодсистем КАК ВерсииПодсистем";
ВерсииПодсистем = Запрос.Выполнить().Выбрать();
ТехническаяИнформацияОВерсияхПодсистемИРасширениях = НСтр("ru = 'Версии подсистем'") + ":" + Символы.ПС;
Пока ВерсииПодсистем.Следующий() Цикл
ТехническаяИнформацияОВерсияхПодсистемИРасширениях = ТехническаяИнформацияОВерсияхПодсистемИРасширениях
+ ВерсииПодсистем.ИмяПодсистемы + " - "
+ ВерсииПодсистем.Версия + Символы.ПС;
КонецЦикла;
ТехническаяИнформацияОВерсияхПодсистемИРасширениях = ТехническаяИнформацияОВерсияхПодсистемИРасширениях + Символы.ПС;
Расширения = РасширенияКонфигурации.Получить();
Для Каждого Расширение Из Расширения Цикл
ТехническаяИнформацияОВерсияхПодсистемИРасширениях = ТехническаяИнформацияОВерсияхПодсистемИРасширениях
+ Расширение.Имя + " - " + Расширение.Синоним + " - "
+ Формат(Расширение.Активно, НСтр("ru = 'БЛ=Отключено; БИ=Включено'")) + Символы.ПС;
КонецЦикла;
Возврат ТехническаяИнформацияОВерсияхПодсистемИРасширениях;
КонецФункции КонецФункции
Функция ЖурналСканированияДляТехподдержки() Экспорт Функция ПараметрыЛогирования(ИдентификаторКлиента) Экспорт
Результат = Новый Структура;
Результат.Вставить("ДатаНачалаЛогированияСканирования",
ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("КомпонентаСканирования", "ДатаНачалаЛогированияСканирования",
Дата(1,1,1)));
Результат.Вставить("ИмяЛогФайла", ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("КомпонентаСканирования",
"ИмяЛогФайла", Неопределено));
Результат.Вставить("КаталогЖурналаСканирования",
ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("НастройкиСканирования/КаталогЖурналаСканирования",
ИдентификаторКлиента, Неопределено));
Результат.Вставить("ИспользоватьКаталогЖурналаСканирования",
ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("НастройкиСканирования/ИспользоватьКаталогЖурналаСканирования",
ИдентификаторКлиента, Ложь));
Возврат Результат;
КонецФункции
// Возвращаемое значение:
// Структура:
// * ЖурналРегистрации - ДвоичныеДанные - данные выгрузки журнала регистрации
// * ТехническаяИнформацияОВерсияхПодсистемИРасширениях - Строка
// * ИмяЛогФайла - Строка - имя логфайла, используемое компонентой сканирования
//
Функция ТехническаяИнформация() Экспорт
Результат = Новый Структура;
СобытиеЖурналаСканирования = НСтр("ru='Сканирование изображений'", ОбщегоНазначения.КодОсновногоЯзыка()); СобытиеЖурналаСканирования = НСтр("ru='Сканирование изображений'", ОбщегоНазначения.КодОсновногоЯзыка());
СобытияОтбора = Новый Массив; СобытияОтбора = Новый Массив;
@@ -3308,26 +3302,26 @@
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "СобытиеСканера.ImageAcquired"); СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "СобытиеСканера.ImageAcquired");
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "СобытиеСканера.EndBatch"); СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "СобытиеСканера.EndBatch");
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "СобытиеСканера.UserPressedCancel"); СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "СобытиеСканера.UserPressedCancel");
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "LogFilePath.УстановкаЗначения");
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "LogFilePath.ЗначениеУстановлено");
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "LogFilePath");
Отбор = Новый Структура("Событие", СобытияОтбора); Отбор = Новый Структура("Событие", СобытияОтбора);
Отбор.Вставить("ДатаНачала", ТекущаяДатаСеанса() - 600); Отбор.Вставить("ДатаНачала", ТекущаяДатаСеанса() - 600);
Возврат ЖурналРегистрации.ЖурналДляТехподдержки(Отбор, 200, Новый УникальныйИдентификатор); Результат.Вставить("ЖурналРегистрации", ПолучитьИзВременногоХранилища(
КонецФункции ЖурналРегистрации.ЖурналДляТехподдержки(Отбор, 200, Новый УникальныйИдентификатор)));
Результат.Вставить("ТехническаяИнформацияОВерсияхПодсистемИРасширениях",
Функция ПараметрыЛогирования(ИдентификаторКлиента) Экспорт СтандартныеПодсистемыСервер.ТехническаяИнформацияОВерсияхПодсистемИРасширениях());
Результат = Новый Структура; Результат.Вставить("ИмяЛогФайла",
Результат.Вставить("ДатаНачалаЛогированияСканирования", ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("КомпонентаСканирования", ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекЗагрузить("КомпонентаСканирования", "ИмяЛогФайла"));
"ДатаНачалаЛогированияСканирования", Дата(1,1,1)));
Результат.Вставить("ИмяЛогФайла", ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("КомпонентаСканирования",
"ИмяЛогФайла", Неопределено));
Результат.Вставить("КаталогЖурналаСканирования",
ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("НастройкиСканирования/КаталогЖурналаСканирования",
ИдентификаторКлиента, Неопределено));
Результат.Вставить("ИспользоватьКаталогЖурналаСканирования",
ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("НастройкиСканирования/ИспользоватьКаталогЖурналаСканирования",
ИдентификаторКлиента, Ложь));
Возврат Результат; Возврат Результат;
КонецФункции КонецФункции
Процедура УстановитьПараметрыНачалаЛогирования(ИмяЛогФайла) Экспорт
ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекСохранить("КомпонентаСканирования", "ИмяЛогФайла", ИмяЛогФайла);
ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекСохранить("КомпонентаСканирования", "ДатаНачалаЛогированияСканирования",
ТекущаяДатаСеанса());
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -10608,15 +10608,13 @@
#ИначеЕсли ВебКлиент Тогда #ИначеЕсли ВебКлиент Тогда
Возврат Ложь; Возврат Ложь;
#Иначе #Иначе
Возврат ОбщегоНазначенияКлиент.ТипПлатформыКлиента() = ТипПлатформы.Windows_x86 Возврат ОбщегоНазначенияКлиент.ЭтоWindowsКлиент();
Или ОбщегоНазначенияКлиент.ТипПлатформыКлиента() = ТипПлатформы.Windows_x86_64;
#КонецЕсли #КонецЕсли
Иначе Иначе
#Если МобильныйКлиент ИЛИ ВебКлиент Тогда #Если МобильныйКлиент ИЛИ ВебКлиент Тогда
Возврат Ложь; Возврат Ложь;
#Иначе #Иначе
Возврат ОбщегоНазначенияКлиент.ТипПлатформыКлиента() = ТипПлатформы.Windows_x86 Возврат ОбщегоНазначенияКлиент.ЭтоWindowsКлиент();
Или ОбщегоНазначенияКлиент.ТипПлатформыКлиента() = ТипПлатформы.Windows_x86_64;
#КонецЕсли #КонецЕсли
КонецЕсли; КонецЕсли;
@@ -10764,23 +10762,30 @@
КонецФункции КонецФункции
/////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////
// Печать табличного документа со штампом электронной подписи. // Печать табличного или офисного документа со штампом электронной подписи.
Процедура ПечатьФайлаСоШтампом(ТабличныйДокумент) Экспорт Процедура ПечатьФайлаСоШтампом(Документ, НаименованиеФайла) Экспорт
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда НаименованиеДокумента = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 (со штампом)'"),
МодульУправлениеПечатьюКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УправлениеПечатьюКлиент"); НаименованиеФайла);
ИдентификаторПечатнойФормы = "ПрисоединенныйФайл";
ТабличныйДокумент.Защита = Ложь; Если ТипЗнч(Документ) = Тип("ТабличныйДокумент") Тогда
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда
КоллекцияПечатныхФорм = МодульУправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм(ИдентификаторПечатнойФормы); МодульУправлениеПечатьюКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УправлениеПечатьюКлиент");
ПечатнаяФорма = МодульУправлениеПечатьюКлиент.ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, ИдентификаторПечатнойФормы); ИдентификаторПечатнойФормы = "ПрисоединенныйФайл";
ПечатнаяФорма.СинонимМакета = НСтр("ru = 'Файл со штампом'"); Документ.Защита = Ложь;
ПечатнаяФорма.ТабличныйДокумент = ТабличныйДокумент;
КоллекцияПечатныхФорм = МодульУправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм(ИдентификаторПечатнойФормы);
МодульУправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм); ПечатнаяФорма = МодульУправлениеПечатьюКлиент.ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, ИдентификаторПечатнойФормы);
ПечатнаяФорма.СинонимМакета = НаименованиеДокумента;
ПечатнаяФорма.ТабличныйДокумент = Документ;
МодульУправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм);
Иначе
Документ.Напечатать(РежимИспользованияДиалогаПечати.Использовать);
КонецЕсли;
Иначе Иначе
ТабличныйДокумент.Напечатать(РежимИспользованияДиалогаПечати.Использовать); ФайловаяСистемаКлиент.ОткрытьФайл(Документ, , НаименованиеДокумента+".docx");
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -11104,7 +11109,7 @@
ИмяЛогФайла = ПараметрыЛогирования.ИмяЛогФайла; ИмяЛогФайла = ПараметрыЛогирования.ИмяЛогФайла;
Если Перезапуск И ИмяЛогФайла <> Неопределено Тогда Если Перезапуск И ИмяЛогФайла <> Неопределено Тогда
ПодключаемыйМодуль.LogFilePath = ""; УстановитьИмяЛогФайла(ПодключаемыйМодуль, "");
ФайлЛога = Новый Файл(ИмяЛогФайла); ФайлЛога = Новый Файл(ИмяЛогФайла);
Если ФайлЛога.Существует() Тогда Если ФайлЛога.Существует() Тогда
УдалитьФайлы(ИмяЛогФайла); УдалитьФайлы(ИмяЛогФайла);
@@ -11117,7 +11122,8 @@
Контекст = Новый Структура; Контекст = Новый Структура;
Контекст.Вставить("ПодключаемыйМодуль", ПодключаемыйМодуль); Контекст.Вставить("ПодключаемыйМодуль", ПодключаемыйМодуль);
ОповещениеПослеСозданияВременногоКаталогаДляПодключенияЛогФайлов = Новый ОписаниеОповещения("ОповещениеПослеСозданияВременногоКаталогаДляПодключенияЛогФайлов", ЭтотОбъект, Контекст); ОповещениеПослеСозданияВременногоКаталогаДляПодключенияЛогФайлов = Новый ОписаниеОповещения("ОповещениеПослеСозданияВременногоКаталогаДляПодключенияЛогФайлов",
ЭтотОбъект, Контекст);
Если ИспользоватьКаталогЖурналаСканирования И КаталогЖурналаСканирования <> Неопределено Тогда Если ИспользоватьКаталогЖурналаСканирования И КаталогЖурналаСканирования <> Неопределено Тогда
ВыполнитьОбработкуОповещения(ОповещениеПослеСозданияВременногоКаталогаДляПодключенияЛогФайлов, КаталогЖурналаСканирования); ВыполнитьОбработкуОповещения(ОповещениеПослеСозданияВременногоКаталогаДляПодключенияЛогФайлов, КаталогЖурналаСканирования);
@@ -11127,14 +11133,24 @@
КонецПроцедуры КонецПроцедуры
Процедура УстановитьИмяЛогФайла(ПодключаемыйМодуль, ИмяЛогФайла)
ЗаписатьЖурналСканирования("LogFilePath.УстановкаЗначения",
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("LogFilePath = %1", ИмяЛогФайла));
Попытка
ПодключаемыйМодуль.LogFilePath = ИмяЛогФайла;
ЗаписатьЖурналСканирования("LogFilePath.ЗначениеУстановлено");
Исключение
ПредставлениеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписатьЖурналСканирования("LogFilePath", ПредставлениеОшибки, Истина);
КонецПопытки;
КонецПроцедуры
Процедура ОповещениеПослеСозданияВременногоКаталогаДляПодключенияЛогФайлов(КаталогЖурналаСканирования, Контекст) Экспорт Процедура ОповещениеПослеСозданияВременногоКаталогаДляПодключенияЛогФайлов(КаталогЖурналаСканирования, Контекст) Экспорт
ИмяЛогФайла = КаталогЖурналаСканирования + ПолучитьРазделительПути() + "ImageScan.log"; ИмяЛогФайла = КаталогЖурналаСканирования + ПолучитьРазделительПути() + "ImageScan.log";
ПодключаемыйМодуль = Контекст.ПодключаемыйМодуль; ПодключаемыйМодуль = Контекст.ПодключаемыйМодуль;
ПодключаемыйМодуль.LogFilePath = ИмяЛогФайла; УстановитьИмяЛогФайла(ПодключаемыйМодуль, ИмяЛогФайла);
ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекСохранить("КомпонентаСканирования", "ИмяЛогФайла", ИмяЛогФайла); РаботаСФайламиСлужебныйВызовСервера.УстановитьПараметрыНачалаЛогирования(ИмяЛогФайла);
ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекСохранить("КомпонентаСканирования", "ДатаНачалаЛогированияСканирования",
ОбщегоНазначенияКлиент.ДатаСеанса());
КонецПроцедуры КонецПроцедуры
@@ -11174,7 +11190,7 @@
КонецПроцедуры КонецПроцедуры
Процедура ПолучитьТехническуюИнформацию(ПодробноеПредставлениеОшибки, ОповещениеПослеПолученияТехническойИнформации = Неопределено) Экспорт Процедура ПолучитьТехническуюИнформацию(ПодробноеПредставлениеОшибки, ОповещениеПослеПолученияТехническойИнформации) Экспорт
Режим = РежимДиалогаВыбораФайла.Сохранение; Режим = РежимДиалогаВыбораФайла.Сохранение;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим); ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытияФайла.ПолноеИмяФайла = НСтр("ru='Техническая информация'"); ДиалогОткрытияФайла.ПолноеИмяФайла = НСтр("ru='Техническая информация'");
@@ -11206,10 +11222,11 @@
ИмяФайла = Контекст.ИмяФайла; ИмяФайла = Контекст.ИмяФайла;
КаталогВременныхФайлов = ИмяКаталога + ПолучитьРазделительПути(); КаталогВременныхФайлов = ИмяКаталога + ПолучитьРазделительПути();
ТехническаяИнформация = РаботаСФайламиСлужебныйВызовСервера.ТехническаяИнформация();
ФайлыДляУдаления = Новый Массив; ФайлыДляУдаления = Новый Массив;
ЗаписьZIP = Новый ЗаписьZipФайла(ИмяФайла); ЗаписьZIP = Новый ЗаписьZipФайла(ИмяФайла);
ИмяЛогФайла = ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекЗагрузить("КомпонентаСканирования", "ИмяЛогФайла"); ИмяЛогФайла = ТехническаяИнформация.ИмяЛогФайла;
Если ИмяЛогФайла = Неопределено Тогда Если ИмяЛогФайла = Неопределено Тогда
ЗаписатьЖурналСканирования("ФайлКомпоненты", НСтр("ru='Не задано имя файла журнала компоненты сканирования.'"), Истина); ЗаписатьЖурналСканирования("ФайлКомпоненты", НСтр("ru='Не задано имя файла журнала компоненты сканирования.'"), Истина);
Иначе Иначе
@@ -11227,26 +11244,14 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
ФайлЖурнала = КаталогВременныхФайлов + "ЖурналРегистрации.xml";
АдресЛогов = РаботаСФайламиСлужебныйВызовСервера.ЖурналСканированияДляТехподдержки();
ДанныеЛогов = ПолучитьИзВременногоХранилища(АдресЛогов);
ДанныеЛогов.Записать(ФайлЖурнала);
ФайлыДляУдаления.Добавить(ФайлЖурнала);
ЗаписьZIP.Добавить(ФайлЖурнала);
КонтекстИсходящий = Новый Структура; КонтекстИсходящий = Новый Структура;
Контекст.Вставить("ПослеФормированияСводнойИнформации", Контекст.Вставить("ЗаписьZIP", ЗаписьZIP);
Новый ОписаниеОповещения("ПослеФормированияСводнойИнформации", ЭтотОбъект, ЗаписьZIP));
Контекст.Вставить("ФайлыДляУдаления", ФайлыДляУдаления); Контекст.Вставить("ФайлыДляУдаления", ФайлыДляУдаления);
Контекст.Вставить("ПодробноеПредставлениеОшибки", ПодробноеПредставлениеОшибки); Контекст.Вставить("ПодробноеПредставлениеОшибки", ПодробноеПредставлениеОшибки);
Контекст.Вставить("ОповещениеПослеПолученияТехническойИнформации", ОповещениеПослеПолученияТехническойИнформации); Контекст.Вставить("ОповещениеПослеПолученияТехническойИнформации", ОповещениеПослеПолученияТехническойИнформации);
Контекст.Вставить("КаталогВременныхФайлов", КаталогВременныхФайлов); Контекст.Вставить("КаталогВременныхФайлов", КаталогВременныхФайлов);
Контекст.Вставить("ТехническаяИнформация", ТехническаяИнформация);
СводнаяИнформация(Контекст);
#КонецЕсли
КонецПроцедуры
Процедура СводнаяИнформация(Контекст)
Текст = НСтр("ru = 'Информация о компьютере:'") + Символы.ПС; Текст = НСтр("ru = 'Информация о компьютере:'") + Символы.ПС;
СисИнфо = Новый СистемнаяИнформация; СисИнфо = Новый СистемнаяИнформация;
@@ -11261,14 +11266,19 @@
+ Символы.ПС + НСтр("ru = 'Тип платформы:'") + " " + СисИнфо.ТипПлатформы + Символы.ПС + НСтр("ru = 'Тип платформы:'") + " " + СисИнфо.ТипПлатформы
+ ПрограммаПросмотра + Символы.ПС; + ПрограммаПросмотра + Символы.ПС;
Контекст.Вставить("СводнаяИнформация", Текст); Контекст.Вставить("ТекстСводнойИнформации", Текст);
ОписаниеОповещения = Новый ОписаниеОповещения("СводнаяИнформацияПослеПолученияКомпоненты", ЭтотОбъект, Контекст); ОписаниеОповещения = Новый ОписаниеОповещения("СводнаяИнформацияПослеПолученияКомпоненты", ЭтотОбъект, Контекст);
ПроинициализироватьКомпоненту(ОписаниеОповещения, Истина); ПроинициализироватьКомпоненту(ОписаниеОповещения, Истина);
#КонецЕсли
КонецПроцедуры КонецПроцедуры
Процедура СводнаяИнформацияПослеПолученияКомпоненты(РезультатИнициализации, Контекст) Экспорт Процедура СводнаяИнформацияПослеПолученияКомпоненты(РезультатИнициализации, Контекст) Экспорт
СводнаяИнформация = Контекст.СводнаяИнформация; #Если Не ВебКлиент Тогда
ТекстСводнойИнформации = Контекст.ТекстСводнойИнформации;
ТехническаяИнформация = Контекст.ТехническаяИнформация;
ФайлыДляУдаления = Контекст.ФайлыДляУдаления;
ЗаписьZIP = Контекст.ЗаписьZIP;
ИнформацияОКомпоненте = ""; ИнформацияОКомпоненте = "";
ПодключаемыйМодуль = Неопределено; ПодключаемыйМодуль = Неопределено;
Если РезультатИнициализации.Подключено Тогда Если РезультатИнициализации.Подключено Тогда
@@ -11280,9 +11290,11 @@
Исключение Исключение
ЗаписатьЖурналСканирования("Версия", ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()), Истина); ЗаписатьЖурналСканирования("Версия", ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()), Истина);
КонецПопытки; КонецПопытки;
Иначе
Возврат;
КонецЕсли; КонецЕсли;
СводнаяИнформация = СводнаяИнформация + Символы.ПС + ИнформацияОКомпоненте ТекстСводнойИнформации = ТекстСводнойИнформации + Символы.ПС + ИнформацияОКомпоненте
+ Символы.ПС + Символы.ПС + НСтр("ru='Техническая информация'") + ":" + Символы.ПС + Символы.ПС + НСтр("ru='Техническая информация'") + ":"
+ Символы.ПС + Контекст.ПодробноеПредставлениеОшибки + Символы.ПС + Контекст.ПодробноеПредставлениеОшибки
+ Символы.ПС + Символы.ПС; + Символы.ПС + Символы.ПС;
@@ -11294,36 +11306,37 @@
РежимРаботы = НСтр("ru = 'Клиент-серверный'"); РежимРаботы = НСтр("ru = 'Клиент-серверный'");
КонецЕсли; КонецЕсли;
СводнаяИнформация = СводнаяИнформация + НСтр("ru = 'Режим работы информационной базы'")+ " - " ТекстСводнойИнформации = ТекстСводнойИнформации + НСтр("ru = 'Режим работы информационной базы'")+ " - " + РежимРаботы;
+ РежимРаботы + Символы.ПС + РаботаСФайламиСлужебныйВызовСервера.ТехническаяИнформацияОВерсияхПодсистемИРасширениях() + Символы.ПС;
ИмяФайлаСводнойИнформации = Контекст.КаталогВременныхФайлов + "СводнаяИнформация.txt"; ИмяФайлаСводнойИнформации = Контекст.КаталогВременныхФайлов + "СводнаяИнформация.txt";
ПолучитьДвоичныеДанныеИзСтроки(СводнаяИнформация).Записать(ИмяФайлаСводнойИнформации);
ТекстСводнойИнформации = ТекстСводнойИнформации + Символы.ПС
+ТехническаяИнформация.ТехническаяИнформацияОВерсияхПодсистемИРасширениях + Символы.ПС;
СводнаяИнформация = ПолучитьДвоичныеДанныеИзСтроки(ТекстСводнойИнформации);
СводнаяИнформация.Записать(ИмяФайлаСводнойИнформации);
ФайлыДляУдаления.Добавить(ИмяФайлаСводнойИнформации);
ЗаписьZIP.Добавить(ИмяФайлаСводнойИнформации);
ИмяФайлаЖурнала = Контекст.КаталогВременныхФайлов + "ЖурналРегистрации.xml";
ЖурналРегистрации = ТехническаяИнформация.ЖурналРегистрации; // ДвоичныеДанные
ЖурналРегистрации.Записать(ИмяФайлаЖурнала); // АПК:287
ФайлыДляУдаления.Добавить(ИмяФайлаЖурнала);
ЗаписьZIP.Добавить(ИмяФайлаЖурнала);
КонтекстЗавершения = Новый Структура; КонтекстЗавершения = Новый Структура;
КонтекстЗавершения.Вставить("ИмяФайлаСводнойИнформации", ИмяФайлаСводнойИнформации); КонтекстЗавершения.Вставить("ИмяФайлаСводнойИнформации", ИмяФайлаСводнойИнформации);
КонтекстЗавершения.Вставить("ФайлыДляУдаления", Контекст.ФайлыДляУдаления); КонтекстЗавершения.Вставить("ФайлыДляУдаления", Контекст.ФайлыДляУдаления);
КонтекстЗавершения.Вставить("ОповещениеПослеПолученияТехническойИнформации", Контекст.ОповещениеПослеПолученияТехническойИнформации); КонтекстЗавершения.Вставить("ОповещениеПослеПолученияТехническойИнформации", Контекст.ОповещениеПослеПолученияТехническойИнформации);
УдалитьОшибкуСканирования(ПодключаемыйМодуль);
ВыполнитьОбработкуОповещения(Контекст.ПослеФормированияСводнойИнформации, КонтекстЗавершения);
КонецПроцедуры
Процедура ПослеФормированияСводнойИнформации(Контекст, ЗаписьZIP) Экспорт
ФайлыДляУдаления = Контекст.ФайлыДляУдаления;
ЗаписьZIP.Добавить(Контекст.ИмяФайлаСводнойИнформации);
ФайлыДляУдаления.Добавить(Контекст.ИмяФайлаСводнойИнформации);
ЗаписьZIP.Записать(); ЗаписьZIP.Записать();
Для Каждого ФайлДляУдаления Из ФайлыДляУдаления Цикл Для Каждого ФайлДляУдаления Из ФайлыДляУдаления Цикл
УдалитьФайлы(ФайлДляУдаления); УдалитьФайлы(ФайлДляУдаления);
КонецЦикла; КонецЦикла;
УдалитьОшибкуСканирования(ПодключаемыйМодуль);
Если Контекст.ОповещениеПослеПолученияТехническойИнформации <> Неопределено Тогда Если Контекст.ОповещениеПослеПолученияТехническойИнформации <> Неопределено Тогда
ВыполнитьОбработкуОповещения(Контекст.ОповещениеПослеПолученияТехническойИнформации); ВыполнитьОбработкуОповещения(Контекст.ОповещениеПослеПолученияТехническойИнформации);
КонецЕсли; КонецЕсли;
#КонецЕсли
КонецПроцедуры КонецПроцедуры
#Область УдалениеДанныхФайловИВерсий #Область УдалениеДанныхФайловИВерсий
@@ -190,8 +190,8 @@
РаботаСПочтовымиСообщениямиСлужебный.ВажностьИнтернетПочтовогоСообщенияИзСтроки(РассылкаОбъект.ВажностьПисьма), РаботаСПочтовымиСообщениямиСлужебный.ВажностьИнтернетПочтовогоСообщенияИзСтроки(РассылкаОбъект.ВажностьПисьма),
ВажностьИнтернетПочтовогоСообщения.Обычная); ВажностьИнтернетПочтовогоСообщения.Обычная);
Если Рассылка.ПисьмоВФорматеHTML Тогда Если РассылкаОбъект.ПисьмоВФорматеHTML Тогда
КартинкиПисьмаВФорматеHTML = Рассылка.КартинкиПисьмаВФорматеHTML.Получить(); КартинкиПисьмаВФорматеHTML = РассылкаОбъект.КартинкиПисьмаВФорматеHTML.Получить();
Если КартинкиПисьмаВФорматеHTML <> Неопределено Тогда Если КартинкиПисьмаВФорматеHTML <> Неопределено Тогда
ПараметрыДоставки.Картинки = КартинкиПисьмаВФорматеHTML; ПараметрыДоставки.Картинки = КартинкиПисьмаВФорматеHTML;
КонецЕсли; КонецЕсли;
@@ -816,11 +816,13 @@
КонецЕсли; КонецЕсли;
// Основной вид контактной информации "E-mail" для объекта. // Основной вид контактной информации "E-mail" для объекта.
Если Настройки.Свойство("ВидКИ") И Не Настройки.ВидКИ.ЭтоГруппа Тогда ЕстьВидКИ = Настройки.Свойство("ВидКИ");
РеквизитыВидаКИ = ?(ЕстьВидКИ, ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Настройки.ВидКИ, "ЭтоГруппа, Родитель"), Неопределено);
Если ЕстьВидКИ И Не РеквизитыВидаКИ.ЭтоГруппа Тогда
СтрокаТаблицы.ОсновнойВидКИ = Настройки.ВидКИ; СтрокаТаблицы.ОсновнойВидКИ = Настройки.ВидКИ;
СтрокаТаблицы.ГруппаКИ = Настройки.ВидКИ.Родитель; СтрокаТаблицы.ГруппаКИ = РеквизитыВидаКИ.Родитель;
Иначе Иначе
Если Настройки.Свойство("ВидКИ") Тогда Если ЕстьВидКИ Тогда
СтрокаТаблицы.ГруппаКИ = Настройки.ВидКИ; СтрокаТаблицы.ГруппаКИ = Настройки.ВидКИ;
Иначе Иначе
@@ -1408,7 +1410,9 @@
Возврат СписокПолучателей; Возврат СписокПолучателей;
КонецЕсли; КонецЕсли;
ПолучателиМетаданные = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Рассылка.ТипПолучателейРассылки, Ложь); ПолучателиМетаданные = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Рассылка.ТипПолучателейРассылки, Ложь);
ТипПолучателей = Рассылка.ТипПолучателейРассылки.КлючОбъектаМетаданных.Получить(); КлючОбъектаМетаданных = ?(ЗначениеЗаполнено(Рассылка.ТипПолучателейРассылки),
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Рассылка.ТипПолучателейРассылки, "КлючОбъектаМетаданных"), Неопределено);
ТипПолучателей = ?(КлючОбъектаМетаданных <> Неопределено, КлючОбъектаМетаданных.Получить(), Неопределено);
Если ТипЗнч(Рассылка.Получатели) = Тип("ТаблицаЗначений") Тогда Если ТипЗнч(Рассылка.Получатели) = Тип("ТаблицаЗначений") Тогда
ТаблицаПолучателей = Рассылка.Получатели; ТаблицаПолучателей = Рассылка.Получатели;
Иначе Иначе
@@ -1609,7 +1613,9 @@
Иначе Иначе
ПолучателиМетаданные = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Рассылка.ТипПолучателейРассылки, Ложь); ПолучателиМетаданные = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Рассылка.ТипПолучателейРассылки, Ложь);
ТипПолучателей = Рассылка.ТипПолучателейРассылки.КлючОбъектаМетаданных.Получить(); КлючОбъектаМетаданных = ?(ЗначениеЗаполнено(Рассылка.ТипПолучателейРассылки),
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Рассылка.ТипПолучателейРассылки, "КлючОбъектаМетаданных"), Неопределено);
ТипПолучателей = ?(КлючОбъектаМетаданных <> Неопределено, КлючОбъектаМетаданных.Получить(), Неопределено);
ТаблицаПолучателей = Рассылка.Получатели.Выгрузить(); ТаблицаПолучателей = Рассылка.Получатели.Выгрузить();
КонецЕсли; КонецЕсли;
@@ -2052,13 +2058,9 @@
// В сетевой каталог. // В сетевой каталог.
Если ПараметрыДоставки.ИспользоватьСетевойКаталог Тогда Если ПараметрыДоставки.ИспользоватьСетевойКаталог Тогда
СетевойКаталогСервера = ПараметрыДоставки.СетевойКаталогWindows; СетевойКаталогСервера = ПараметрыДоставки.СетевойКаталогWindows;
СистемнаяИнфо = Новый СистемнаяИнформация;
ТипПлатформыСервера = СистемнаяИнфо.ТипПлатформы;
Если ТипПлатформыСервера = ТипПлатформы.Linux_x86 Если ОбщегоНазначения.ЭтоLinuxСервер() Тогда
Или ТипПлатформыСервера = ТипПлатформы.Linux_x86_64 Тогда
СетевойКаталогСервера = ПараметрыДоставки.СетевойКаталогLinux; СетевойКаталогСервера = ПараметрыДоставки.СетевойКаталогLinux;
КонецЕсли; КонецЕсли;
@@ -4291,10 +4293,8 @@
Если ПараметрыДоставки.ИспользоватьСетевойКаталог Тогда Если ПараметрыДоставки.ИспользоватьСетевойКаталог Тогда
СетевойКаталогСервера = ПараметрыДоставки.СетевойКаталогWindows; СетевойКаталогСервера = ПараметрыДоставки.СетевойКаталогWindows;
СистемнаяИнфо = Новый СистемнаяИнформация;
ТипПлатформыСервера = СистемнаяИнфо.ТипПлатформы;
Если ТипПлатформыСервера = ТипПлатформы.Linux_x86 Или ТипПлатформыСервера = ТипПлатформы.Linux_x86_64 Тогда Если ОбщегоНазначения.ЭтоLinuxСервер() Тогда
СетевойКаталогСервера = ПараметрыДоставки.СетевойКаталогLinux; СетевойКаталогСервера = ПараметрыДоставки.СетевойКаталогLinux;
КонецЕсли; КонецЕсли;
@@ -1011,6 +1011,15 @@
КонецПроцедуры КонецПроцедуры
// Параметры:
// ИнформацияОбОшибке - ИнформацияОбОшибке
//
Процедура ПоказатьИнформациюОбОшибкеИПродолжить(ИнформацияОбОшибке) Экспорт
ОбработкаОшибок.ПоказатьИнформациюОбОшибке(ИнформацияОбОшибке);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -2469,6 +2469,38 @@
КонецФункции КонецФункции
// Возвращаемое значение:
// Строка - техническая информация о версиях подсистем и расширениях
//
Функция ТехническаяИнформацияОВерсияхПодсистемИРасширениях() Экспорт
ОписанияПодсистем = ОбщегоНазначения.ОписанияПодсистем();
ТехническаяИнформацияОВерсияхПодсистемИРасширениях = НСтр("ru = 'Версии подсистем'") + ":" + Символы.ПС;
Для Каждого ОписаниеПодсистемы Из ОписанияПодсистем Цикл
ТехническаяИнформацияОВерсияхПодсистемИРасширениях = ТехническаяИнформацияОВерсияхПодсистемИРасширениях
+ ОписаниеПодсистемы.Имя + " - "
+ ОписаниеПодсистемы.Версия + Символы.ПС;
КонецЦикла;
ТехническаяИнформацияОВерсияхПодсистемИРасширениях = ТехническаяИнформацияОВерсияхПодсистемИРасширениях + Символы.ПС;
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
Расширения = РасширенияКонфигурации.Получить();
Для Каждого Расширение Из Расширения Цикл
ТехническаяИнформацияОВерсияхПодсистемИРасширениях = ТехническаяИнформацияОВерсияхПодсистемИРасширениях
+ Расширение.Имя + " - " + Расширение.Синоним + " - "
+ Формат(Расширение.Активно, НСтр("ru = 'БЛ=Отключено; БИ=Включено'")) + Символы.ПС;
КонецЦикла;
Возврат ТехническаяИнформацияОВерсияхПодсистемИРасширениях;
КонецФункции
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -6705,7 +6705,7 @@
Если СообщатьВМенеджерСервиса Тогда Если СообщатьВМенеджерСервиса Тогда
БылиПолныеПрава = ПользовательИБ.Роли.Содержит(Метаданные.Роли.ПолныеПрава); БылиПолныеПрава = ПользовательИБ.Роли.Содержит(Метаданные.Роли.ПолныеПрава);
БылиПраваНаВход = Пользователи.ЕстьПраваДляВходаВПрограмму(ПользовательИБ); БылиПраваНаВход = Пользователи.ЕстьПраваДляВходаВПрограмму(ПользовательИБ,, Ложь);
КонецЕсли; КонецЕсли;
Для Каждого КлючИЗначение Из РолиДляДобавления Цикл Для Каждого КлючИЗначение Из РолиДляДобавления Цикл
@@ -6820,17 +6820,19 @@
ПользователиСлужебный.ЗаписатьПользователяИнформационнойБазы(ПользовательИБ, ПользователиСлужебный.ЗаписатьПользователяИнформационнойБазы(ПользовательИБ,
ТипЗнч(ПользовательСсылка) = Тип("СправочникСсылка.ВнешниеПользователи"), ТипЗнч(ПользовательСсылка) = Тип("СправочникСсылка.ВнешниеПользователи"),
ПользовательСсылка); ПользовательСсылка,
Ложь);
Если БылиПолныеПрава = Неопределено Тогда Если БылиПолныеПрава = Неопределено Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ЕстьПолныеПрава = ПользовательИБ.Роли.Содержит(Метаданные.Роли.ПолныеПрава); ЕстьПолныеПрава = ПользовательИБ.Роли.Содержит(Метаданные.Роли.ПолныеПрава);
ЕстьПраваНаВход = Пользователи.ЕстьПраваДляВходаВПрограмму(ПользовательИБ); ЕстьПраваНаВход = Пользователи.ЕстьПраваДляВходаВПрограмму(ПользовательИБ,, Ложь);
Если ЕстьПолныеПрава = БылиПолныеПрава Если ЕстьПолныеПрава = БылиПолныеПрава
И ЕстьПраваНаВход = БылиПраваНаВход Тогда И ЕстьПраваНаВход = БылиПраваНаВход
Или Не Пользователи.ВходВПрограммуРазрешен(ПользовательИБ) Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -6844,42 +6846,41 @@
Иначе Иначе
СеансЗапущенБезРазделителей = Истина; СеансЗапущенБезРазделителей = Истина;
КонецЕсли; КонецЕсли;
Если СеансЗапущенБезРазделителей Тогда Если Не СеансЗапущенБезРазделителей Тогда
Возврат; УпрощенныйИнтерфейс = УпрощенныйИнтерфейсНастройкиПравДоступа();
Если БылиПолныеПрава Тогда
Шаблон = НСтр("ru = 'Для отключения административного доступа пользователю ""%1"" требуется пароль текущего пользователя сервиса ""%2"".'");
Иначе
Шаблон = НСтр("ru = 'Для установки административного доступа пользователю ""%1"" требуется пароль текущего пользователя сервиса ""%2"".'");
КонецЕсли;
Если БылиПолныеПрава И УпрощенныйИнтерфейс Тогда
Уточнение = НСтр("ru = 'Это действие может быть выполнено только в карточке пользователя при отключении ему профиля Администратор.'");
ИначеЕсли Не БылиПолныеПрава И УпрощенныйИнтерфейс Тогда
Уточнение = НСтр("ru = 'Это действие может быть выполнено только в карточке пользователя при включении ему профиля Администратор.'");
ИначеЕсли БылиПолныеПрава Тогда
Уточнение = НСтр("ru = 'Это действие может быть выполнено только в карточке группы доступа Администраторы или в карточке пользователя при исключении его из группы доступа Администраторы.'");
Иначе
Уточнение = НСтр("ru = 'Это действие может быть выполнено только в карточке группы доступа Администраторы или в карточке пользователя при включении его в группу доступа Администраторы.'");
КонецЕсли;
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон,
ПользовательИБ.Имя, ПользователиИнформационнойБазы.ТекущийПользователь().Имя);
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС + Уточнение;
ВызватьИсключение ТекстОшибки;
КонецЕсли; КонецЕсли;
УпрощенныйИнтерфейс = УпрощенныйИнтерфейсНастройкиПравДоступа();
Если БылиПолныеПрава Тогда
Шаблон = НСтр("ru = 'Для отключения административного доступа пользователю ""%1"" требуется пароль текущего пользователя сервиса ""%2"".'");
Иначе
Шаблон = НСтр("ru = 'Для установки административного доступа пользователю ""%1"" требуется пароль текущего пользователя сервиса ""%2"".'");
КонецЕсли;
Если БылиПолныеПрава И УпрощенныйИнтерфейс Тогда
Уточнение = НСтр("ru = 'Это действие может быть выполнено только в карточке пользователя при отключении ему профиля Администратор.'");
ИначеЕсли Не БылиПолныеПрава И УпрощенныйИнтерфейс Тогда
Уточнение = НСтр("ru = 'Это действие может быть выполнено только в карточке пользователя при включении ему профиля Администратор.'");
ИначеЕсли БылиПолныеПрава Тогда
Уточнение = НСтр("ru = 'Это действие может быть выполнено только в карточке группы доступа Администраторы или в карточке пользователя при исключении его из группы доступа Администраторы.'");
Иначе
Уточнение = НСтр("ru = 'Это действие может быть выполнено только в карточке группы доступа Администраторы или в карточке пользователя при включении его в группу доступа Администраторы.'");
КонецЕсли;
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон,
ПользовательИБ.Имя, ПользователиИнформационнойБазы.ТекущийПользователь().Имя);
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС + Уточнение;
ВызватьИсключение ТекстОшибки;
Иначе Иначе
МодульПользователиСлужебныйВМоделиСервиса.ЗаписатьПользователяСервиса(ПользовательСсылка, МодульПользователиСлужебныйВМоделиСервиса.ЗаписатьПользователяСервиса(ПользовательСсылка,
Ложь, ПарольПользователяСервиса); Ложь, ПарольПользователяСервиса);
Возврат;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Если ЕстьПраваНаВход <> БылиПраваНаВход Тогда Если ЕстьПраваНаВход <> БылиПраваНаВход Тогда
МодульПользователиСлужебныйВМоделиСервиса.СообщитьЕстьПраваДляВходаВПрограмму(ПользовательСсылка, МодульПользователиСлужебныйВМоделиСервиса.СообщитьИзмененЗапускПриложения(ПользовательСсылка,
ЕстьПраваНаВход); ПользовательИБ);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -538,8 +538,12 @@
ПараметрыКонтактнойИнформации = Новый Структура; ПараметрыКонтактнойИнформации = Новый Структура;
ЭтоСсылка = ОбщегоНазначения.ЗначениеСсылочногоТипа(СтрокаКонтактнойИнформации.Объект); ЭтоСсылка = ОбщегоНазначения.ЗначениеСсылочногоТипа(СтрокаКонтактнойИнформации.Объект);
ПараметрыКонтактнойИнформации.Вставить("ЭтоСсылка", ЭтоСсылка); ПараметрыКонтактнойИнформации.Вставить("ЭтоСсылка", ЭтоСсылка);
Если Не ЭтоСсылка Тогда
ВладелецКИ = СтрокаКонтактнойИнформации.Объект; // СправочникОбъект
КонецЕсли;
ПараметрыКонтактнойИнформации.Вставить("Периодическая", ПараметрыКонтактнойИнформации.Вставить("Периодическая",
УправлениеКонтактнойИнформациейСлужебныйПовтИсп.КонтактнаяИнформацияОбъектаСодержитКолонкуДействуетС(СтрокаКонтактнойИнформации.Объект.Ссылка)); УправлениеКонтактнойИнформациейСлужебныйПовтИсп.КонтактнаяИнформацияОбъектаСодержитКолонкуДействуетС(
?(ЭтоСсылка, СтрокаКонтактнойИнформации.Объект, ВладелецКИ.Ссылка)));
ВладельцыКонтактнойИнформации.Вставить(СтрокаКонтактнойИнформации.Объект, ПараметрыКонтактнойИнформации); ВладельцыКонтактнойИнформации.Вставить(СтрокаКонтактнойИнформации.Объект, ПараметрыКонтактнойИнформации);
КонецЕсли; КонецЕсли;
@@ -1683,7 +1687,7 @@
Иначе Иначе
НайденнаяСтрана = СтранаМираПоКодуИлиНаименованию(Страна); НайденнаяСтрана = СтранаМираПоКодуИлиНаименованию(Страна);
Если ЗначениеЗаполнено(НайденнаяСтрана) Тогда Если ЗначениеЗаполнено(НайденнаяСтрана) Тогда
Возврат НайденнаяСтрана.УчастникЕАЭС; Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(НайденнаяСтрана, "УчастникЕАЭС");
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -1712,7 +1716,7 @@
// УдалитьИсключаемыеВиды - Массив - устарел,следует использовать ДополнительныеПараметры. // УдалитьИсключаемыеВиды - Массив - устарел,следует использовать ДополнительныеПараметры.
// УдалитьОтложеннаяИнициализация - Массив - устарел,следует использовать ДополнительныеПараметры. // УдалитьОтложеннаяИнициализация - Массив - устарел,следует использовать ДополнительныеПараметры.
// //
Процедура ПриСозданииНаСервере(Форма, Объект, ДополнительныеПараметры = Неопределено, УдалитьПоложениеЗаголовкаКИ = "", Процедура ПриСозданииНаСервере(Форма, Объект, Знач ДополнительныеПараметры = Неопределено, УдалитьПоложениеЗаголовкаКИ = "",
Знач УдалитьИсключаемыеВиды = Неопределено, УдалитьОтложеннаяИнициализация = Ложь) Экспорт Знач УдалитьИсключаемыеВиды = Неопределено, УдалитьОтложеннаяИнициализация = Ложь) Экспорт
ТипПомещения = Неопределено; ТипПомещения = Неопределено;
@@ -1843,8 +1847,13 @@
КонтактнаяИнформация.Колонки.Добавить("ХранитьИсториюИзменений", ТипБулево); КонтактнаяИнформация.Колонки.Добавить("ХранитьИсториюИзменений", ТипБулево);
КонтактнаяИнформация.Колонки.Добавить("ЭтоИсторическаяКонтактнаяИнформация", ТипБулево); КонтактнаяИнформация.Колонки.Добавить("ЭтоИсторическаяКонтактнаяИнформация", ТипБулево);
КонтактнаяИнформация.Сортировать("Вид, ДействуетС"); КонтактнаяИнформация.Сортировать("Вид, ДействуетС");
ВидыКИХранитьИсториюИзменений = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(
КонтактнаяИнформация.ВыгрузитьКолонку("Вид"), "ХранитьИсториюИзменений");
Для каждого СтрокаКонтактнойИнформации Из КонтактнаяИнформация Цикл Для каждого СтрокаКонтактнойИнформации Из КонтактнаяИнформация Цикл
СтрокаКонтактнойИнформации.ХранитьИсториюИзменений = СтрокаКонтактнойИнформации.Вид.ХранитьИсториюИзменений; ХранитьИсториюИзменений = ВидыКИХранитьИсториюИзменений.Получить(СтрокаКонтактнойИнформации.Вид);
СтрокаКонтактнойИнформации.ХранитьИсториюИзменений = ?(ХранитьИсториюИзменений <> Неопределено, ХранитьИсториюИзменений, Ложь);
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -3054,7 +3063,7 @@
Блокировка = Новый БлокировкаДанных; Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВидыКонтактнойИнформации"); ЭлементБлокировки = Блокировка.Добавить("Справочник.ВидыКонтактнойИнформации");
ЭлементБлокировки.УстановитьЗначение("Ссылка", Объект.Родитель.Ссылка); ЭлементБлокировки.УстановитьЗначение("Ссылка", Объект.Родитель);
Блокировка.Заблокировать(); Блокировка.Заблокировать();
Родитель = Объект.Родитель.ПолучитьОбъект(); Родитель = Объект.Родитель.ПолучитьОбъект();
@@ -3219,7 +3228,7 @@
// Записывает контактную информацию из XML в поля табличной части Контактная информация объекта. // Записывает контактную информацию из XML в поля табличной части Контактная информация объекта.
// //
// Параметры: // Параметры:
// Объект - ЛюбаяСсылка - ссылка на объект конфигурации, содержащий табличную часть контактная информация. // Объект - СправочникОбъект - объект конфигурации, содержащий табличную часть контактная информация.
// Значение - Строка - контактная информация в внутреннем формате JSON. // Значение - Строка - контактная информация в внутреннем формате JSON.
// ВидИнформации - СправочникСсылка.ВидыКонтактнойИнформации - ссылка на вид контактной информации. // ВидИнформации - СправочникСсылка.ВидыКонтактнойИнформации - ссылка на вид контактной информации.
// ТипИнформации - ПеречислениеСсылка.ТипыКонтактнойИнформации - тип контактной информации. // ТипИнформации - ПеречислениеСсылка.ТипыКонтактнойИнформации - тип контактной информации.
@@ -4401,12 +4410,14 @@
ОбязательноеЗаполнение = ИнформацияОВидеКИ.ОбязательноеЗаполнение; ОбязательноеЗаполнение = ИнформацияОВидеКИ.ОбязательноеЗаполнение;
КонецЕсли; КонецЕсли;
ДобавляемыйВидНаименование = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДобавляемыйВид, "Наименование");
// Отрисовка на форме // Отрисовка на форме
Если ОбщегоНазначения.ЭтоМобильныйКлиент() И ПараметрыКонтактнойИнформации.ОтображатьИконки Тогда Если ОбщегоНазначения.ЭтоМобильныйКлиент() И ПараметрыКонтактнойИнформации.ОтображатьИконки Тогда
ГруппаСтрокиЗаголовок = Группа("ГруппаЗаголовок" + ИмяРеквизита, Форма, ДобавляемыйВид.Наименование, ИмяЭлементаДляРазмещения, "ГруппаЗначенияКИ" + ИмяЭлементаДляРазмещения, 6); ГруппаСтрокиЗаголовок = Группа("ГруппаЗаголовок" + ИмяРеквизита, Форма, ДобавляемыйВидНаименование, ИмяЭлементаДляРазмещения, "ГруппаЗначенияКИ" + ИмяЭлементаДляРазмещения, 6);
ГруппаСтрокиЗаголовок.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; ГруппаСтрокиЗаголовок.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
ГруппаСтрокиЗаголовок.Отображение = ОтображениеОбычнойГруппы.ОбычноеВыделение; ГруппаСтрокиЗаголовок.Отображение = ОтображениеОбычнойГруппы.ОбычноеВыделение;
ГруппаСтрокиЗаголовокКартинка = Группа("ГруппаЗаголовокКартинка" + ИмяРеквизита, Форма, ДобавляемыйВид.Наименование, ИмяЭлементаДляРазмещения, "ГруппаЗаголовок" + ИмяРеквизита); ГруппаСтрокиЗаголовокКартинка = Группа("ГруппаЗаголовокКартинка" + ИмяРеквизита, Форма, ДобавляемыйВидНаименование, ИмяЭлементаДляРазмещения, "ГруппаЗаголовок" + ИмяРеквизита);
Декорация = Форма.Элементы.Добавить("Картинка" + ИмяРеквизита, Тип("ДекорацияФормы"), ГруппаСтрокиЗаголовокКартинка); Декорация = Форма.Элементы.Добавить("Картинка" + ИмяРеквизита, Тип("ДекорацияФормы"), ГруппаСтрокиЗаголовокКартинка);
Декорация.Заголовок = НСтр("ru='Картинка'"); Декорация.Заголовок = НСтр("ru='Картинка'");
Декорация.Вид = ВидДекорацииФормы.Картинка; Декорация.Вид = ВидДекорацииФормы.Картинка;
@@ -4414,7 +4425,7 @@
Декорация.Картинка = КартинкаТипаКонтактнойИнформации(ИнформацияОВидеКИ.Тип); Декорация.Картинка = КартинкаТипаКонтактнойИнформации(ИнформацияОВидеКИ.Тип);
ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить("Картинка" + ИмяРеквизита, 2, Ложь); ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить("Картинка" + ИмяРеквизита, 2, Ложь);
ДекорацияЗаголовок = Форма.Элементы.Добавить("Заголовок" + ИмяРеквизита, Тип("ДекорацияФормы"), ГруппаСтрокиЗаголовокКартинка); ДекорацияЗаголовок = Форма.Элементы.Добавить("Заголовок" + ИмяРеквизита, Тип("ДекорацияФормы"), ГруппаСтрокиЗаголовокКартинка);
ДекорацияЗаголовок.Заголовок = ВРег(ДобавляемыйВид.Наименование); ДекорацияЗаголовок.Заголовок = ВРег(ДобавляемыйВидНаименование);
ДекорацияЗаголовок.Вид = ВидДекорацииФормы.Надпись; ДекорацияЗаголовок.Вид = ВидДекорацииФормы.Надпись;
ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить("Заголовок" + ИмяРеквизита, 2, Ложь); ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить("Заголовок" + ИмяРеквизита, 2, Ложь);
ИмяГруппыРодителя = "ГруппаЗаголовок" + ИмяРеквизита; ИмяГруппыРодителя = "ГруппаЗаголовок" + ИмяРеквизита;
@@ -4422,7 +4433,7 @@
ИмяГруппыРодителя = "ГруппаЗначенияКИ" + ИмяЭлементаДляРазмещения; ИмяГруппыРодителя = "ГруппаЗначенияКИ" + ИмяЭлементаДляРазмещения;
КонецЕсли; КонецЕсли;
ГруппаСтроки = Группа("Группа" + ИмяРеквизита, Форма, ДобавляемыйВид.Наименование, ИмяЭлементаДляРазмещения, ГруппаСтроки = Группа("Группа" + ИмяРеквизита, Форма, ДобавляемыйВидНаименование, ИмяЭлементаДляРазмещения,
ИмяГруппыРодителя); ИмяГруппыРодителя);
Если ОбщегоНазначения.ЭтоМобильныйКлиент() И НЕ ПараметрыКонтактнойИнформации.ОтображатьИконки Тогда Если ОбщегоНазначения.ЭтоМобильныйКлиент() И НЕ ПараметрыКонтактнойИнформации.ОтображатьИконки Тогда
@@ -4511,7 +4522,7 @@
Если ЕстьПолеКомментарий Тогда Если ЕстьПолеКомментарий Тогда
ГруппаПолеКомментарий = Группа("ГруппаКомментарий" + ИмяРеквизита, Форма, ГруппаПолеКомментарий = Группа("ГруппаКомментарий" + ИмяРеквизита, Форма,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 поле, комментарий'"), СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 поле, комментарий'"),
ДобавляемыйВид.Наименование), ИмяЭлементаДляРазмещения, "Группа" + ИмяРеквизита, 4); ДобавляемыйВидНаименование), ИмяЭлементаДляРазмещения, "Группа" + ИмяРеквизита, 4);
Иначе Иначе
ГруппаПолеКомментарий = ГруппаСтроки; ГруппаПолеКомментарий = ГруппаСтроки;
КонецЕсли; КонецЕсли;
@@ -5389,6 +5400,15 @@
И УправлениеКонтактнойИнформациейКлиентСервер.ЭтоАдресВСвободнойФорме(КонтактнаяИнформацияПоПолям.AddressType) Тогда И УправлениеКонтактнойИнформациейКлиентСервер.ЭтоАдресВСвободнойФорме(КонтактнаяИнформацияПоПолям.AddressType) Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
Если ПустаяСтрока(КонтактнаяИнформацияПоПолям.value) Тогда
КонтактнаяИнформацияПоПолям.value = СтрокаКИ.Представление;
КонецЕсли;
Если ПустаяСтрока(КонтактнаяИнформацияПоПолям.comment) И ЗначениеЗаполнено(СтрокаКИ.Комментарий) Тогда
КонтактнаяИнформацияПоПолям.comment = СтрокаКИ.Комментарий;
КонецЕсли;
СтрокаКИ.Значение = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(КонтактнаяИнформацияПоПолям); СтрокаКИ.Значение = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(КонтактнаяИнформацияПоПолям);
КонецЕсли; КонецЕсли;
@@ -5550,7 +5570,9 @@
// //
Функция ОшибкиЗаполненияЭлектроннойПочты(АдресЭП, ВидИнформации, Знач ИмяРеквизита = "", ПолеРеквизита = "") Функция ОшибкиЗаполненияЭлектроннойПочты(АдресЭП, ВидИнформации, Знач ИмяРеквизита = "", ПолеРеквизита = "")
Если Не ВидИнформации.ПроверятьКорректность Тогда ПроверятьКорректность = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВидИнформации, "ПроверятьКорректность");
Если Не ПроверятьКорректность Тогда
Возврат 0; Возврат 0;
КонецЕсли; КонецЕсли;
@@ -5574,7 +5596,7 @@
Если Не ПустаяСтрока(СтрокаОшибки) Тогда Если Не ПустаяСтрока(СтрокаОшибки) Тогда
ВывестиСообщениеПользователю(СтрокаОшибки, ИмяРеквизита, ПолеРеквизита); ВывестиСообщениеПользователю(СтрокаОшибки, ИмяРеквизита, ПолеРеквизита);
УровеньОшибки = ?(ВидИнформации.ПроверятьКорректность, 2, 1); УровеньОшибки = ?(ПроверятьКорректность, 2, 1);
Иначе Иначе
УровеньОшибки = 0; УровеньОшибки = 0;
КонецЕсли; КонецЕсли;
@@ -5693,7 +5715,9 @@
// //
Функция ОшибкиЗаполненияАдреса(Источник, ВидИнформации, ИмяРеквизита = "", ПолеРеквизита = "") Функция ОшибкиЗаполненияАдреса(Источник, ВидИнформации, ИмяРеквизита = "", ПолеРеквизита = "")
Если Не ВидИнформации.ПроверятьКорректность Тогда ПроверятьКорректность = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВидИнформации, "ПроверятьКорректность");
Если Не ПроверятьКорректность Тогда
Возврат 0; Возврат 0;
КонецЕсли; КонецЕсли;
ЕстьОшибки = Ложь; ЕстьОшибки = Ложь;
@@ -5712,7 +5736,7 @@
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
Если ЕстьОшибки И ВидИнформации.ПроверятьКорректность Тогда Если ЕстьОшибки И ПроверятьКорректность Тогда
Возврат 2; Возврат 2;
ИначеЕсли ЕстьОшибки Тогда ИначеЕсли ЕстьОшибки Тогда
Возврат 1; Возврат 1;
@@ -5733,7 +5757,9 @@
// //
Функция ОшибкиЗаполненияТелефона(Источник, ВидИнформации, ИмяРеквизита = "") Функция ОшибкиЗаполненияТелефона(Источник, ВидИнформации, ИмяРеквизита = "")
Если Не ВидИнформации.ПроверятьКорректность Тогда ПроверятьКорректность = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВидИнформации, "ПроверятьКорректность");
Если Не ПроверятьКорректность Тогда
Возврат 0; Возврат 0;
КонецЕсли; КонецЕсли;
@@ -5757,7 +5783,7 @@
ЕстьОшибки = Истина; ЕстьОшибки = Истина;
КонецЦикла; КонецЦикла;
Если ЕстьОшибки И ВидИнформации.ПроверятьКорректность Тогда Если ЕстьОшибки И ПроверятьКорректность Тогда
Возврат 2; Возврат 2;
ИначеЕсли ЕстьОшибки Тогда ИначеЕсли ЕстьОшибки Тогда
Возврат 1; Возврат 1;
@@ -176,10 +176,12 @@
Процедура ПриПодготовкеДанныхОбъекта(Объект, ДополнительныеРеквизиты) Экспорт Процедура ПриПодготовкеДанныхОбъекта(Объект, ДополнительныеРеквизиты) Экспорт
Если Объект.Метаданные().ТабличныеЧасти.Найти("КонтактнаяИнформация") <> Неопределено Тогда Если Объект.Метаданные().ТабличныеЧасти.Найти("КонтактнаяИнформация") <> Неопределено Тогда
Для Каждого Контакт Из УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(Объект.Ссылка,, ТекущаяДатаСеанса(), Ложь) Цикл КонтактнаяИнформацияОбъекта = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(Объект.Ссылка,, ТекущаяДатаСеанса(), Ложь);
ВидыКИНаименование = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(КонтактнаяИнформацияОбъекта.ВыгрузитьКолонку("Вид"), "Наименование");
Для Каждого Контакт Из КонтактнаяИнформацияОбъекта Цикл
Если ЗначениеЗаполнено(Контакт.Вид) Тогда Если ЗначениеЗаполнено(Контакт.Вид) Тогда
Реквизит = ДополнительныеРеквизиты.Добавить(); Реквизит = ДополнительныеРеквизиты.Добавить();
Реквизит.Наименование = Контакт.Вид.Наименование; Реквизит.Наименование = ВидыКИНаименование.Получить(Контакт.Вид);
Реквизит.Значение = Контакт.Представление; Реквизит.Значение = Контакт.Представление;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -1133,7 +1135,7 @@
Если ЕстьРаботаСАдресамиКлиентСервер Тогда Если ЕстьРаботаСАдресамиКлиентСервер Тогда
МодульРаботаСАдресамиКлиентСервер = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресамиКлиентСервер"); МодульРаботаСАдресамиКлиентСервер = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресамиКлиентСервер");
Адрес = МодульРаботаСАдресамиКлиентСервер.ОписаниеНовойКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.Адрес); Адрес = МодульРаботаСАдресамиКлиентСервер.ОписаниеНовойКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.Адрес);
НаименованиеОсновнаяСтрана = СокрЛП(МодульРаботаСАдресамиКлиентСервер.ОсновнаяСтрана().Наименование); НаименованиеОсновнаяСтрана = СокрЛП(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(МодульРаботаСАдресамиКлиентСервер.ОсновнаяСтрана(), "Наименование"));
Иначе Иначе
Адрес = УправлениеКонтактнойИнформациейКлиентСервер.ОписаниеНовойКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.Адрес); Адрес = УправлениеКонтактнойИнформациейКлиентСервер.ОписаниеНовойКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.Адрес);
НаименованиеОсновнаяСтрана = ""; НаименованиеОсновнаяСтрана = "";
@@ -2375,7 +2377,7 @@
Функция ЗапрещенВводНесколькихЗначений(ВидКонтактнойИнформации, КонтактнаяИнформация, Дата, Периодическая, ИдентификаторСтрокиТабличнойЧасти = Неопределено) Функция ЗапрещенВводНесколькихЗначений(ВидКонтактнойИнформации, КонтактнаяИнформация, Дата, Периодическая, ИдентификаторСтрокиТабличнойЧасти = Неопределено)
Если ВидКонтактнойИнформации.РазрешитьВводНесколькихЗначений Тогда Если ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВидКонтактнойИнформации, "РазрешитьВводНесколькихЗначений") Тогда
Возврат Ложь; Возврат Ложь;
КонецЕсли; КонецЕсли;
@@ -2087,6 +2087,8 @@
Если Не МакетСуществует(ПечатнаяФорма.ПолныйПутьКМакету) Тогда Если Не МакетСуществует(ПечатнаяФорма.ПолныйПутьКМакету) Тогда
ПечатнаяФорма.ПолныйПутьКМакету = ""; ПечатнаяФорма.ПолныйПутьКМакету = "";
КонецЕсли; КонецЕсли;
ПечатнаяФорма.Защита = ПечатнаяФорма.ТабличныйДокумент.Защита;
КонецЦикла; КонецЦикла;
КонецПроцедуры КонецПроцедуры
@@ -3429,6 +3431,7 @@
ПечатнаяФорма.ИмяМакета = ИмяМакета; ПечатнаяФорма.ИмяМакета = ИмяМакета;
ПечатнаяФорма.ИмяВРЕГ = ВРег(ИмяМакета); ПечатнаяФорма.ИмяВРЕГ = ВРег(ИмяМакета);
КонецЕсли; КонецЕсли;
ПечатнаяФорма.Защита = ВременнаяПечатнаяФорма.ТабличныйДокумент.Защита;
Иначе Иначе
// Возникла ошибка при формировании печатной формы. // Возникла ошибка при формировании печатной формы.
Отказ = Истина; Отказ = Истина;
@@ -33,6 +33,11 @@
ПараметрыОткрытия.ПараметрКоманды = МассивОбъектов; ПараметрыОткрытия.ПараметрКоманды = МассивОбъектов;
ПараметрыОткрытия.ПараметрыПечати = ПараметрыПечати; ПараметрыОткрытия.ПараметрыПечати = ПараметрыПечати;
Если ОбщегоНазначенияКлиент.ИнформационнаяБазаФайловая() Тогда
ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, Строка(Новый УникальныйИдентификатор));
Возврат;
КонецЕсли;
Если ВладелецФормы = Неопределено Тогда Если ВладелецФормы = Неопределено Тогда
ПараметрыОткрытия.УникальныйИдентификаторХранилища = Новый УникальныйИдентификатор; ПараметрыОткрытия.УникальныйИдентификаторХранилища = Новый УникальныйИдентификатор;
Иначе Иначе
@@ -44,6 +49,7 @@
ОповещениеОЗавершении = Новый ОписаниеОповещения("ОткрытьФормуПечатьДокументов", УправлениеПечатьюСлужебныйКлиент, ПараметрыОткрытия); ОповещениеОЗавершении = Новый ОписаниеОповещения("ОткрытьФормуПечатьДокументов", УправлениеПечатьюСлужебныйКлиент, ПараметрыОткрытия);
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, ОповещениеОЗавершении, УправлениеПечатьюСлужебныйКлиент.ПараметрыОжидания(ВладелецФормы)); ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, ОповещениеОЗавершении, УправлениеПечатьюСлужебныйКлиент.ПараметрыОжидания(ВладелецФормы));
КонецПроцедуры КонецПроцедуры
// Формирует и выводит на принтер печатные формы. // Формирует и выводит на принтер печатные формы.
@@ -30,6 +30,7 @@
Поля.Добавить("ОфисныеДокументы"); Поля.Добавить("ОфисныеДокументы");
Поля.Добавить("ДоступенВыводНаДругихЯзыках"); Поля.Добавить("ДоступенВыводНаДругихЯзыках");
Поля.Добавить("ТекстОшибкиФормирования"); Поля.Добавить("ТекстОшибкиФормирования");
Поля.Добавить("Защита");
Возврат Поля; Возврат Поля;
@@ -254,6 +254,12 @@
КонецЕсли; КонецЕсли;
СтруктураРезультата = ПолучитьИзВременногоХранилища(РезультатФоновойОперации.АдресРезультата); СтруктураРезультата = ПолучитьИзВременногоХранилища(РезультатФоновойОперации.АдресРезультата);
Для Каждого ПечатнаяФорма Из СтруктураРезультата.КоллекцияПечатныхФорм Цикл
Если ТипЗнч(ПечатнаяФорма.ТабличныйДокумент) = Тип("ТабличныйДокумент") Тогда
ПечатнаяФорма.ТабличныйДокумент.Защита = ПечатнаяФорма.Защита;
КонецЕсли;
КонецЦикла;
ПараметрыОткрытия.Вставить("ОбъектыПечати", СтруктураРезультата.ОбъектыПечати); ПараметрыОткрытия.Вставить("ОбъектыПечати", СтруктураРезультата.ОбъектыПечати);
ПараметрыОткрытия.Вставить("ПараметрыВывода", СтруктураРезультата.ПараметрыВывода); ПараметрыОткрытия.Вставить("ПараметрыВывода", СтруктураРезультата.ПараметрыВывода);
ПараметрыОткрытия.Вставить("ПараметрыПечати", СтруктураРезультата.ПараметрыПечати); ПараметрыОткрытия.Вставить("ПараметрыПечати", СтруктураРезультата.ПараметрыПечати);
@@ -6679,8 +6679,7 @@
ТехническаяИнформация = ТехническаяИнформация ТехническаяИнформация = ТехническаяИнформация
+ Символы.ПС + НСтр("ru = 'Режим работы информационной базы'")+ " - " + РежимРаботы + Символы.ПС + НСтр("ru = 'Режим работы информационной базы'")+ " - " + РежимРаботы
+ Символы.ПС + Символы.ПС + ТехническаяИнформацияОВерсияхПодсистем() + Символы.ПС + Символы.ПС + Символы.ПС + СтандартныеПодсистемыСервер.ТехническаяИнформацияОВерсияхПодсистемИРасширениях();
+ НСтр("ru = 'Расширения'") + ":" + Символы.ПС + ТехническаяИнформацияОРасширениях();
КонецПроцедуры КонецПроцедуры
@@ -6846,51 +6845,6 @@
КонецПроцедуры КонецПроцедуры
Функция ТехническаяИнформацияОВерсияхПодсистем()
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВерсииПодсистем.ИмяПодсистемы КАК ИмяПодсистемы,
| ВерсииПодсистем.Версия КАК Версия
|ИЗ
| РегистрСведений.ВерсииПодсистем КАК ВерсииПодсистем";
ВерсииПодсистем = Запрос.Выполнить().Выбрать();
ДиагностическаяИнформация = НСтр("ru = 'Версии подсистем'") + ":" + Символы.ПС;
Пока ВерсииПодсистем.Следующий() Цикл
ДиагностическаяИнформация = ДиагностическаяИнформация
+ ВерсииПодсистем.ИмяПодсистемы + " - "
+ ВерсииПодсистем.Версия + Символы.ПС;
КонецЦикла;
Возврат ДиагностическаяИнформация;
КонецФункции
Функция ТехническаяИнформацияОРасширениях()
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
ПредставлениеРасширений = "";
Расширения = РасширенияКонфигурации.Получить();
Для Каждого Расширение Из Расширения Цикл
ПредставлениеРасширений = ПредставлениеРасширений
+ Расширение.Имя + " - " + Расширение.Синоним + " - "
+ Формат(Расширение.Активно, НСтр("ru = 'БЛ=Отключено; БИ=Включено'")) + Символы.ПС;
КонецЦикла;
Возврат ПредставлениеРасширений;
КонецФункции
// Скачать файл списка отзыва на сервере. // Скачать файл списка отзыва на сервере.
// //
// Параметры: // Параметры:
@@ -9963,9 +9963,7 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
СистемнаяИнформация = Новый СистемнаяИнформация; Если ОбщегоНазначенияКлиент.ЭтоWindowsКлиент() Тогда
Если СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86
ИЛИ СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда
Контекст = Новый Структура; Контекст = Новый Структура;
Контекст.Вставить("ОповещениеОЗавершении", ОповещениеОЗавершении); Контекст.Вставить("ОповещениеОЗавершении", ОповещениеОЗавершении);
Контекст.Вставить("ВладелецФормы", Форма.ВладелецФормы); Контекст.Вставить("ВладелецФормы", Форма.ВладелецФормы);
+9 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="4b932d5e-2cdb-4dec-9c56-c0ffeaffafd6"> <mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="607caa38-5b10-45e7-bb82-d4a0c9f67471">
<name>БиблиотекаСтандартныхПодсистем</name> <name>БиблиотекаСтандартныхПодсистем</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value> <value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym> </synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="0a2e600b-f69c-43e8-8343-4881abe77bc6"/> <containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="908b1e01-fbda-4108-a418-e522dbb6394d"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="ebbbf3a2-71c6-49ea-9e41-0e8065749ecc"/> <containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="df9c1f3f-8a65-4712-87ff-b88e7b8c03de"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="2f729347-ab29-406f-8f81-256f0065b045"/> <containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="7516b657-02eb-4a61-89ba-d8796794adb7"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="87b8e073-59ce-430d-8b67-9a06cc7c4c51"/> <containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="3e4d4f4e-fd62-487b-9548-ed2a9f4b5e05"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="54926faf-6b8a-4b0c-8828-de40555d641c"/> <containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="077ca584-826e-43e2-ab02-2c278de53d2a"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="71f0d9ac-54bf-480e-8b12-9b0ca7c017b6"/> <containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="de5f8320-e5ba-419f-9db8-c4d054d2a660"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="d898ccb7-618e-48c6-ac4d-4cd1242bc07f"/> <containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="6e25fdc6-461a-4322-8bb7-51f4f0f592f3"/>
<defaultRunMode>ManagedApplication</defaultRunMode> <defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes> <usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant> <scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles> <defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles> <defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor> <vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.9.199</version> <version>3.1.9.209</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress> <updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents> <includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities> <usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,98ce37ff-fa99-411e-b324-45e5458ee046,1,e7f0dc50-68f1-4dfe-b306-c90516c7ce82,"3.1.9.199","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7612,1,0,4b932d5e-2cdb-4dec-9c56-c0ffeaffafd6,4b932d5e-2cdb-4dec-9c56-c0ffeaffafd6,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754Line truncated {6,1,1,e6c0b441-219f-4044-b239-35217eb5bcb6,1,84063834-4236-4d6c-8609-20d788419575,"3.1.9.209","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7613,1,0,607caa38-5b10-45e7-bb82-d4a0c9f67471,607caa38-5b10-45e7-bb82-d4a0c9f67471,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754Line truncated
@@ -17,10 +17,13 @@
Элементы.История.ТолькоПросмотр = Параметры.ТолькоПросмотр; Элементы.История.ТолькоПросмотр = Параметры.ТолькоПросмотр;
КонецЕсли; КонецЕсли;
РеквизитыВидаКонтактнойИнформации = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Параметры.ВидКонтактнойИнформации,
"Наименование, Тип, ПроверятьКорректность, ВидРедактирования" );
ВидКонтактнойИнформации = Параметры.ВидКонтактнойИнформации; ВидКонтактнойИнформации = Параметры.ВидКонтактнойИнформации;
ТипКонтактнойИнформации = Параметры.ВидКонтактнойИнформации.Тип; ТипКонтактнойИнформации = РеквизитыВидаКонтактнойИнформации.Тип;
ПроверятьКорректность = ВидКонтактнойИнформации.ПроверятьКорректность; ПроверятьКорректность = РеквизитыВидаКонтактнойИнформации.ПроверятьКорректность;
ПредставлениеКонтактнойИнформации = Параметры.ВидКонтактнойИнформации.Наименование; ПредставлениеКонтактнойИнформации = РеквизитыВидаКонтактнойИнформации.Наименование;
Если ТипЗнч(Параметры.СписокКонтактнойИнформации) = Тип("Массив") Тогда Если ТипЗнч(Параметры.СписокКонтактнойИнформации) = Тип("Массив") Тогда
Для каждого СтрокаКонтактнойИнформации Из Параметры.СписокКонтактнойИнформации Цикл Для каждого СтрокаКонтактнойИнформации Из Параметры.СписокКонтактнойИнформации Цикл
@@ -34,10 +37,10 @@
Иначе Иначе
Отказ = Истина; Отказ = Истина;
КонецЕсли; КонецЕсли;
РедактированиеТолькоВДиалоге = ВидКонтактнойИнформации.ВидРедактирования = "Диалог"; РедактированиеТолькоВДиалоге = РеквизитыВидаКонтактнойИнформации.ВидРедактирования = "Диалог";
Если ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда Если РеквизитыВидаКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
ИмяФормыРедактирования = "ВводАдреса"; ИмяФормыРедактирования = "ВводАдреса";
ИначеЕсли ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда ИначеЕсли РеквизитыВидаКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
ИмяФормыРедактирования = "ВводТелефона"; ИмяФормыРедактирования = "ВводТелефона";
Иначе Иначе
ИмяФормыРедактирования = ""; ИмяФормыРедактирования = "";
@@ -271,13 +271,16 @@
Иначе Иначе
Отбор = Новый Структура("ОбязательнаДляЗаполнения", Истина); Отбор = Новый Структура("ОбязательнаДляЗаполнения", Истина);
КолонкиОбязательнаДляЗаполнения = ИнформацияПоКолонкам.НайтиСтроки(Отбор); КолонкиОбязательнаДляЗаполнения = ИнформацияПоКолонкам.НайтиСтроки(Отбор);
РезультатСопоставленияСтроки = "СтрокаСопоставлена"; РезультатСопоставленияСтроки = "СтрокаСопоставлена";
ПрефиксТабличнойЧасти = ЗагрузкаДанныхИзФайлаКлиентСервер.ПрефиксТабличнойЧасти() + "_";
Для каждого КолонкаТаблицы Из КолонкиОбязательнаДляЗаполнения Цикл Для каждого КолонкаТаблицы Из КолонкиОбязательнаДляЗаполнения Цикл
Если НЕ ЗначениеЗаполнено(Элемент.ТекущиеДанные["ТЧ_" + КолонкаТаблицы.Родитель]) Тогда Если Не ЗначениеЗаполнено(Элемент.ТекущиеДанные[ПрефиксТабличнойЧасти + КолонкаТаблицы.Родитель]) Тогда
РезультатСопоставленияСтроки = ?(ЗначениеЗаполнено(Элемент.ТекущиеДанные.ОписаниеОшибки), "Неоднозначность", "НеСопоставлен"); РезультатСопоставленияСтроки = ?(ЗначениеЗаполнено(Элемент.ТекущиеДанные.ОписаниеОшибки), "Неоднозначность", "НеСопоставлен");
Прервать; Прервать;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
Элемент.ТекущиеДанные.РезультатСопоставленияСтроки = РезультатСопоставленияСтроки; Элемент.ТекущиеДанные.РезультатСопоставленияСтроки = РезультатСопоставленияСтроки;
КонецЕсли; КонецЕсли;
@@ -291,8 +294,9 @@
Элементы.ТаблицаСопоставленияДанныхКонтекстноеМенюРазрешитьНеоднозначность.Доступность = Ложь; Элементы.ТаблицаСопоставленияДанныхКонтекстноеМенюРазрешитьНеоднозначность.Доступность = Ложь;
Если Элемент.ТекущиеДанные <> Неопределено И ЗначениеЗаполнено(Элемент.ТекущиеДанные.РезультатСопоставленияСтроки) Тогда Если Элемент.ТекущиеДанные <> Неопределено И ЗначениеЗаполнено(Элемент.ТекущиеДанные.РезультатСопоставленияСтроки) Тогда
Если ТипЗагрузки = "ТабличнаяЧасть" Тогда Если ТипЗагрузки = "ТабличнаяЧасть" Тогда
Если СтрДлина(Элемент.ТекущийЭлемент.Имя) > 3 И СтрНачинаетсяС(Элемент.ТекущийЭлемент.Имя, "ТЧ_") Тогда ПрефиксТабличнойЧасти = ЗагрузкаДанныхИзФайлаКлиентСервер.ПрефиксТабличнойЧасти() + "_";
Если СтрДлина(Элемент.ТекущийЭлемент.Имя) > 3 И СтрНачинаетсяС(Элемент.ТекущийЭлемент.Имя, ПрефиксТабличнойЧасти) Тогда
ИмяКолонки = Сред(Элемент.ТекущийЭлемент.Имя, 4); ИмяКолонки = Сред(Элемент.ТекущийЭлемент.Имя, 4);
Если СтрНайти(Элемент.ТекущиеДанные.ОписаниеОшибки, ИмяКолонки) > 0 Тогда Если СтрНайти(Элемент.ТекущиеДанные.ОписаниеОшибки, ИмяКолонки) > 0 Тогда
Элементы.УстранитьНеоднозначность.Доступность = Истина; Элементы.УстранитьНеоднозначность.Доступность = Истина;
@@ -511,10 +515,11 @@
Если ТипЗагрузки = "ТабличнаяЧасть" Тогда Если ТипЗагрузки = "ТабличнаяЧасть" Тогда
Если Результат <> Неопределено Тогда Если Результат <> Неопределено Тогда
Строка = ТаблицаСопоставленияДанных.НайтиПоИдентификатору(Параметр.Идентификатор); ПрефиксТабличнойЧасти = ЗагрузкаДанныхИзФайлаКлиентСервер.ПрефиксТабличнойЧасти() + "_";
Строка["ТЧ_" + Параметр.Имя] = Результат; Строка = ТаблицаСопоставленияДанных.НайтиПоИдентификатору(Параметр.Идентификатор);
Строка.ОписаниеОшибки = СтрЗаменить(Строка.ОписаниеОшибки, Параметр.Имя+";", ""); Строка[ПрефиксТабличнойЧасти + Параметр.Имя] = Результат;
Строка.ОписаниеОшибки = СтрЗаменить(Строка.ОписаниеОшибки, Параметр.Имя + ";", "");
Строка.РезультатСопоставленияСтроки = ?(СтрДлина(Строка.ОписаниеОшибки) = 0, "СтрокаСопоставлена", "НеСопоставлен"); Строка.РезультатСопоставленияСтроки = ?(СтрДлина(Строка.ОписаниеОшибки) = 0, "СтрокаСопоставлена", "НеСопоставлен");
КонецЕсли; КонецЕсли;
Иначе Иначе
@@ -1223,8 +1228,11 @@
Если ТипЗагрузки = "ТабличнаяЧасть" Тогда Если ТипЗагрузки = "ТабличнаяЧасть" Тогда
Если Строка.РезультатСопоставленияСтроки = "Неоднозначность" И СтрДлина(Строка.ОписаниеОшибки) > 0 Тогда Если Строка.РезультатСопоставленияСтроки = "Неоднозначность" И СтрДлина(Строка.ОписаниеОшибки) > 0 Тогда
Если СтрДлина(ПолеИмя) > 3 И СтрНачинаетсяС(ПолеИмя, "ТаблицаСопоставленияДанных_ТЧ_") Тогда ПрефиксНачалаТабличнойЧасти = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1_%2_",
Имя = Сред(ПолеИмя, СтрДлина("ТаблицаСопоставленияДанных_ТЧ_") + 1); ЗагрузкаДанныхИзФайлаКлиентСервер.ПрефиксТаблицыСопоставления(),
ЗагрузкаДанныхИзФайлаКлиентСервер.ПрефиксТабличнойЧасти());
Если СтрДлина(ПолеИмя) > 3 И СтрНачинаетсяС(ПолеИмя, ПрефиксНачалаТабличнойЧасти) Тогда
Имя = Сред(ПолеИмя, СтрДлина(ПрефиксНачалаТабличнойЧасти) + 1);
Если СтрНайти(Строка.ОписаниеОшибки, Имя) Тогда Если СтрНайти(Строка.ОписаниеОшибки, Имя) Тогда
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
СтрокаИзТаблицы = Новый Массив; СтрокаИзТаблицы = Новый Массив;
@@ -1507,11 +1515,16 @@
ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветОбъектНеНайден); ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветОбъектНеНайден);
ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Текст", ТекстОбъектНеНайден); ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Текст", ТекстОбъектНеНайден);
ПрефиксТаблицыСопоставления = ЗагрузкаДанныхИзФайлаКлиентСервер.ПрефиксТаблицыСопоставления();
Если ЗначениеЗаполнено(СписокКолонок) Тогда Если ЗначениеЗаполнено(СписокКолонок) Тогда
ПрефиксТабличнойЧасти = ЗагрузкаДанныхИзФайлаКлиентСервер.ПрефиксТабличнойЧасти();
Для каждого ИмяКолонки Из СписокКолонок Цикл Для каждого ИмяКолонки Из СписокКолонок Цикл
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
ПолеОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); ПолеОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ТаблицаСопоставленияДанных_ТЧ_" + ИмяКолонки); ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1_%2_%3",
ПрефиксТаблицыСопоставления, ПрефиксТабличнойЧасти, ИмяКолонки));
ПолеОформления.Использование = Истина; ПолеОформления.Использование = Истина;
ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаСопоставленияДанных.РезультатСопоставленияСтроки"); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаСопоставленияДанных.РезультатСопоставленияСтроки");
@@ -1525,7 +1538,8 @@
Иначе Иначе
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
ПолеОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); ПолеОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ТаблицаСопоставленияДанных_ОбъектСопоставления"); ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1_%2",
ПрефиксТаблицыСопоставления, "ОбъектСопоставления"));
ПолеОформления.Использование = Истина; ПолеОформления.Использование = Истина;
ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаСопоставленияДанных.РезультатСопоставленияСтроки"); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаСопоставленияДанных.РезультатСопоставленияСтроки");
@@ -1802,6 +1816,7 @@
Для каждого Колонка Из ТабличнаяЧасть.Колонки Цикл Для каждого Колонка Из ТабличнаяЧасть.Колонки Цикл
КолонкиТабличнойЧасти.Вставить(Колонка.Имя, Истина); КолонкиТабличнойЧасти.Вставить(Колонка.Имя, Истина);
КонецЦикла; КонецЦикла;
ПрефиксТабличнойЧасти = ЗагрузкаДанныхИзФайлаКлиентСервер.ПрефиксТабличнойЧасти() + "_";
ВременнаяТЗ = РеквизитФормыВЗначение("ТаблицаСопоставленияДанных"); // см. Обработка.ЗагрузкаДанныхИзФайла.Форма.ЗагрузкаДанныхИзФайла.ТаблицаСопоставленияДанных ВременнаяТЗ = РеквизитФормыВЗначение("ТаблицаСопоставленияДанных"); // см. Обработка.ЗагрузкаДанныхИзФайла.Форма.ЗагрузкаДанныхИзФайла.ТаблицаСопоставленияДанных
Для каждого Строка Из ТабличнаяЧасть Цикл Для каждого Строка Из ТабличнаяЧасть Цикл
@@ -1810,7 +1825,7 @@
ЗаполненыВсеОбязательныеКолонки = Истина; ЗаполненыВсеОбязательныеКолонки = Истина;
Для каждого Колонка Из ТабличнаяЧасть.Колонки Цикл Для каждого Колонка Из ТабличнаяЧасть.Колонки Цикл
Если Колонка.Имя <> "Идентификатор" Тогда Если Колонка.Имя <> "Идентификатор" Тогда
НоваяСтрока["ТЧ_" + Колонка.Имя] = Строка[Колонка.Имя]; НоваяСтрока[ПрефиксТабличнойЧасти + Колонка.Имя] = Строка[Колонка.Имя];
КонецЕсли; КонецЕсли;
Если ЗначениеЗаполнено(КолонкиОбязательныеДляЗаполнения.Получить(Колонка.Имя)) Если ЗначениеЗаполнено(КолонкиОбязательныеДляЗаполнения.Получить(Колонка.Имя))
@@ -1831,7 +1846,7 @@
НоваяСтрока["ОписаниеОшибки"] = НоваяСтрока["ОписаниеОшибки"] + Неоднозначность.Колонка+ ";"; НоваяСтрока["ОписаниеОшибки"] = НоваяСтрока["ОписаниеОшибки"] + Неоднозначность.Колонка+ ";";
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
ПолеОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); ПолеОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ТЧ_" + Неоднозначность.Колонка); ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(ПрефиксТабличнойЧасти + Неоднозначность.Колонка);
ПолеОформления.Использование = Истина; ПолеОформления.Использование = Истина;
ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаСопоставленияДанных.ОписаниеОшибки"); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаСопоставленияДанных.ОписаниеОшибки");
@@ -1867,10 +1882,11 @@
Функция АдресВХранилищеТаблицыСопоставления() Функция АдресВХранилищеТаблицыСопоставления()
Таблица = РеквизитФормыВЗначение("ТаблицаСопоставленияДанных"); Таблица = РеквизитФормыВЗначение("ТаблицаСопоставленияДанных");
ПрефиксТабличнойЧасти = ЗагрузкаДанныхИзФайлаКлиентСервер.ПрефиксТабличнойЧасти() + "_";
ТаблицаДляТЧ = Новый ТаблицаЗначений; ТаблицаДляТЧ = Новый ТаблицаЗначений;
Для Каждого Колонка Из Таблица.Колонки Цикл Для Каждого Колонка Из Таблица.Колонки Цикл
Если СтрНачинаетсяС(Колонка.Имя, "ТЧ_") Тогда Если СтрНачинаетсяС(Колонка.Имя, ПрефиксТабличнойЧасти) Тогда
ТаблицаДляТЧ.Колонки.Добавить(Сред(Колонка.Имя, СтрДлина("ТЧ_") + 1), Колонка.ТипЗначения, Колонка.Заголовок, Колонка.Ширина); ТаблицаДляТЧ.Колонки.Добавить(Сред(Колонка.Имя, СтрДлина(ПрефиксТабличнойЧасти) + 1), Колонка.ТипЗначения, Колонка.Заголовок, Колонка.Ширина);
ИначеЕсли Колонка.Имя = "РезультатСопоставленияСтроки" ИЛИ Колонка.Имя = "ОписаниеОшибки" ИЛИ Колонка.Имя = "Идентификатор" Тогда ИначеЕсли Колонка.Имя = "РезультатСопоставленияСтроки" ИЛИ Колонка.Имя = "ОписаниеОшибки" ИЛИ Колонка.Имя = "Идентификатор" Тогда
ТаблицаДляТЧ.Колонки.Добавить(Колонка.Имя, Колонка.ТипЗначения, Колонка.Заголовок, Колонка.Ширина); ТаблицаДляТЧ.Колонки.Добавить(Колонка.Имя, Колонка.ТипЗначения, Колонка.Заголовок, Колонка.Ширина);
КонецЕсли; КонецЕсли;
@@ -1882,7 +1898,7 @@
Если Колонка.Имя = "Идентификатор" Тогда Если Колонка.Имя = "Идентификатор" Тогда
НоваяСтрока[Колонка.Имя] = Строка[Колонка.Имя]; НоваяСтрока[Колонка.Имя] = Строка[Колонка.Имя];
ИначеЕсли Колонка.Имя <> "РезультатСопоставленияСтроки" И Колонка.Имя <> "ОписаниеОшибки" Тогда ИначеЕсли Колонка.Имя <> "РезультатСопоставленияСтроки" И Колонка.Имя <> "ОписаниеОшибки" Тогда
НоваяСтрока[Колонка.Имя] = Строка["ТЧ_"+ Колонка.Имя]; НоваяСтрока[Колонка.Имя] = Строка[ПрефиксТабличнойЧасти + Колонка.Имя];
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
КонецЦикла; КонецЦикла;
@@ -2135,7 +2151,7 @@
Если Не ЗначениеЗаполнено(СтруктураОбъектаСопоставления.Синоним) Тогда Если Не ЗначениеЗаполнено(СтруктураОбъектаСопоставления.Синоним) Тогда
ЗаголовокКолонки = ""; ЗаголовокКолонки = "";
Если СтруктураОбъектаСопоставления.ОписаниеТипаОбъектаСопоставления.Типы().Количество() > 1 Тогда Если СтруктураОбъектаСопоставления.ОписаниеТипаОбъектаСопоставления.Типы().Количество() > 1 Тогда
ЗаголовокКолонки = "Объекты"; ЗаголовокКолонки = НСтр("ru = 'Объекты'");
Иначе Иначе
ЗаголовокКолонки = Строка(СтруктураОбъектаСопоставления.ОписаниеТипаОбъектаСопоставления.Типы()[0]); ЗаголовокКолонки = Строка(СтруктураОбъектаСопоставления.ОписаниеТипаОбъектаСопоставления.Типы()[0]);
КонецЕсли; КонецЕсли;
@@ -2213,7 +2229,9 @@
Картинка = БиблиотекаКартинок.Изменить; Картинка = БиблиотекаКартинок.Изменить;
Для Каждого Колонка Из ВременнаяТЗ.Колонки Цикл Для Каждого Колонка Из ВременнаяТЗ.Колонки Цикл
НовыйЭлемент = Элементы.Добавить("ТаблицаСопоставленияДанных_" + Колонка.Имя, Тип("ПолеФормы"), Элементы.ТаблицаСопоставленияДанных); // РасширениеПоляФормыДляПоляВвода НовыйЭлемент = Элементы.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1_%2",
ЗагрузкаДанныхИзФайлаКлиентСервер.ПрефиксТаблицыСопоставления(), Колонка.Имя),
Тип("ПолеФормы"), Элементы.ТаблицаСопоставленияДанных); // РасширениеПоляФормыДляПоляВвода
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = "ТаблицаСопоставленияДанных." + Колонка.Имя; НовыйЭлемент.ПутьКДанным = "ТаблицаСопоставленияДанных." + Колонка.Имя;
НовыйЭлемент.Заголовок = Колонка.Заголовок; НовыйЭлемент.Заголовок = Колонка.Заголовок;
@@ -2292,7 +2310,9 @@
Картинка = БиблиотекаКартинок.Изменить; Картинка = БиблиотекаКартинок.Изменить;
Для Каждого Колонка Из ВременнаяТЗ.Колонки Цикл Для Каждого Колонка Из ВременнаяТЗ.Колонки Цикл
НовыйЭлемент = Элементы.Добавить("ТаблицаСопоставленияДанных_" + Колонка.Имя, Тип("ПолеФормы"), Элементы.ТаблицаСопоставленияДанных); // РасширениеПоляФормыДляПоляВвода НовыйЭлемент = Элементы.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1_%2",
ЗагрузкаДанныхИзФайлаКлиентСервер.ПрефиксТаблицыСопоставления(), Колонка.Имя),
Тип("ПолеФормы"), Элементы.ТаблицаСопоставленияДанных); // РасширениеПоляФормыДляПоляВвода
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = "ТаблицаСопоставленияДанных." + Колонка.Имя; НовыйЭлемент.ПутьКДанным = "ТаблицаСопоставленияДанных." + Колонка.Имя;
НовыйЭлемент.Заголовок = Колонка.Заголовок; НовыйЭлемент.Заголовок = Колонка.Заголовок;
@@ -2344,6 +2364,7 @@
КолонкиСодержащиеСвязиПараметровВыбора = Новый Соответствие; КолонкиСодержащиеСвязиПараметровВыбора = Новый Соответствие;
ОбъектРеквизитыТЧ = ОбщегоНазначения.ОбъектМетаданныхПоПолномуИмени(ИмяОбъектаСопоставления); // ОбъектМетаданныхСправочник, ОбъектМетаданныхДокумент ОбъектРеквизитыТЧ = ОбщегоНазначения.ОбъектМетаданныхПоПолномуИмени(ИмяОбъектаСопоставления); // ОбъектМетаданныхСправочник, ОбъектМетаданныхДокумент
РеквизитыТЧ = ОбъектРеквизитыТЧ.Реквизиты; РеквизитыТЧ = ОбъектРеквизитыТЧ.Реквизиты;
ПрефиксТабличнойЧасти = ЗагрузкаДанныхИзФайлаКлиентСервер.ПрефиксТабличнойЧасти() + "_";
Для каждого Колонка Из РеквизитыТЧ Цикл Для каждого Колонка Из РеквизитыТЧ Цикл
@@ -2352,7 +2373,7 @@
КонецЕсли; КонецЕсли;
Если Колонка.ПроверкаЗаполнения = ПроверкаЗаполнения.ВыдаватьОшибку Тогда Если Колонка.ПроверкаЗаполнения = ПроверкаЗаполнения.ВыдаватьОшибку Тогда
ОбязательныеКолонки.Добавить("ТЧ_" + Колонка.Имя); ОбязательныеКолонки.Добавить(ПрефиксТабличнойЧасти + Колонка.Имя);
КонецЕсли; КонецЕсли;
Если Колонка.СвязиПараметровВыбора.Количество() > 0 Тогда Если Колонка.СвязиПараметровВыбора.Количество() > 0 Тогда
@@ -2361,8 +2382,8 @@
ТипРеквизита = ?(Колонка.Тип.СодержитТип(Тип("УникальныйИдентификатор")), ОбщегоНазначения.ОписаниеТипаСтрока(36), Колонка.Тип); ТипРеквизита = ?(Колонка.Тип.СодержитТип(Тип("УникальныйИдентификатор")), ОбщегоНазначения.ОписаниеТипаСтрока(36), Колонка.Тип);
ВременнаяТЗ.Колонки.Добавить("ТЧ_" + Колонка.Имя, ТипРеквизита, Колонка.Представление()); ВременнаяТЗ.Колонки.Добавить(ПрефиксТабличнойЧасти + Колонка.Имя, ТипРеквизита, Колонка.Представление());
МассивРеквизитов.Добавить(Новый РеквизитФормы("ТЧ_" + Колонка.Имя, ТипРеквизита, "ТаблицаСопоставленияДанных", Колонка.Представление())); МассивРеквизитов.Добавить(Новый РеквизитФормы(ПрефиксТабличнойЧасти + Колонка.Имя, ТипРеквизита, "ТаблицаСопоставленияДанных", Колонка.Представление()));
КонецЦикла; КонецЦикла;
@@ -2380,7 +2401,7 @@
Для Каждого Колонка Из ВременнаяТЗ.Колонки Цикл Для Каждого Колонка Из ВременнаяТЗ.Колонки Цикл
Если СтрНачинаетсяС(Колонка.Имя, "ТЧ_") Тогда Если СтрНачинаетсяС(Колонка.Имя, ПрефиксТабличнойЧасти) Тогда
ГруппаКолонокЗагружаемыеДанныеТЧ = Элементы.Добавить("ЗагружаемыеДанные_" + Колонка.Имя , Тип("ГруппаФормы"), ГруппаКолонокЗагружаемыеДанные); ГруппаКолонокЗагружаемыеДанныеТЧ = Элементы.Добавить("ЗагружаемыеДанные_" + Колонка.Имя , Тип("ГруппаФормы"), ГруппаКолонокЗагружаемыеДанные);
ГруппаКолонокЗагружаемыеДанныеТЧ.Группировка = ГруппировкаКолонок.Вертикальная; ГруппаКолонокЗагружаемыеДанныеТЧ.Группировка = ГруппировкаКолонок.Вертикальная;
Родитель = ГруппаКолонокЗагружаемыеДанныеТЧ; Родитель = ГруппаКолонокЗагружаемыеДанныеТЧ;
@@ -2390,14 +2411,15 @@
Родитель = ГруппаКолонокЗагружаемыеДанные; Родитель = ГруппаКолонокЗагружаемыеДанные;
КонецЕсли; КонецЕсли;
НовыйЭлемент = Элементы.Добавить("ТаблицаСопоставленияДанных_" + Колонка.Имя, Тип("ПолеФормы"), Родитель); НовыйЭлемент = Элементы.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1_%2",
ЗагрузкаДанныхИзФайлаКлиентСервер.ПрефиксТаблицыСопоставления(), Колонка.Имя), Тип("ПолеФормы"), Родитель);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = "ТаблицаСопоставленияДанных." + Колонка.Имя; НовыйЭлемент.ПутьКДанным = "ТаблицаСопоставленияДанных." + Колонка.Имя;
НовыйЭлемент.Заголовок = Колонка.Заголовок; НовыйЭлемент.Заголовок = Колонка.Заголовок;
НовыйЭлемент.ИсторияВыбораПриВводе = ИсторияВыбораПриВводе.НеИспользовать; НовыйЭлемент.ИсторияВыбораПриВводе = ИсторияВыбораПриВводе.НеИспользовать;
Если СтрДлина(Колонка.Имя) > 3 И СтрНачинаетсяС(Колонка.Имя, "ТЧ_") Тогда Если СтрДлина(Колонка.Имя) > 3 И СтрНачинаетсяС(Колонка.Имя, ПрефиксТабличнойЧасти) Тогда
Отбор = Новый Структура("ИмяКолонки", Сред(Колонка.Имя, 4)); Отбор = Новый Структура("ИмяКолонки", Сред(Колонка.Имя, 4));
Колонки = ИнформацияПоКолонкам.НайтиСтроки(Отбор); Колонки = ИнформацияПоКолонкам.НайтиСтроки(Отбор);
Если Колонки.Количество() > 0 Тогда Если Колонки.Количество() > 0 Тогда
@@ -2417,7 +2439,7 @@
НовыйЭлемент.АвтоОтметкаНезаполненного = Истина; НовыйЭлемент.АвтоОтметкаНезаполненного = Истина;
КонецЕсли; КонецЕсли;
Если СтрНачинаетсяС(Колонка.Имя, "ТЧ_") Тогда Если СтрНачинаетсяС(Колонка.Имя, ПрефиксТабличнойЧасти) Тогда
ТипКолонки = Метаданные.НайтиПоТипу(Колонка.ТипЗначения.Типы()[0]); ТипКолонки = Метаданные.НайтиПоТипу(Колонка.ТипЗначения.Типы()[0]);
Если ТипКолонки <> Неопределено И СтрНайти(ТипКолонки.ПолноеИмя(), "Справочник") > 0 Тогда Если ТипКолонки <> Неопределено И СтрНайти(ТипКолонки.ПолноеИмя(), "Справочник") > 0 Тогда
НовыйЭлемент.КартинкаШапки = Картинка; НовыйЭлемент.КартинкаШапки = Картинка;
@@ -2430,7 +2452,8 @@
Позиция = СтрНайти(СвязьПараметраВыбора.ПутьКДанным, ".", НаправлениеПоиска.СКонца); Позиция = СтрНайти(СвязьПараметраВыбора.ПутьКДанным, ".", НаправлениеПоиска.СКонца);
Если Позиция > 0 Тогда Если Позиция > 0 Тогда
ИмяЭлемента = Сред(СвязьПараметраВыбора.ПутьКДанным, Позиция + 1); ИмяЭлемента = Сред(СвязьПараметраВыбора.ПутьКДанным, Позиция + 1);
НоваяСвязь = Новый СвязьПараметраВыбора(СвязьПараметраВыбора.Имя, "Элементы.ТаблицаСопоставленияДанных.ТекущиеДанные.ТЧ_" + ИмяЭлемента, СвязьПараметраВыбора.ИзменениеЗначения); НоваяСвязь = Новый СвязьПараметраВыбора(СвязьПараметраВыбора.Имя, "Элементы.ТаблицаСопоставленияДанных.ТекущиеДанные."
+ ПрефиксТабличнойЧасти + ИмяЭлемента, СвязьПараметраВыбора.ИзменениеЗначения);
НовыйМассив.Добавить(НоваяСвязь); НовыйМассив.Добавить(НоваяСвязь);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -149,7 +149,7 @@
Функция ЗагрузкаДанныхИзФайлаДопустима(Справочник) Функция ЗагрузкаДанныхИзФайлаДопустима(Справочник)
Если СтрНачинаетсяС(ВРег(Справочник.Имя), "УДАЛИТЬ") Тогда Если СтрНачинаетсяС(ВРег(Справочник.Имя), ВРег("УДАЛИТЬ")) Тогда
Возврат Ложь; Возврат Ложь;
КонецЕсли; КонецЕсли;
@@ -162,7 +162,7 @@
КодРегиона = ДанныеОрганизации.RegionCode; КодРегиона = ДанныеОрганизации.RegionCode;
Регион = ДанныеОрганизации.RegionName; Регион = ДанныеОрганизации.RegionName;
Если Не ЗначениеЗаполнено(Регион) Тогда Если Не ЗначениеЗаполнено(Регион) Тогда
Регион = НСтр("ru = 'Другие территории'"); Регион = РегионДругиеТерритории();
КодРегиона = ""; КодРегиона = "";
КонецЕсли; КонецЕсли;
@@ -194,6 +194,12 @@
КонецФункции КонецФункции
Функция РегионДругиеТерритории()
Возврат НСтр("ru = 'Другие территории'");
КонецФункции
Функция СтруктураДанныхОрганизации() Функция СтруктураДанныхОрганизации()
Результат = Новый Структура; Результат = Новый Структура;
@@ -377,7 +383,11 @@
Блокировка.Добавить("Справочник.КлассификаторБанков"); Блокировка.Добавить("Справочник.КлассификаторБанков");
Блокировка.Заблокировать(); Блокировка.Заблокировать();
РегионСсылка = Справочники.КлассификаторБанков.НайтиПоКоду(СведенияОБанке.КодРегиона); Если ЗначениеЗаполнено(СведенияОБанке.КодРегиона) Тогда
РегионСсылка = Справочники.КлассификаторБанков.НайтиПоКоду(СведенияОБанке.КодРегиона);
Иначе
РегионСсылка = Справочники.КлассификаторБанков.НайтиПоНаименованию(РегионДругиеТерритории(), Истина);
КонецЕсли;
Если РегионСсылка.Пустая() Тогда Если РегионСсылка.Пустая() Тогда
Регион = Справочники.КлассификаторБанков.СоздатьГруппу(); Регион = Справочники.КлассификаторБанков.СоздатьГруппу();
@@ -932,8 +932,8 @@
Если ТекущийПользователь = Неопределено Тогда Если ТекущийПользователь = Неопределено Тогда
СтрокаТаблицы = НеСкопированныеНастройкиОтчетов.Добавить(); СтрокаТаблицы = НеСкопированныеНастройкиОтчетов.Добавить();
СтрокаТаблицы.Пользователь = ПользовательПриемник.Наименование; СтрокаТаблицы.Пользователь = ПользовательПриемник;
ТекущийПользователь = ПользовательПриемник.Наименование; ТекущийПользователь = ПользовательПриемник;
КонецЕсли; КонецЕсли;
Если СтрокаТаблицы.СписокОтчетов.НайтиПоЗначению(КлючОтчета[0]) = Неопределено Тогда Если СтрокаТаблицы.СписокОтчетов.НайтиПоЗначению(КлючОтчета[0]) = Неопределено Тогда
@@ -2009,7 +2009,7 @@
Для Каждого СтрокаТаблицы Из НеСкопированныеНастройкиОтчетов Цикл Для Каждого СтрокаТаблицы Из НеСкопированныеНастройкиОтчетов Цикл
ТабДок.Вывести(ТабМакет.ПолучитьОбласть("ПустаяСтрока")); ТабДок.Вывести(ТабМакет.ПолучитьОбласть("ПустаяСтрока"));
ОбластьСодержание.Параметры.Название = СтрокаТаблицы.Пользователь + ":"; ОбластьСодержание.Параметры.Название = Строка(СтрокаТаблицы.Пользователь) + ":";
ТабДок.Вывести(ОбластьСодержание); ТабДок.Вывести(ОбластьСодержание);
Для Каждого НазваниеОтчета Из СтрокаТаблицы.СписокОтчетов Цикл Для Каждого НазваниеОтчета Из СтрокаТаблицы.СписокОтчетов Цикл
ОбластьСодержание.Параметры.Название = НазваниеОтчета.Значение; ОбластьСодержание.Параметры.Название = НазваниеОтчета.Значение;
@@ -124,67 +124,136 @@
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>АдресныйКлассификаторНастройки</name> <name>АдресныйКлассификаторНастройки</name>
<id>1874</id> <id>1874</id>
<items xsi:type="form:Button"> <items xsi:type="form:FormGroup">
<name>ЗагрузкаАдресногоКлассификатора</name> <name>ЗагрузкаИОчисткаАдресногоКлассификатора</name>
<id>1876</id> <id>1941</id>
<items xsi:type="form:Button">
<name>ЗагрузкаАдресногоКлассификатора</name>
<id>1876</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ЗагрузкаАдресногоКлассификатораРасширеннаяПодсказка</name>
<id>1877</id>
<type>Label</type>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Hyperlink</type>
<commandName>Form.Command.ЗагрузкаАдресногоКлассификатора</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ОчисткаАдресныхСведений</name>
<id>1878</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОчисткаАдресныхСведенийРасширеннаяПодсказка</name>
<id>1879</id>
<title>
<key>ru</key>
<value>Очистка адресного классификатора.</value>
</title>
<type>Label</type>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Hyperlink</type>
<commandName>Form.Command.ОчисткаАдресныхСведений</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
<common>true</common> <common>true</common>
</userVisible> </userVisible>
<title>
<key>ru</key>
<value>Группа1</value>
</title>
<toolTip>
<key>ru</key>
<value>Для экономии трафика при автоподборе и проверке адресов, а также при работе без доступа к Интернету возможно загружать и обновлять адресные сведения в программу. Требуется до 2 Гб места на компьютере.</value>
</toolTip>
<toolTipRepresentation>ShowBottom</toolTipRepresentation>
<extendedTooltip> <extendedTooltip>
<name>ЗагрузкаАдресногоКлассификатораРасширеннаяПодсказка</name> <name>ЗагрузкаИОчисткаАдресногоКлассификатораРасширеннаяПодсказка</name>
<id>1877</id> <id>1942</id>
<title>
<key>ru</key>
<value>Для экономии трафика при автоподборе и проверке адресов, а также при работе без доступа к Интернету возможно загружать и обновлять адресные сведения в программу. Требуется до 2 Гб места на компьютере.</value>
</title>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo"> <extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<type>Hyperlink</type> <type>UsualGroup</type>
<commandName>Form.Command.ЗагрузкаАдресногоКлассификатора</commandName> <extInfo xsi:type="form:UsualGroupExtInfo">
<buttonImportance>Normal</buttonImportance> <group>AlwaysHorizontal</group>
<representation>Auto</representation> <behavior>Auto</behavior>
<autoMaxWidth>true</autoMaxWidth> <showLeftMargin>true</showLeftMargin>
<autoMaxHeight>true</autoMaxHeight> <united>true</united>
<placementArea>UserCmds</placementArea> <throughAlign>Auto</throughAlign>
<toolTipRepresentation>ShowBottom</toolTipRepresentation> <currentRowUse>Auto</currentRowUse>
<representationInContextMenu>Auto</representationInContextMenu> </extInfo>
</items> </items>
<items xsi:type="form:Button"> <items xsi:type="form:FormField">
<name>ОчисткаАдресныхСведений</name> <name>ИспользоватьВебСервисАдресов</name>
<id>1878</id> <id>1943</id>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
<common>true</common> <common>true</common>
</userVisible> </userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ИспользоватьВебСервисАдресов</segments>
</dataPath>
<titleLocation>Right</titleLocation>
<handlers>
<event>OnChange</event>
<name>ИспользоватьВебСервисАдресовПриИзменении</name>
</handlers>
<extendedTooltip> <extendedTooltip>
<name>ОчисткаАдресныхСведенийРасширеннаяПодсказка</name> <name>ИспользоватьВебСервисАдресовРасширеннаяПодсказка</name>
<id>1879</id> <id>1945</id>
<title>
<key>ru</key>
<value>Очистка адресного классификатора.</value>
</title>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo"> <extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<type>Hyperlink</type> <contextMenu>
<commandName>Form.Command.ОчисткаАдресныхСведений</commandName> <name>ИспользоватьВебСервисАдресовКонтекстноеМеню</name>
<buttonImportance>Normal</buttonImportance> <id>1944</id>
<representation>Auto</representation> <autoFill>true</autoFill>
<autoMaxWidth>true</autoMaxWidth> </contextMenu>
<autoMaxHeight>true</autoMaxHeight> <type>CheckBoxField</type>
<placementArea>UserCmds</placementArea> <editMode>Enter</editMode>
<toolTipRepresentation>ShowBottom</toolTipRepresentation> <showInHeader>true</showInHeader>
<representationInContextMenu>Auto</representationInContextMenu> <headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
</items> </items>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
@@ -1712,6 +1781,23 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>ИспользоватьВебСервисАдресов</name>
<title>
<key>ru</key>
<value>Подбирать и проверять адреса через Интернет, которые не загружены в приложение</value>
</title>
<id>34</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands> <formCommands>
<name>ПодключитьОтключитьОбсуждения</name> <name>ПодключитьОтключитьОбсуждения</name>
<title> <title>
@@ -1775,7 +1861,7 @@
<name>ОчисткаАдресныхСведений</name> <name>ОчисткаАдресныхСведений</name>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Очистка адресных сведений</value> <value>Очистка</value>
</title> </title>
<id>15</id> <id>15</id>
<use> <use>
@@ -59,6 +59,15 @@
#Область ОбработчикиСобытийЭлементовШапкиФормы #Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ИспользоватьВебСервисАдресовПриИзменении(Элемент)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.НастройкиПрограммы") Тогда
ПриИзмененииИспользованияВебСервисАдресов(ИспользоватьВебСервисАдресов);
КонецЕсли;
КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура РазрешитьОтправлятьДанныеПриИзменении(Элемент) Процедура РазрешитьОтправлятьДанныеПриИзменении(Элемент)
@@ -218,6 +227,13 @@
КонецПроцедуры КонецПроцедуры
&НаСервереБезКонтекста
Процедура ПриИзмененииИспользованияВебСервисАдресов(ИспользоватьВебСервисАдресов)
НастройкиПрограммы.ИнтернетПоддержкаИСервисыУстановитьИспользованиеВебСервиса(ИспользоватьВебСервисАдресов);
КонецПроцедуры
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Клиент // Клиент
@@ -297,6 +297,7 @@
КонецЕсли; КонецЕсли;
ОбновитьИнтерфейс = Истина; ОбновитьИнтерфейс = Истина;
ПодключитьОбработчикОжидания("ОбновитьИнтерфейсПрограммы", 2, Истина);
КонецПроцедуры КонецПроцедуры
@@ -146,7 +146,7 @@
Процедура ПриОбработкеОшибкиПолученияКодаРегистрации(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт Процедура ПриОбработкеОшибкиПолученияКодаРегистрации(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
ОбработкаОшибок.ПоказатьИнформациюОбОшибке(ИнформацияОбОшибке); СтандартныеПодсистемыКлиент.ПоказатьИнформациюОбОшибкеИПродолжить(ИнформацияОбОшибке);
СостояниеРегистрации = "НеЗарегистрирована"; СостояниеРегистрации = "НеЗарегистрирована";
ПриИзмененииСостоянияФормы(ЭтотОбъект); ПриИзмененииСостоянияФормы(ЭтотОбъект);
@@ -196,7 +196,7 @@
Процедура ПриОбработкеОшибкиРегистрации(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт Процедура ПриОбработкеОшибкиРегистрации(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
ОбработкаОшибок.ПоказатьИнформациюОбОшибке(ИнформацияОбОшибке); СтандартныеПодсистемыКлиент.ПоказатьИнформациюОбОшибкеИПродолжить(ИнформацияОбОшибке);
СостояниеРегистрации = "ОжиданиеВводаКодаПодтверждения"; СостояниеРегистрации = "ОжиданиеВводаКодаПодтверждения";
ПриИзмененииСостоянияФормы(ЭтотОбъект); ПриИзмененииСостоянияФормы(ЭтотОбъект);
@@ -602,13 +602,9 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Если ТекущиеДанные.Расширение = "mxl" Тогда ДокументСоШтампом = РаботаСФайламиСлужебныйВызовСервера.ДокументСоШтампом(ТекущиеДанные.Ссылка);
ДокументСоШтампом = РаботаСФайламиСлужебныйВызовСервера.ТабличныйДокументСоШтампом(ТекущиеДанные.Ссылка); РаботаСФайламиСлужебныйКлиент.ПечатьФайлаСоШтампом(ДокументСоШтампом, ТекущиеДанные.Наименование);
РаботаСФайламиСлужебныйКлиент.ПечатьФайлаСоШтампом(ДокументСоШтампом);
ИначеЕсли ТекущиеДанные.Расширение = "docx" Тогда
ДокументСоШтампом = РаботаСФайламиСлужебныйВызовСервера.ОфисныйДокументСоШтампом(ТекущиеДанные.Ссылка);
ФайловаяСистемаКлиент.ОткрытьФайл(ДокументСоШтампом, , ТекущиеДанные.Наименование+".docx");
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -360,8 +360,8 @@
Файл = ТекущаяСсылкаНаФайл(); Файл = ТекущаяСсылкаНаФайл();
Если ЗначениеЗаполнено(Файл) Или ОбработатьКомандуЗаписиФайла() Тогда Если ЗначениеЗаполнено(Файл) Или ОбработатьКомандуЗаписиФайла() Тогда
ДокументСоШтампом = РаботаСФайламиСлужебныйВызовСервера.ТабличныйДокументСоШтампом(Файл); ДокументСоШтампом = РаботаСФайламиСлужебныйВызовСервера.ДокументСоШтампом(Файл);
РаботаСФайламиСлужебныйКлиент.ПечатьФайлаСоШтампом(ДокументСоШтампом); РаботаСФайламиСлужебныйКлиент.ПечатьФайлаСоШтампом(ДокументСоШтампом, ТекущееНаименованиеФайла());
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -105,11 +105,11 @@
Элементы.ОКТМО.Видимость = ВидКонтактнойИнформации.УказыватьОКТМО; Элементы.ОКТМО.Видимость = ВидКонтактнойИнформации.УказыватьОКТМО;
Если Страна <> ОсновнаяСтрана Тогда Если Страна <> ОсновнаяСтрана Тогда
ОсновнаяСтранаНаименование = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ОсновнаяСтрана, "Наименование");
// Считаем адрес российским // Считаем адрес российским
ТекстПредупрежденияПриОткрытии = НСтр("ru = 'Адрес введен некорректно: допускается ввод только национальных адресов. ТекстПредупрежденияПриОткрытии = НСтр("ru = 'Адрес введен некорректно: допускается ввод только национальных адресов.
|Значение поля ""Страна"" было изменено на %1, проверьте остальные поля.'"); |Значение поля ""Страна"" было изменено на %1, проверьте остальные поля.'");
ТекстПредупрежденияПриОткрытии = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПредупрежденияПриОткрытии, ОсновнаяСтрана.Наименование); ТекстПредупрежденияПриОткрытии = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПредупрежденияПриОткрытии, ОсновнаяСтранаНаименование);
ПолеПредупрежденияПриОткрытии = "СтранаВСвободнойФорме"; ПолеПредупрежденияПриОткрытии = "СтранаВСвободнойФорме";
Модифицированность = Истина; Модифицированность = Истина;
Элементы.Страна.Доступность = Ложь; Элементы.Страна.Доступность = Ложь;
@@ -2277,7 +2277,7 @@
Если ДанныеСтраны = Неопределено Тогда Если ДанныеСтраны = Неопределено Тогда
// Не нашли ни в справочнике, ни в классификаторе. // Не нашли ни в справочнике, ни в классификаторе.
Страна = СсылкаНаОсновнуюСтрану; Страна = СсылкаНаОсновнуюСтрану;
КодСтраны = СсылкаНаОсновнуюСтрану.Код; КодСтраны = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СсылкаНаОсновнуюСтрану, "Код");
Иначе Иначе
Страна = ДанныеСтраны.Ссылка; Страна = ДанныеСтраны.Ссылка;
КодСтраны = ДанныеСтраны.Код; КодСтраны = ДанныеСтраны.Код;
@@ -3667,7 +3667,7 @@
// Распознали с ошибками, сообщим при открытии. // Распознали с ошибками, сообщим при открытии.
ТекстПредупрежденияПриОткрытии = РезультатыЧтения.ТекстОшибки; ТекстПредупрежденияПриОткрытии = РезультатыЧтения.ТекстОшибки;
XDTOКонтактная.Представление = Параметры.Представление; XDTOКонтактная.Представление = Параметры.Представление;
XDTOКонтактная.Состав.Страна = Строка(ОсновнаяСтрана); XDTOКонтактная.Состав.Страна = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ОсновнаяСтрана, "Наименование");
КонецЕсли; КонецЕсли;
Иначе Иначе
XDTOКонтактная = УправлениеКонтактнойИнформациейЛокализация.АдресXMLВXDTO(ЗначенияПолей, Параметры.Представление, ); XDTOКонтактная = УправлениеКонтактнойИнформациейЛокализация.АдресXMLВXDTO(ЗначенияПолей, Параметры.Представление, );
@@ -3679,7 +3679,7 @@
XDTOКонтактная.Состав.Страна = Строка(Параметры.Страна); XDTOКонтактная.Состав.Страна = Строка(Параметры.Страна);
КонецЕсли; КонецЕсли;
Иначе Иначе
XDTOКонтактная.Состав.Страна = ОсновнаяСтрана.Наименование; XDTOКонтактная.Состав.Страна = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ОсновнаяСтрана, "Наименование");
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Если Параметры.Комментарий <> Неопределено Тогда Если Параметры.Комментарий <> Неопределено Тогда
@@ -44,13 +44,17 @@
Элементы.ОК.Заголовок = НСтр("ru='Сканировать'"); Элементы.ОК.Заголовок = НСтр("ru='Сканировать'");
КонецЕсли; КонецЕсли;
ПараметрыЗаданияСканирования = ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекЗагрузить("КомпонентаСканирования", "ПараметрыЗаданияСканирования", Неопределено);
Элементы.ОшибкаСканирования.Видимость = ПараметрыЗаданияСканирования <> Неопределено;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПриОткрытии(Отказ) Процедура ПриОткрытии(Отказ)
ОбновитьСостояние(); ОбновитьСостояние();
ОбработатьИспользованиеДиалогаСканирования(); ОбработатьИспользованиеДиалогаСканирования();
Элементы.ОшибкаСканирования.Видимость = Не ОткрытаФормаСканирования() И РаботаСФайламиСлужебныйКлиент.БылаОшибкаСканирования(); Элементы.ОшибкаСканирования.Видимость = Элементы.ОшибкаСканирования.Видимость И Не ОткрытаФормаСканирования();
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -152,7 +156,8 @@
Процедура ТекстОшибкиСканированияОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка) Процедура ТекстОшибкиСканированияОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
Если НавигационнаяСсылкаФорматированнойСтроки = "ТехническаяИнформация" Тогда Если НавигационнаяСсылкаФорматированнойСтроки = "ТехническаяИнформация" Тогда
ПослеПолученияТехническойИнформации = Новый ОписаниеОповещения("ПослеПолученияТехническойИнформации", ЭтотОбъект); ПослеПолученияТехническойИнформации = Новый ОписаниеОповещения("ПослеПолученияТехническойИнформации", ЭтотОбъект);
РаботаСФайламиСлужебныйКлиент.ПолучитьТехническуюИнформацию(НСтр("ru='Последняя попытка сканирования завершилась неудачно.'"), ПослеПолученияТехническойИнформации); РаботаСФайламиСлужебныйКлиент.ПолучитьТехническуюИнформацию(НСтр("ru='Последняя попытка сканирования завершилась неудачно.'"),
ПослеПолученияТехническойИнформации);
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -205,8 +210,10 @@
Возврат; Возврат;
Иначе Иначе
Контекст = Новый Структура; Контекст = Новый Структура;
ОбработчикРезультатаПроверки = Новый ОписаниеОповещения("ПослеПроверкиУстановленнойПрограммыКонвертации", ЭтотОбъект, НастройкиСканированияПользователя); ОбработчикРезультатаПроверки = Новый ОписаниеОповещения("ПослеПроверкиУстановленнойПрограммыКонвертации", ЭтотОбъект,
РаботаСФайламиКлиент.НачатьПроверкуНаличияПрограммыКонвертации(НастройкиСканированияПользователя.ПутьКПрограммеКонвертации, ОбработчикРезультатаПроверки); НастройкиСканированияПользователя);
РаботаСФайламиКлиент.НачатьПроверкуНаличияПрограммыКонвертации(НастройкиСканированияПользователя.ПутьКПрограммеКонвертации,
ОбработчикРезультатаПроверки);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -281,10 +288,14 @@
Элементы.СпособПреобразованияВPDF.Доступность = Истина; Элементы.СпособПреобразованияВPDF.Доступность = Истина;
Элементы.ПоказыватьДиалогСканера.Доступность = Истина; Элементы.ПоказыватьДиалогСканера.Доступность = Истина;
ДвустороннееСканированиеЧисло = РаботаСФайламиСлужебныйКлиент.НастройкаСканера(ЭтотОбъект, ПодключаемыйМодуль, ИмяУстройства, "DUPLEX"); ДвустороннееСканированиеЧисло = РаботаСФайламиСлужебныйКлиент.НастройкаСканера(ЭтотОбъект, ПодключаемыйМодуль,
РазрешениеЧисло = РаботаСФайламиСлужебныйКлиент.НастройкаСканера(ЭтотОбъект, ПодключаемыйМодуль, ИмяУстройства, "XRESOLUTION"); ИмяУстройства, "DUPLEX");
ПоворотЧисло = РаботаСФайламиСлужебныйКлиент.НастройкаСканера(ЭтотОбъект, ПодключаемыйМодуль, ИмяУстройства, "ROTATION"); РазрешениеЧисло = РаботаСФайламиСлужебныйКлиент.НастройкаСканера(ЭтотОбъект, ПодключаемыйМодуль,
РазмерБумагиЧисло = РаботаСФайламиСлужебныйКлиент.НастройкаСканера(ЭтотОбъект, ПодключаемыйМодуль, ИмяУстройства, "SUPPORTEDSIZES"); ИмяУстройства, "XRESOLUTION");
ПоворотЧисло = РаботаСФайламиСлужебныйКлиент.НастройкаСканера(ЭтотОбъект, ПодключаемыйМодуль,
ИмяУстройства, "ROTATION");
РазмерБумагиЧисло = РаботаСФайламиСлужебныйКлиент.НастройкаСканера(ЭтотОбъект, ПодключаемыйМодуль,
ИмяУстройства, "SUPPORTEDSIZES");
Элементы.ДвустороннееСканирование.Доступность = (ДвустороннееСканированиеЧисло <> -1); Элементы.ДвустороннееСканирование.Доступность = (ДвустороннееСканированиеЧисло <> -1);
Элементы.Поворот.Доступность = (ПоворотЧисло <> -1); Элементы.Поворот.Доступность = (ПоворотЧисло <> -1);
@@ -340,7 +351,8 @@
&НаСервере &НаСервере
Процедура ПреобразоватьПараметрыСканераВПеречисления(РазрешениеЧисло, ЦветностьЧисло, ПоворотЧисло, РазмерБумагиЧисло) Процедура ПреобразоватьПараметрыСканераВПеречисления(РазрешениеЧисло, ЦветностьЧисло, ПоворотЧисло, РазмерБумагиЧисло)
Результат = РаботаСФайламиСлужебный.ПараметрыСканераВПеречисления(РазрешениеЧисло, ЦветностьЧисло, ПоворотЧисло, РазмерБумагиЧисло); Результат = РаботаСФайламиСлужебный.ПараметрыСканераВПеречисления(РазрешениеЧисло, ЦветностьЧисло,
ПоворотЧисло, РазмерБумагиЧисло);
ОбновитьЗначение(Разрешение, Результат.Разрешение, Модифицированность); ОбновитьЗначение(Разрешение, Результат.Разрешение, Модифицированность);
ОбновитьЗначение(Цветность, Результат.Цветность, Модифицированность); ОбновитьЗначение(Цветность, Результат.Цветность, Модифицированность);
ОбновитьЗначение(Поворот, Результат.Поворот, Модифицированность); ОбновитьЗначение(Поворот, Результат.Поворот, Модифицированность);
@@ -430,7 +442,7 @@
&НаКлиенте &НаКлиенте
Процедура ПослеПолученияТехническойИнформации(Результат, Контекст) Экспорт Процедура ПослеПолученияТехническойИнформации(Результат, Контекст) Экспорт
Элементы.ОшибкаСканирования.Видимость = РаботаСФайламиСлужебныйКлиент.БылаОшибкаСканирования(); Элементы.ОшибкаСканирования.Видимость = Ложь;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -293,13 +293,6 @@
<types>FormattedString</types> <types>FormattedString</types>
</valueType> </valueType>
</parameters> </parameters>
<parameters>
<name>ДополнительнаяИнформация</name>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
</parameters>
<parameters> <parameters>
<name>ИмяУстройстваСканирования</name> <name>ИмяУстройстваСканирования</name>
<valueType> <valueType>
@@ -70,6 +70,9 @@
ПреобразоватьПеречисленияВПараметрыИПолучитьПредставление(); ПреобразоватьПеречисленияВПараметрыИПолучитьПредставление();
ПараметрыЗаданияСканирования = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("КомпонентаСканирования", "ПараметрыЗаданияСканирования", Неопределено);
Элементы.ОшибкаСканирования.Видимость = ПараметрыЗаданияСканирования <> Неопределено;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -87,8 +90,6 @@
ПозицияДляВставки = Неопределено; ПозицияДляВставки = Неопределено;
Элементы.ОшибкаСканирования.Видимость = РаботаСФайламиСлужебныйКлиент.БылаОшибкаСканирования();
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -388,7 +389,8 @@
Процедура ТекстОшибкиСканированияОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка) Процедура ТекстОшибкиСканированияОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
Если НавигационнаяСсылкаФорматированнойСтроки = "ТехническаяИнформация" Тогда Если НавигационнаяСсылкаФорматированнойСтроки = "ТехническаяИнформация" Тогда
ПослеПолученияТехническойИнформации = Новый ОписаниеОповещения("ПослеПолученияТехническойИнформации", ЭтотОбъект); ПослеПолученияТехническойИнформации = Новый ОписаниеОповещения("ПослеПолученияТехническойИнформации", ЭтотОбъект);
РаботаСФайламиСлужебныйКлиент.ПолучитьТехническуюИнформацию(НСтр("ru='Последняя попытка сканирования завершилась неудачно.'"), ПослеПолученияТехническойИнформации); РаботаСФайламиСлужебныйКлиент.ПолучитьТехническуюИнформацию(НСтр("ru='Последняя попытка сканирования завершилась неудачно.'"),
ПослеПолученияТехническойИнформации);
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -473,7 +475,8 @@
Если ПараметрыОткрытия.ВыбранноеУстройство = "" Тогда Если ПараметрыОткрытия.ВыбранноеУстройство = "" Тогда
Обработчик = Новый ОписаниеОповещения("ПодготовкаКСканированию", ЭтотОбъект, ПараметрыОткрытия); Обработчик = Новый ОписаниеОповещения("ПодготовкаКСканированию", ЭтотОбъект, ПараметрыОткрытия);
ПараметрыОткрытияФормы = Новый Структура("ПовторноеСканирование", Истина); ПараметрыОткрытияФормы = Новый Структура("ПовторноеСканирование", Истина);
ОткрытьФорму("Обработка.Сканирование.Форма.НастройкаСканирования", ПараметрыОткрытияФормы , ЭтотОбъект, , , , Обработчик, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); ОткрытьФорму("Обработка.Сканирование.Форма.НастройкаСканирования", ПараметрыОткрытияФормы , ЭтотОбъект, , , ,
Обработчик, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -554,7 +557,8 @@
НастройкиСканирования.РазмерБумаги = РазмерБумагиПеречисление; НастройкиСканирования.РазмерБумаги = РазмерБумагиПеречисление;
НастройкиСканирования.СжатиеTIFF = СжатиеTIFFПеречисление; НастройкиСканирования.СжатиеTIFF = СжатиеTIFFПеречисление;
ПримитивныеНастройкиСканирования = РаботаСФайламиСлужебныйВызовСервера.КонвертироватьНастройкиСканирования(НастройкиСканирования); ПримитивныеНастройкиСканирования = РаботаСФайламиСлужебныйВызовСервера.КонвертироватьНастройкиСканирования(НастройкиСканирования);
ЗаполнитьЗначенияСвойств(ЭтотОбъект, ПримитивныеНастройкиСканирования, "Разрешение, Цветность, Поворот, РазмерБумаги, СжатиеTIFF"); ЗаполнитьЗначенияСвойств(ЭтотОбъект, ПримитивныеНастройкиСканирования,
"Разрешение, Цветность, Поворот, РазмерБумаги, СжатиеTIFF");
Если СохранятьВPDF Тогда Если СохранятьВPDF Тогда
ФорматКартинки = Строка(ФорматСканированногоИзображения); ФорматКартинки = Строка(ФорматСканированногоИзображения);
@@ -1070,7 +1074,8 @@
ПараметрыЗаданияСканирования.Вставить("ПараметрыСканирования", ПараметрыСканирования); ПараметрыЗаданияСканирования.Вставить("ПараметрыСканирования", ПараметрыСканирования);
АдресКартинки = ПоместитьВоВременноеХранилище(БиблиотекаКартинок.ДлительнаяОперация48.ПолучитьДвоичныеДанные(), УникальныйИдентификатор); АдресКартинки = ПоместитьВоВременноеХранилище(БиблиотекаКартинок.ДлительнаяОперация48.ПолучитьДвоичныеДанные(), УникальныйИдентификатор);
ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекСохранить("КомпонентаСканирования", "ПараметрыЗаданияСканирования", ПараметрыЗаданияСканирования,,,Истина); ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекСохранить("КомпонентаСканирования", "ПараметрыЗаданияСканирования",
ПараметрыЗаданияСканирования,,,Истина);
РаботаСФайламиСлужебныйКлиент.НачатьСканирование(ЭтотОбъект, ПодключаемыйМодуль, ПараметрыСканирования); РаботаСФайламиСлужебныйКлиент.НачатьСканирование(ЭтотОбъект, ПодключаемыйМодуль, ПараметрыСканирования);
КонецЕсли; КонецЕсли;
@@ -1090,7 +1095,7 @@
&НаКлиенте &НаКлиенте
Процедура ПослеПолученияТехническойИнформации(Результат, Контекст) Экспорт Процедура ПослеПолученияТехническойИнформации(Результат, Контекст) Экспорт
Элементы.ОшибкаСканирования.Видимость = РаботаСФайламиСлужебныйКлиент.БылаОшибкаСканирования(); Элементы.ОшибкаСканирования.Видимость = Ложь;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -108,27 +108,32 @@
КонецЕсли; КонецЕсли;
Если ИПППодключена Тогда Если ИПППодключена Тогда
ИнформацияОСервисе = АдресныйКлассификаторПовтИсп.СервисКлассификатора1С(10); Если Не АдресныйКлассификаторПовтИсп.ИспользоватьТолькоЗагруженныеДанные() Тогда
СсылкаНаВебСервис = ИнформацияОСервисе.Сервер + ":" + ИнформацияОСервисе.Порт + "/"+ АдресныйКлассификаторСлужебный.ПрефиксВерсииЗапроса();
Если КлассификаторДоступен Тогда ИнформацияОСервисе = АдресныйКлассификаторПовтИсп.СервисКлассификатора1С(10);
СсылкаНаВебСервис = ИнформацияОСервисе.Сервер + ":" + ИнформацияОСервисе.Порт + "/"+ АдресныйКлассификаторСлужебный.ПрефиксВерсииЗапроса();
Шаблон = НСтр("ru = 'Веб-сервис доступен. Если КлассификаторДоступен Тогда
|URL подключения: %1'");
Сведения.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, СсылкаНаВебСервис));
Иначе
Сведения.Добавить(НСтр("ru = 'Веб-сервис недоступен.'"));
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолучениеФайловИзИнтернета") Тогда
МодульПолучениеФайловИзИнтернета = ОбщегоНазначения.ОбщийМодуль("ПолучениеФайловИзИнтернета"); Шаблон = НСтр("ru = 'Веб-сервис доступен.
Результат = МодульПолучениеФайловИзИнтернета.ДиагностикаСоединения(СсылкаНаВебСервис); |URL подключения: %1'");
Сведения.Добавить(Результат.ЖурналДиагностики); Сведения.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, СсылкаНаВебСервис));
Иначе
Сведения.Добавить(НСтр("ru = 'Веб-сервис недоступен.'"));
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолучениеФайловИзИнтернета") Тогда
МодульПолучениеФайловИзИнтернета = ОбщегоНазначения.ОбщийМодуль("ПолучениеФайловИзИнтернета");
Результат = МодульПолучениеФайловИзИнтернета.ДиагностикаСоединения(СсылкаНаВебСервис);
Сведения.Добавить(Результат.ЖурналДиагностики);
КонецЕсли;
КонецЕсли; КонецЕсли;
Иначе
Сведения.Добавить(НСтр("ru = 'Использование веб-сервиса отключено.'"));
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -50,43 +50,6 @@
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes> </standardAttributes>
<dataLockControlMode>Managed</dataLockControlMode> <dataLockControlMode>Managed</dataLockControlMode>
<attributes uuid="bcd6e5f0-a800-4f21-ad75-24c428157cee">
<name>ПочтовыйИндекс</name>
<synonym>
<key>ru</key>
<value>Почтовый индекс</value>
</synonym>
<type>
<types>Number</types>
<numberQualifiers>
<precision>10</precision>
</numberQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
</attributes>
<attributes uuid="9f351f0a-2d43-4215-8d74-040911230683">
<name>ОКТМО</name>
<synonym>
<key>ru</key>
<value>ОКТМО</value>
</synonym>
<type>
<types>Number</types>
<numberQualifiers>
<precision>11</precision>
</numberQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
</attributes>
<attributes uuid="6a9c1bd4-b550-4911-a8d1-321a7713a5a5"> <attributes uuid="6a9c1bd4-b550-4911-a8d1-321a7713a5a5">
<name>OKATO</name> <name>OKATO</name>
<synonym> <synonym>
@@ -104,12 +67,13 @@
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
</attributes> </attributes>
<attributes uuid="019fa716-e91a-4116-abcf-c87349c153a4"> <attributes uuid="3fcdfe26-1668-4aa7-bb10-ef8d8bd0ae39">
<name>КодУчасткаИФНСЮЛ</name> <name>КодИФНСФЛ</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Код участка ИФНСЮЛ</value> <value>Код ИФНСФЛ</value>
</synonym> </synonym>
<comment>Код ИФНС для физического лица</comment>
<type> <type>
<types>Number</types> <types>Number</types>
<numberQualifiers> <numberQualifiers>
@@ -118,28 +82,7 @@
</type> </type>
<toolTip> <toolTip>
<key>ru</key> <key>ru</key>
<value>Код участка ИФНС для юридического лица</value> <value>Код ИФНС для физического лица</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
</attributes>
<attributes uuid="f9fed640-0121-4c36-a822-0db7a9155adc">
<name>КодУчасткаИФНСФЛ</name>
<synonym>
<key>ru</key>
<value>Код участка ИФНСФЛ</value>
</synonym>
<type>
<types>Number</types>
<numberQualifiers>
<precision>4</precision>
</numberQualifiers>
</type>
<toolTip>
<key>ru</key>
<value>Код участка ИФНС для физического лица</value>
</toolTip> </toolTip>
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
@@ -168,13 +111,12 @@
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
</attributes> </attributes>
<attributes uuid="3fcdfe26-1668-4aa7-bb10-ef8d8bd0ae39"> <attributes uuid="f9fed640-0121-4c36-a822-0db7a9155adc">
<name>КодИФНСФЛ</name> <name>КодУчасткаИФНСФЛ</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Код ИФНСФЛ</value> <value>Код участка ИФНСФЛ</value>
</synonym> </synonym>
<comment>Код ИФНС для физического лица</comment>
<type> <type>
<types>Number</types> <types>Number</types>
<numberQualifiers> <numberQualifiers>
@@ -183,13 +125,89 @@
</type> </type>
<toolTip> <toolTip>
<key>ru</key> <key>ru</key>
<value>Код ИФНС для физического лица</value> <value>Код участка ИФНС для физического лица</value>
</toolTip> </toolTip>
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
</attributes> </attributes>
<attributes uuid="019fa716-e91a-4116-abcf-c87349c153a4">
<name>КодУчасткаИФНСЮЛ</name>
<synonym>
<key>ru</key>
<value>Код участка ИФНСЮЛ</value>
</synonym>
<type>
<types>Number</types>
<numberQualifiers>
<precision>4</precision>
</numberQualifiers>
</type>
<toolTip>
<key>ru</key>
<value>Код участка ИФНС для юридического лица</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
</attributes>
<attributes uuid="9f351f0a-2d43-4215-8d74-040911230683">
<name>ОКТМО</name>
<synonym>
<key>ru</key>
<value>ОКТМО</value>
</synonym>
<type>
<types>Number</types>
<numberQualifiers>
<precision>11</precision>
</numberQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
</attributes>
<attributes uuid="b8a6ea0c-cb94-44af-8e40-55defed295d1">
<name>ОКТМОБюджетополучателя</name>
<synonym>
<key>ru</key>
<value>ОКТМОБюджетополучателя</value>
</synonym>
<type>
<types>Number</types>
<numberQualifiers>
<precision>8</precision>
</numberQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
</attributes>
<attributes uuid="bcd6e5f0-a800-4f21-ad75-24c428157cee">
<name>ПочтовыйИндекс</name>
<synonym>
<key>ru</key>
<value>Почтовый индекс</value>
</synonym>
<type>
<types>Number</types>
<numberQualifiers>
<precision>10</precision>
</numberQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
</attributes>
<dimensions uuid="a0ebcc8a-267b-4f95-a986-46db8fb5df4d"> <dimensions uuid="a0ebcc8a-267b-4f95-a986-46db8fb5df4d">
<name>Идентификатор</name> <name>Идентификатор</name>
<synonym> <synonym>
Loaded 100 of 122 files, more files were not shown because too many files have changed in this diff. Show more