From eefe8329220bcb0752430b6509221f26b7c3d085 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=BE=D0=BC=D0=BF=D0=B0=D0=BD=D0=B8=D1=8F=201=D0=A1?= Date: Fri, 15 Sep 2023 17:37:00 +0300 Subject: [PATCH] 3_1_9_144 --- .../ВерсииРасширений/ManagerModule.bsl | 9 +- .../ПоискКомпонентыНаПортале1СИТС/Module.bsl | 2 +- .../Forms/ФормаСписка/Module.bsl | 4 +- .../Forms/ФормаЭлемента/Module.bsl | 2 +- .../Forms/НастройкиПолномочий/Module.bsl | 2 +- .../Forms/СведенияОбОрганизации/Form.form | 10 +- .../Forms/СведенияОбОрганизации/Module.bsl | 17 +- .../Forms/ФормаВводаПолномочий/Module.bsl | 27 + .../Forms/ФормаСписка/Form.form | 145 ++ .../Forms/ФормаСписка/Module.bsl | 83 +- .../Forms/ФормаЭлемента/Form.form | 921 +++++---- .../Forms/ФормаЭлемента/Module.bsl | 764 ++++--- .../ManagerModule.bsl | 245 +-- .../ObjectModule.bsl | 1 + .../Templates/ДанныеПечати/Template.dcs | 299 --- .../ЗначенияОграничений/Template.bin | Bin 9422 -> 0 bytes .../КлассификаторПолномочий/Template.bin | Bin 10683 -> 0 bytes .../Templates/Ограничения/Template.bin | Bin 880 -> 0 bytes .../МашиночитаемыеДоверенности.mdo | 26 +- .../ПрофилиГруппДоступа/ManagerModule.bsl | 2 +- .../Forms/ПаролиШифрование/Module.bsl | 156 +- .../Forms/ПолучателиРассылки/Module.bsl | 22 +- .../Forms/ФормаЭлемента/Module.bsl | 140 +- .../РассылкиОтчетов/ManagerModule.bsl | 26 +- .../Forms/ФормаСписка/Module.bsl | 14 +- .../Forms/ПодписаниеДанных/Form.form | 14 + .../Forms/ПодписаниеДанных/Module.bsl | 12 +- .../Forms/ФормаЭлемента/Form.form | 1 + .../ОбластьДанныхОсновныеДанные.mdo | 8 + .../Module.bsl | 7 +- .../CommonForms/ПечатьДокументов/Module.bsl | 4 +- .../Module.bsl | 27 +- .../Form.form | 80 - SSL/src/CommonForms/ФормаОтчета/Module.bsl | 7 +- .../CommonForms/ЭлектроннаяПодпись/Form.form | 162 +- .../CommonForms/ЭлектроннаяПодпись/Module.bsl | 3 +- .../БизнесПроцессыИЗадачиКлиент/Module.bsl | 8 +- .../CommonModules/ВариантыОтчетов/Module.bsl | 12 +- .../ЗащитаПерсональныхДанных/Module.bsl | 1 + .../КонтрольВеденияУчетаСлужебный/Module.bsl | 2 +- .../МашиночитаемыеДоверенностиФНС/Module.bsl | 47 +- .../Module.bsl | 28 + .../Module.bsl | 30 + .../Module.bsl | 141 +- .../Module.bsl | 641 +++--- .../Module.bsl | 14 +- .../Module.bsl | 94 + .../Module.bsl | 91 +- .../Module.bsl | 2 +- SSL/src/CommonModules/Обсуждения/Module.bsl | 8 +- .../ОбщегоНазначенияКлиент/Module.bsl | 2 +- .../Module.bsl | 34 +- .../ОтправкаSMSЧерезSMS4B/Module.bsl | 5 + .../ПользователиСлужебный/Module.bsl | 36 +- .../CommonModules/РаботаСФайлами/Module.bsl | 11 +- .../РаботаСФайламиКлиент/Module.bsl | 4 +- .../РаботаСФайламиСлужебный/Module.bsl | 13 +- .../Module.bsl | 18 +- .../РаботаСФайламиСлужебныйКлиент/Module.bsl | 74 +- .../CommonModules/РассылкаОтчетов/Module.bsl | 8 +- .../РассылкаОтчетовКлиентСервер/Module.bsl | 29 + .../Module.bsl | 2 + .../Module.bsl | 16 +- .../СтандартныеПодсистемыСервер/Module.bsl | 1 + .../УправлениеДоступомСлужебный/Module.bsl | 10 +- .../Module.bsl | 2 +- .../УправлениеПечатьюКлиент/Module.bsl | 39 +- .../Module.bsl | 9 +- .../УправлениеСвойствами/Module.bsl | 9 +- .../ЭлектроннаяПодпись/Module.bsl | 17 +- .../Module.bsl | 115 +- SSL/src/Configuration/Configuration.mdo | 22 +- .../Configuration/ParentConfigurations.bin | 2 +- .../Module.bsl | 8 +- .../ManagerModule.bsl | 4 +- .../Template.txt | 261 +-- .../Forms/Форма/Module.bsl | 89 +- .../Forms/СинхронизацияДанных/Form.form | 227 +- .../Forms/СинхронизацияДанных/Module.bsl | 111 +- .../Forms/ПоискДублей/Form.form | 36 +- .../Forms/ГруппаФайлов/Module.bsl | 2 +- .../Forms/ВыборАдресаПоУровню/Form.form | 245 ++- .../Forms/ВыборАдресаПоУровню/Module.bsl | 34 + .../Forms/РезультатСканирования/Module.bsl | 3 - .../Forms/Форма/Form.form | 4 + .../Forms/Форма/Module.bsl | 7 + .../ManagerModule.bsl | 14 + .../Template.bin | Bin 18998 -> 18107 bytes ...льНеразделенныхНаборовЗаписейПриЗаписи.mdo | 1 + .../ОбновлениеИнформационнойБазы.mdo | 3 + .../КлассификаторыМЧД/ManagerModule.bsl | 507 +++++ .../Template.txt | 453 ++++ .../ОграниченияПолномочий/Template.txt | 16 + .../Templates/Полномочия/Template.txt | 1820 +++++++++++++++++ .../КлассификаторыМЧД/КлассификаторыМЧД.mdo | 128 ++ .../ManagerModule.bsl | 38 +- .../RecordSetModule.bsl | 4 - .../СведенияОПользователях/ManagerModule.bsl | 11 +- .../РезультатыПроверкиУчета/ObjectModule.bsl | 2 +- .../Roles/АдминистраторСистемы/Rights.rights | 233 ++- SSL/src/Roles/БазовыеПраваБСП/Rights.rights | 65 +- .../Rights.rights | 54 +- .../Rights.rights | 54 +- .../Rights.rights | 54 +- .../Rights.rights | 54 +- .../Rights.rights | 54 +- .../ДобавлениеИзменениеЗаданий/Rights.rights | 14 +- .../Rights.rights | 54 +- .../Rights.rights | 22 +- .../Rights.rights | 54 +- .../Rights.rights | 14 +- .../Rights.rights | 38 +- .../Rights.rights | 14 +- .../Rights.rights | 54 +- .../ИзменениеВыполнениеЗадач/Rights.rights | 14 +- .../Rights.rights | 14 +- .../Rights.rights | 42 +- SSL/src/Roles/ОтправкаSMS/Rights.rights | 14 +- SSL/src/Roles/ПолныеПрава/Rights.rights | 129 +- .../Roles/УдаленныйДоступOData/Rights.rights | 56 +- .../Rights.rights | 42 +- .../ЧтениеДанныхСервисаDSS/Rights.rights | 22 +- .../Rights.rights | 54 +- SSL/src/Roles/ЧтениеЗаданий/Rights.rights | 14 +- SSL/src/Roles/ЧтениеЗадач/Rights.rights | 14 +- .../Rights.rights | 22 +- .../ЧтениеОтветовНаВопросыАнкет/Rights.rights | 30 +- .../Roles/ЧтениеРассылокОтчетов/Rights.rights | 22 +- .../Rights.rights | 54 +- .../Schedule.schedule | 22 + .../ОбновлениеКлассификаторовМЧД.mdo | 13 + ...етрыАвторизацииВРаспределенномРеестре.mdo} | 4 +- .../Forms/ПанельДругихОтчетов/Form.form | 1 + .../МашиночитаемыеДоверенности.mdo | 4 +- .../Package.xdto | 196 +- .../МашиночитаемаяДоверенность_EMCHD_1.mdo | 2 +- 136 files changed, 6938 insertions(+), 3546 deletions(-) delete mode 100644 SSL/src/Catalogs/МашиночитаемыеДоверенности/Templates/ДанныеПечати/Template.dcs delete mode 100644 SSL/src/Catalogs/МашиночитаемыеДоверенности/Templates/ЗначенияОграничений/Template.bin delete mode 100644 SSL/src/Catalogs/МашиночитаемыеДоверенности/Templates/КлассификаторПолномочий/Template.bin delete mode 100644 SSL/src/Catalogs/МашиночитаемыеДоверенности/Templates/Ограничения/Template.bin create mode 100644 SSL/src/InformationRegisters/КлассификаторыМЧД/ManagerModule.bsl create mode 100644 SSL/src/InformationRegisters/КлассификаторыМЧД/Templates/ЗначенияОграниченийПолномочий/Template.txt create mode 100644 SSL/src/InformationRegisters/КлассификаторыМЧД/Templates/ОграниченияПолномочий/Template.txt create mode 100644 SSL/src/InformationRegisters/КлассификаторыМЧД/Templates/Полномочия/Template.txt create mode 100644 SSL/src/InformationRegisters/КлассификаторыМЧД/КлассификаторыМЧД.mdo delete mode 100644 SSL/src/InformationRegisters/МашиночитаемыеДоверенностиСтатусы/RecordSetModule.bsl create mode 100644 SSL/src/ScheduledJobs/ОбновлениеКлассификаторовМЧД/Schedule.schedule create mode 100644 SSL/src/ScheduledJobs/ОбновлениеКлассификаторовМЧД/ОбновлениеКлассификаторовМЧД.mdo rename SSL/src/SessionParameters/{РезультатАвторизацииНаСервереМЧДРРСКО/РезультатАвторизацииНаСервереМЧДРРСКО.mdo => ПараметрыАвторизацииВРаспределенномРеестре/ПараметрыАвторизацииВРаспределенномРеестре.mdo} (58%) diff --git a/SSL/src/Catalogs/ВерсииРасширений/ManagerModule.bsl b/SSL/src/Catalogs/ВерсииРасширений/ManagerModule.bsl index f64c81a51..a93907088 100644 --- a/SSL/src/Catalogs/ВерсииРасширений/ManagerModule.bsl +++ b/SSL/src/Catalogs/ВерсииРасширений/ManagerModule.bsl @@ -445,13 +445,6 @@ КонецПроцедуры -// Вызывается из формы Расширения. -Процедура ПриУдаленииВсехРасширений() Экспорт - - ВключитьЗаданиеУдалениеУстаревшихПараметровРаботыВерсийРасширений(Истина); - -КонецПроцедуры - // Включает/Отключает регламентное задание УдалениеУстаревшихПараметровРаботыВерсийРасширений. Процедура ВключитьЗаданиеУдалениеУстаревшихПараметровРаботыВерсийРасширений(Включить) Экспорт @@ -602,7 +595,7 @@ Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() И РасширенияКонфигурации.Получить().Количество() = 0 Тогда - Справочники.ВерсииРасширений.ПриУдаленииВсехРасширений(); + ВключитьЗаданиеУдалениеУстаревшихПараметровРаботыВерсийРасширений(Истина); КонецЕсли; Исключение ИнформацияОбОшибке = ИнформацияОбОшибке(); diff --git a/SSL/src/Catalogs/ВнешниеКомпоненты/Forms/ПоискКомпонентыНаПортале1СИТС/Module.bsl b/SSL/src/Catalogs/ВнешниеКомпоненты/Forms/ПоискКомпонентыНаПортале1СИТС/Module.bsl index 318687484..bbaabb979 100644 --- a/SSL/src/Catalogs/ВнешниеКомпоненты/Forms/ПоискКомпонентыНаПортале1СИТС/Module.bsl +++ b/SSL/src/Catalogs/ВнешниеКомпоненты/Forms/ПоискКомпонентыНаПортале1СИТС/Module.bsl @@ -109,7 +109,7 @@ КонецФункции &НаСервере -Функция НачатьПолучениеКомпонентыСПортала(Идентификатор, Версия, ОбновлятьАвтоматически) +Функция НачатьПолучениеКомпонентыСПортала(Знач Идентификатор, Знач Версия, Знач ОбновлятьАвтоматически) Если Не ВнешниеКомпонентыСлужебный.ДоступнаЗагрузкаСПортала() Тогда Возврат Неопределено; diff --git a/SSL/src/Catalogs/ВнешниеКомпоненты/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/ВнешниеКомпоненты/Forms/ФормаСписка/Module.bsl index b4ff17267..a3cf69d25 100644 --- a/SSL/src/Catalogs/ВнешниеКомпоненты/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/ВнешниеКомпоненты/Forms/ФормаСписка/Module.bsl @@ -272,7 +272,7 @@ КонецПроцедуры &НаСервере -Функция ЗагрузитьКомпонентыНаСервере(ПомещенныеФайлы) +Функция ЗагрузитьКомпонентыНаСервере(Знач ПомещенныеФайлы) ОписаниеОшибок = Новый Массив; @@ -375,7 +375,7 @@ КонецПроцедуры &НаСервереБезКонтекста -Функция ЭтоФайлСервиса(АдресФайла) +Функция ЭтоФайлСервиса(Знач АдресФайла) Если ВнешниеКомпонентыСлужебный.ДоступнаИнтерактивнаяЗагрузкаСПортала() Тогда diff --git a/SSL/src/Catalogs/ВнешниеКомпоненты/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/ВнешниеКомпоненты/Forms/ФормаЭлемента/Module.bsl index 5c7895fd1..c01077170 100644 --- a/SSL/src/Catalogs/ВнешниеКомпоненты/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/ВнешниеКомпоненты/Forms/ФормаЭлемента/Module.bsl @@ -349,7 +349,7 @@ // Серверная логика процедуры ЗагрузитьКомпонентуИзФайла. &НаСервере -Функция ЗагрузитьКомпонентуИзФайлаНаСервере(ПараметрыЗагрузки) +Функция ЗагрузитьКомпонентуИзФайлаНаСервере(Знач ПараметрыЗагрузки) Если Не Пользователи.ЭтоПолноправныйПользователь(,, Ложь) Тогда ВызватьИсключение НСтр("ru = 'Недостаточно прав для загрузки компоненты.'"); diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/НастройкиПолномочий/Module.bsl b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/НастройкиПолномочий/Module.bsl index 73f14a746..a95386c0f 100644 --- a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/НастройкиПолномочий/Module.bsl +++ b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/НастройкиПолномочий/Module.bsl @@ -76,7 +76,7 @@ КонецПроцедуры &НаСервере -Процедура УдалитьНастройкуНаСервере(НастройкаПолномочий) +Процедура УдалитьНастройкуНаСервере(Знач НастройкаПолномочий) Пользователь = Пользователи.ТекущийПользователь(); diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/СведенияОбОрганизации/Form.form b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/СведенияОбОрганизации/Form.form index dfa56df91..64dcf73b8 100644 --- a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/СведенияОбОрганизации/Form.form +++ b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/СведенияОбОрганизации/Form.form @@ -2024,10 +2024,6 @@ NotificationProcessing ОбработкаОповещения - - OnOpen - ПриОткрытии - BeforeClose ПередЗакрытием @@ -2960,6 +2956,12 @@ true + + УникальныйИдентификаторВладельца + + UUID + + diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/СведенияОбОрганизации/Module.bsl b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/СведенияОбОрганизации/Module.bsl index 184b97aa0..ff0cbb559 100644 --- a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/СведенияОбОрганизации/Module.bsl +++ b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/СведенияОбОрганизации/Module.bsl @@ -12,6 +12,8 @@ Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Ссылка = Параметры.Ссылка; + УникальныйИдентификаторВладельца = Параметры.УникальныйИдентификаторВладельца; + ЗаполнитьСведенияОбОрганизации(ЭтотОбъект, Параметры.Реквизиты); Если Параметры.РедактированиеТаблицы Тогда @@ -89,13 +91,6 @@ КонецПроцедуры -&НаКлиенте -Процедура ПриОткрытии(Отказ) - - УникальныйИдентификаторВладельца = ВладелецФормы.УникальныйИдентификатор; - -КонецПроцедуры - &НаКлиенте Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка) @@ -438,6 +433,8 @@ Представители.Добавить(Структура); КонецЦикла; СведенияОбОрганизации.Вставить("Представители", Представители); + Иначе + СведенияОбОрганизации.Вставить("Представители", Неопределено); КонецЕсли; СведенияОбОрганизации.Вставить("Ссылка", Ссылка); @@ -671,8 +668,10 @@ МашиночитаемыеДоверенностиФНССлужебный.ПриЗаполненииРеквизитовОрганизации(Реквизиты); КонецЕсли; - ТаблицаПредставительНесколько[0].ПредставительСтрока = МашиночитаемыеДоверенностиФНССлужебный.ЗаголовокДекорации( - Реквизиты, "Представитель", Ложь); + ЗаголовокДекорации = МашиночитаемыеДоверенностиФНССлужебный.ЗаголовокДекорации( + Реквизиты, "Представитель", Ложь); // ФорматированнаяСтрока + + ТаблицаПредставительНесколько[0].ПредставительСтрока = ЗаголовокДекорации; Реквизиты.ЭтоДолжностноеЛицо = Не ЭтоИндивидуальныйПредприниматель; Реквизиты.ЭтоИндивидуальныйПредприниматель = ЭтоИндивидуальныйПредприниматель; ТаблицаПредставительНесколько[0].АдресРеквизитов = ПоместитьВоВременноеХранилище(Реквизиты, УникальныйИдентификаторВладельца); diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаВводаПолномочий/Module.bsl b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаВводаПолномочий/Module.bsl index b243719d6..a019bff19 100644 --- a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаВводаПолномочий/Module.bsl +++ b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаВводаПолномочий/Module.bsl @@ -520,6 +520,7 @@ &НаСервере Процедура ЗагрузитьВыбранныеПолномочия(ВыбранныеПолномочия, ДеревоЗначений) + СтрокиСПометками = Новый Соответствие; Для Каждого Полномочие Из ВыбранныеПолномочия.Полномочия Цикл Найдено = ДеревоЗначений.Строки.НайтиСтроки( @@ -532,6 +533,11 @@ НоваяСтрока = Найдено[0]; НоваяСтрока.Пометка = Истина; НоваяСтрока.ИдентификаторПолномочия = Полномочие.ИдентификаторПолномочия; + Если ЗначениеЗаполнено(НоваяСтрока.Родитель) Тогда + Если СтрокиСПометками[НоваяСтрока.Родитель] = Неопределено Тогда + СтрокиСПометками.Вставить(НоваяСтрока.Родитель, Истина); + КонецЕсли; + КонецЕсли; КонецЕсли; СтрокаВыбранные = ВыбранныеПолномочияТаблица.Добавить(); @@ -540,6 +546,27 @@ КонецЦикла; + Для Каждого КлючИЗначение Из СтрокиСПометками Цикл + Родитель = КлючИЗначение.Ключ; + РазныеСтроки = Ложь; + Флажок = Неопределено; + Для Каждого Строка Из Родитель.Строки Цикл + Если Флажок = Неопределено Тогда + Флажок = Строка.Пометка; + Продолжить; + КонецЕсли; + Если Флажок <> Строка.Пометка Тогда + РазныеСтроки = Истина; + Прервать; + КонецЕсли; + КонецЦикла; + Если РазныеСтроки Тогда + Родитель.Пометка = 2; + Иначе + Родитель.Пометка = Флажок; + КонецЕсли; + КонецЦикла; + ИдентификаторыПолномочийСОграничениями = Новый Соответствие; Если ВыбранныеПолномочия.Ограничения.Количество() > 0 Тогда diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаСписка/Form.form index 92cfff6a0..60b54e086 100644 --- a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаСписка/Form.form @@ -211,9 +211,12 @@ false true ShowInInputField + true + false true true true + Catalog.СертификатыКлючейЭлектроннойПодписиИШифрования.Form.ВыборСертификатаДляПодписанияИлиРасшифровки Normal @@ -333,6 +336,62 @@ Normal + + Доверитель + 218 + true + true + + true + + + Доверитель + + None + + OnChange + ДоверительПриИзменении + + + ДоверительРасширеннаяПодсказка + 220 + Label + true + true + + Left + + + + ДоверительКонтекстноеМеню + 219 + true + + InputField + Enter + true + Left + true + + + Clearing + ДоверительОчистка + + 25 + true + true + true + true + false + true + true + Normal + + ru + Наименование, ИНН, СНИЛС + + + true true @@ -446,6 +505,62 @@ Normal + + Представитель + 221 + true + true + + true + + + Представитель + + None + + OnChange + ПредставительПриИзменении + + + ПредставительРасширеннаяПодсказка + 223 + Label + true + true + + Left + + + + ПредставительКонтекстноеМеню + 222 + true + + InputField + Enter + true + Left + true + + + Clearing + ПредставительОчистка + + 25 + true + true + true + true + false + true + true + Normal + + ru + Наименование, ИНН, СНИЛС + + + true true @@ -2729,6 +2844,36 @@ true + + Доверитель + + <key>ru</key> + <value>Доверитель</value> + + 15 + + + true + + + true + + + + Представитель + + <key>ru</key> + <value>Представитель</value> + + 16 + + + true + + + true + + ЗагрузитьИзФайла diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаСписка/Module.bsl index 61e5c1ab2..a7dc77689 100644 --- a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаСписка/Module.bsl @@ -20,7 +20,6 @@ Список.АвтоматическоеСохранениеПользовательскихНастроек = Ложь; КонецЕсли; - КешироватьЗначенияСтатусов(); Заголовок = НСтр("ru='Машиночитаемые доверенности'"); АвторизованныйПользователь = Пользователи.АвторизованныйПользователь(); ДобавитьПолеОтбора("Доверитель", "ТипДоверителя"); @@ -62,12 +61,12 @@ КонецПроцедуры &НаКлиенте -Процедура Подключаемый_ПредставительПриИзменении(Элемент) +Процедура ПредставительПриИзменении(Элемент) УстановитьОтбор(); КонецПроцедуры &НаКлиенте -Процедура Подключаемый_ДоверительПриИзменении(Элемент) +Процедура ДоверительПриИзменении(Элемент) УстановитьОтбор(); КонецПроцедуры @@ -93,12 +92,12 @@ КонецПроцедуры &НаКлиенте -Процедура Подключаемый_ДоверительОчистка(СтандартнаяОбработка) +Процедура ДоверительОчистка(СтандартнаяОбработка) ОчисткаОтбора("Доверитель", "ТипДоверителя"); КонецПроцедуры &НаКлиенте -Процедура Подключаемый_ПредставительОчистка(СтандартнаяОбработка) +Процедура ПредставительОчистка(СтандартнаяОбработка) ОчисткаОтбора("Представитель", "ТипПредставителя"); КонецПроцедуры @@ -210,7 +209,7 @@ КонецПроцедуры &НаСервере -Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения) +Процедура ВыполнитьКомандуНаСервере(Знач ПараметрыВыполнения) ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Элементы.Список); КонецПроцедуры @@ -225,8 +224,8 @@ Процедура УстановитьОтбор() ТекущаяДатаСеанса = КонецДня(ОбщегоНазначенияКлиент.ДатаСеанса()); ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, "Действует", Истина, ВидСравненияКомпоновкиДанных.Равно,,ТолькоДействующие); - УстановитьОтборСоСтрокойПоиска(ЭтотОбъект.Доверитель, "Доверитель"); - УстановитьОтборСоСтрокойПоиска(ЭтотОбъект.Представитель, "Представитель"); + УстановитьОтборСоСтрокойПоиска(Доверитель, "Доверитель"); + УстановитьОтборСоСтрокойПоиска(Представитель, "Представитель"); УстановитьОтборСоСтрокойПоиска(Полномочия, "Полномочия"); УстановитьОтборПоРоли(); ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, "ТекущаяДата", ТекущаяДатаСеанса); @@ -235,20 +234,20 @@ ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, "ДатаОкончания", ТекущаяДатаСеанса, ВидСравненияКомпоновкиДанных.БольшеИлиРавно); ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Список.Отбор, "ДатаОкончания", ВидСравненияКомпоновкиДанных.МеньшеИлиРавно, МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.ДатаОкончанияПериодаИстекающихДоверенностей(ТекущаяДатаСеанса)); - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, "Статус", ЭтотОбъект.СтатусМЧД_Действует, ВидСравненияКомпоновкиДанных.Равно); + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, "Статус", ОбщегоНазначенияКлиент.ПредопределенныйЭлемент("Перечисление.СтатусыМЧД.Действует"), ВидСравненияКомпоновкиДанных.Равно); Заголовок = Заголовок+" "+НСтр("ru='(с истекающим сроком)'"); ИначеЕсли ОтборПоСостоянию = "ТребуютВнимания" Тогда ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, "ДатаОкончания", ТекущаяДатаСеанса, ВидСравненияКомпоновкиДанных.Больше); МассивСтатусов = Новый Массив; - МассивСтатусов.Добавить(ЭтотОбъект.ТехническийСтатус_ОшибкаРегистрации); - МассивСтатусов.Добавить(ЭтотОбъект.ТехническийСтатус_Регистрация); - МассивСтатусов.Добавить(ЭтотОбъект.ТехническийСтатус_РегистрацияОтмены); + МассивСтатусов.Добавить(ОбщегоНазначенияКлиент.ПредопределенныйЭлемент("Перечисление.ТехническиеСтатусыМЧД.ОшибкаРегистрации")); + МассивСтатусов.Добавить(ОбщегоНазначенияКлиент.ПредопределенныйЭлемент("Перечисление.ТехническиеСтатусыМЧД.Регистрация")); + МассивСтатусов.Добавить(ОбщегоНазначенияКлиент.ПредопределенныйЭлемент("Перечисление.ТехническиеСтатусыМЧД.РегистрацияОтмены")); ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, "ТехническийСтатус", МассивСтатусов, ВидСравненияКомпоновкиДанных.ВСписке); Заголовок = Заголовок+" "+НСтр("ru='(требуют внимания)'"); ИначеЕсли ОтборПоСостоянию = "ОжидаютПодписания" Тогда ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, "ДатаОкончания", ТекущаяДатаСеанса, ВидСравненияКомпоновкиДанных.Больше); - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, "Статус", ЭтотОбъект.СтатусМЧД_Черновик, ВидСравненияКомпоновкиДанных.Равно); + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, "Статус", ОбщегоНазначенияКлиент.ПредопределенныйЭлемент("Перечисление.СтатусыМЧД.Черновик"), ВидСравненияКомпоновкиДанных.Равно); ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, "Подписана", Ложь, ВидСравненияКомпоновкиДанных.Равно); Заголовок = Заголовок+" "+НСтр("ru='(ожидают подписания)'"); КонецЕсли; @@ -292,7 +291,7 @@ КонецПроцедуры &НаСервереБезКонтекста -Функция СформироватьСтрокуДляПоискаВЗапросе(Значение) +Функция СформироватьСтрокуДляПоискаВЗапросе(Знач Значение) Возврат ОбщегоНазначения.СформироватьСтрокуДляПоискаВЗапросе(Значение); КонецФункции @@ -323,26 +322,11 @@ &НаСервере Процедура ДобавитьПолеОтбора(ИмяПоля, ИмяПоляТипа) - ДобавляемыеРеквизиты = Новый Массив; РасширенноеОписаниеТипаСтороны = Новый ОписаниеТипов(Метаданные.ОпределяемыеТипы.СторонаМЧД.Тип); - ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяПоля, РасширенноеОписаниеТипаСтороны)); Для Каждого Тип Из РасширенноеОписаниеТипаСтороны.Типы() Цикл Элементы[ИмяПоляТипа].СписокВыбора.Добавить(Новый ОписаниеТипов(ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Тип)), Строка(Тип)); КонецЦикла; Элементы[ИмяПоляТипа].СписокВыбора.СортироватьПоПредставлению(); - - ИзменитьРеквизиты(ДобавляемыеРеквизиты); - - ПолеДоверитель = Элементы.Добавить(ИмяПоля, Тип("ПолеФормы"), Элементы["Группа"+ИмяПоля]); - ПолеДоверитель.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; - ПолеДоверитель.ПутьКДанным = ИмяПоля; - ПолеДоверитель.Вид = ВидПоляФормы.ПолеВвода; - ПолеДоверитель.УстановитьДействие("ПриИзменении", "Подключаемый_"+ИмяПоля+"ПриИзменении"); - ПолеДоверитель.УстановитьДействие("Очистка", "Подключаемый_"+ИмяПоля+"Очистка"); - ПолеДоверитель.ВыбиратьТип = Ложь; - ПолеДоверитель.КнопкаОчистки = Истина; - ПолеДоверитель.Ширина = 25; - ПолеДоверитель.ПодсказкаВвода = НСтр("ru='Наименование, ИНН, СНИЛС'"); ОписаниеТипа = Элементы[ИмяПоляТипа].СписокВыбора[0].Значение; ЭтотОбъект[ИмяПоля] = ОписаниеТипа.ПривестиЗначение(ЭтотОбъект[ИмяПоля]); ЭтотОбъект[ИмяПоляТипа] = ОписаниеТипа; @@ -401,45 +385,12 @@ КонецПроцедуры &НаСервере -Функция ЗагрузитьДоверенностиИзФайлов(ЗагруженныеФайлы) +Функция ЗагрузитьДоверенностиИзФайлов(Знач ЗагруженныеФайлы) Возврат Справочники.МашиночитаемыеДоверенности.ЗагрузитьДоверенностиВИнформационнуюБазу(ЗагруженныеФайлы); КонецФункции -&НаСервере -Процедура КешироватьЗначенияСтатусов() - ДобавляемыеРеквизиты = Новый Массив; - ТипСтатуса = Новый ОписаниеТипов("ПеречислениеСсылка.СтатусыМЧД"); - - Для Каждого ЗначениеПеречисления Из Метаданные.Перечисления.СтатусыМЧД.ЗначенияПеречисления Цикл - НовыйРеквизит = Новый РеквизитФормы("СтатусМЧД_"+ЗначениеПеречисления.Имя, ТипСтатуса); - ДобавляемыеРеквизиты.Добавить(НовыйРеквизит); - КонецЦикла; - - ТипСтатуса = Новый ОписаниеТипов("ПеречислениеСсылка.ТехническиеСтатусыМЧД"); - - Для Каждого ЗначениеПеречисления Из Метаданные.Перечисления.ТехническиеСтатусыМЧД.ЗначенияПеречисления Цикл - НовыйРеквизит = Новый РеквизитФормы("ТехническийСтатус_"+ЗначениеПеречисления.Имя, ТипСтатуса); - ДобавляемыеРеквизиты.Добавить(НовыйРеквизит); - КонецЦикла; - - ИзменитьРеквизиты(ДобавляемыеРеквизиты); - - ИндексЗначения = 0; - Для Каждого ЗначениеПеречисления Из Метаданные.Перечисления.СтатусыМЧД.ЗначенияПеречисления Цикл - ЭтотОбъект["СтатусМЧД_"+ЗначениеПеречисления.Имя] = Перечисления.СтатусыМЧД[ИндексЗначения]; - ИндексЗначения = ИндексЗначения + 1; - КонецЦикла; - - ИндексЗначения = 0; - Для Каждого ЗначениеПеречисления Из Метаданные.Перечисления.ТехническиеСтатусыМЧД.ЗначенияПеречисления Цикл - ЭтотОбъект["ТехническийСтатус_"+ЗначениеПеречисления.Имя] = Перечисления.ТехническиеСтатусыМЧД[ИндексЗначения]; - ИндексЗначения = ИндексЗначения + 1; - КонецЦикла; - -КонецПроцедуры - &НаКлиенте Процедура ОчисткаОтбора(ИмяПоля, ИмяПоляТипа) ОписаниеТипа = Элементы[ИмяПоляТипа].СписокВыбора[0].Значение; @@ -483,7 +434,7 @@ КонецПроцедуры &НаСервереБезКонтекста -Функция ОтборДляДоверенностейПоСертификату(Сертификат, Представитель) +Функция ОтборДляДоверенностейПоСертификату(Знач Сертификат, Знач Представитель) Если ТипЗнч(Сертификат) = Тип("СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования") Тогда Возврат МашиночитаемыеДоверенностиФНС.ОтборДляДоверенностейПоСертификату(Сертификат.ДанныеСертификата.Получить(), Представитель); @@ -522,9 +473,7 @@ КонецЕсли; Для Каждого ЭлементОтбора Из Отборы Цикл - Если ВсеОтборыПоСертификатам.Свойство(ЭлементОтбора.Ключ) Тогда - ВсеОтборыПоСертификатам[ЭлементОтбора.Ключ] = ЭлементОтбора.Значение; - КонецЕсли; + ВсеОтборыПоСертификатам[ЭлементОтбора.Ключ] = ЭлементОтбора.Значение; КонецЦикла; КонецЕсли; КонецПроцедуры diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаЭлемента/Form.form index c3cdd337f..1787f90e5 100644 --- a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаЭлемента/Form.form @@ -293,7 +293,7 @@ </userVisible> <title> <key>ru</key> - <value>Группа3</value> + <value>Группа представление статусов</value> ГруппаПредставлениеСтатусовРасширеннаяПодсказка @@ -362,7 +362,7 @@ <key>ru</key> - <value>Группа3</value> + <value>Группа описание состояния</value> ГруппаОписаниеСостоянияРасширеннаяПодсказка @@ -391,7 +391,7 @@ <key>ru</key> - <value>Группа3</value> + <value>Группа статусы</value> true @@ -421,107 +421,26 @@ ГруппаЛево 36 - ГруппаПередоверие - 195 + ГруппаПериодДействия + 69 - ВозможностьПередоверия - 76 - true - true - - true - - - Объект.ВозможностьПередоверия - - - ВозможностьПередоверияРасширеннаяПодсказка - 78 - Label - true - true - - Left - - - - ВозможностьПередоверияКонтекстноеМеню - 77 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - - - РодительскаяДоверенность - 79 - true - true - - true - - - Объект.РодительскаяДоверенность - - - РодительскаяДоверенностьРасширеннаяПодсказка - 81 - Label - true - true - - Left - - - - РодительскаяДоверенностьКонтекстноеМеню - 80 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - - - РодительскаяДоверенностьНомер - 82 + ДатаВыдачи + 41 <key>ru</key> - <value>Родительская доверенность</value> + <value>Действует с</value> + true true true - Объект.РодительскаяДоверенностьНомер + Объект.ДатаВыдачи - РодительскаяДоверенностьНомерРасширеннаяПодсказка - 84 + ДатаВыдачиРасширеннаяПодсказка + 43 Label true true @@ -530,8 +449,8 @@ - РодительскаяДоверенностьНомерКонтекстноеМеню - 83 + ДатаВыдачиКонтекстноеМеню + 42 true InputField @@ -549,17 +468,67 @@ Normal + + ДатаОкончания + 44 + + <key>ru</key> + <value>до</value> + + true + true + + true + + + Объект.ДатаОкончания + + + OnChange + ДатаОкончанияПриИзменении + + + ДатаОкончанияРасширеннаяПодсказка + 46 + Label + true + true + + Left + + + + ДатаОкончанияКонтекстноеМеню + 45 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + true true true <key>ru</key> - <value>Группа передоверие</value> + <value>Группа период действия</value> - ГруппаПередовериеРасширеннаяПодсказка - 196 + ГруппаПериодДействияРасширеннаяПодсказка + 70 Label true true @@ -569,7 +538,7 @@ UsualGroup - Vertical + AlwaysHorizontal Auto WeakSeparation true @@ -608,26 +577,23 @@ - ГруппаПериодДействия - 69 - - ДатаВыдачи - 41 + ГруппаПраво + 1064 + + ДекорацияВерна + 1054 <key>ru</key> - <value>Действует с</value> + <value>Верна</value> true true true - - Объект.ДатаВыдачи - - ДатаВыдачиРасширеннаяПодсказка - 43 + ДекорацияВернаРасширеннаяПодсказка + 1056 Label true true @@ -636,47 +602,72 @@ - ДатаВыдачиКонтекстноеМеню - 42 + ДекорацияВернаКонтекстноеМеню + 1055 true - InputField - Enter - true - Left - true - + Label + true + 30 + true + + Style.РезультатУспехЦвет + + + Left + + + + ДекорацияНеверна + 1061 + + <key>ru</key> + <value>Неверна</value> + + true + true + + true + + + ДекорацияНевернаРасширеннаяПодсказка + 1063 + Label true true - true - true - true - true - Normal + + Left + + + + ДекорацияНевернаКонтекстноеМеню + 1062 + true + + Label + true + true + + Style.ПоясняющийОшибкуТекст + + + Left - ДатаОкончания - 44 - - <key>ru</key> - <value>до</value> - + Код + 66 true true true - Объект.ДатаОкончания + Объект.Code - - OnChange - ДатаОкончанияПриИзменении - - ДатаОкончанияРасширеннаяПодсказка - 46 + КодРасширеннаяПодсказка + 68 Label true true @@ -685,8 +676,8 @@ - ДатаОкончанияКонтекстноеМеню - 45 + КодКонтекстноеМеню + 67 true InputField @@ -695,7 +686,7 @@ Left true - true + 11 true true true @@ -711,11 +702,11 @@ <key>ru</key> - <value>Группа период действия</value> + <value>Группа право</value> - ГруппаПериодДействияРасширеннаяПодсказка - 70 + ГруппаПравоРасширеннаяПодсказка + 1065 Label true true @@ -734,47 +725,6 @@ Auto - - Код - 66 - true - true - - true - - - Объект.Code - - - КодРасширеннаяПодсказка - 68 - Label - true - true - - Left - - - - КодКонтекстноеМеню - 67 - true - - InputField - Enter - true - Left - true - - 20 - true - true - true - true - true - Normal - - true true @@ -784,6 +734,7 @@ ru Группа шапка + 80 ГруппаШапкаРасширеннаяПодсказка 35 @@ -805,6 +756,164 @@ Auto + + ГруппаПередоверие + 195 + + ВозможностьПередоверия + 76 + true + true + + true + + + Объект.ВозможностьПередоверия + + + ВозможностьПередоверияРасширеннаяПодсказка + 78 + Label + true + true + + Left + + + + ВозможностьПередоверияКонтекстноеМеню + 77 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + + РодительскаяДоверенность + 79 + true + true + + true + + + Объект.РодительскаяДоверенность + + + РодительскаяДоверенностьРасширеннаяПодсказка + 81 + Label + true + true + + Left + + + + РодительскаяДоверенностьКонтекстноеМеню + 80 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + + РодительскаяДоверенностьНомер + 82 + + <key>ru</key> + <value>Родительская доверенность</value> + + true + + true + + + Объект.РодительскаяДоверенностьНомер + + + РодительскаяДоверенностьНомерРасширеннаяПодсказка + 84 + Label + true + true + + Left + + + + РодительскаяДоверенностьНомерКонтекстноеМеню + 83 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + true + + true + + + <key>ru</key> + <value>Группа передоверие</value> + + + ГруппаПередовериеРасширеннаяПодсказка + 196 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + ГруппаДоверители 7 @@ -1950,6 +2059,7 @@ Left true + 30 true true true @@ -1995,50 +2105,20 @@ Left true + 8 true + 8 true + false true - true - true - true - Normal - - - - ЭлектронныеПодписиТипПодписи - 854 - true - true - - true - - - ЭлектронныеПодписи.ТипПодписи - - - ЭлектронныеПодписиТипПодписиРасширеннаяПодсказка - 856 - Label - true - true - - Left - - - - ЭлектронныеПодписиТипПодписиКонтекстноеМеню - 855 - true - - InputField - Auto - true - Left - true - - true - true - true + + ru + ДЛФ=D + + + ru + ДЛФ=D + true true true @@ -2081,7 +2161,6 @@ true true - true true true true @@ -2164,7 +2243,7 @@ true true - true + 3 true true true @@ -4091,127 +4170,6 @@ Auto - - ГруппаНомерВРеестре - 74 - - РегистрироватьВРеестре - 71 - - <key>ru</key> - <value>Регистрировать в Распределенном реестре ФНС России:</value> - - true - true - - true - - - Объект.РегистрироватьВРеестре - - Right - - РегистрироватьВРеестреРасширеннаяПодсказка - 73 - Label - true - true - - Left - - - - РегистрироватьВРеестреКонтекстноеМеню - 72 - true - - CheckBoxField - Enter - true - Left - true - - - - НомерДоверенности - 38 - true - true - - true - - - Объект.НомерДоверенности - - None - - ru - Единый регистрационный номер доверенности - - - НомерДоверенностиРасширеннаяПодсказка - 40 - Label - true - true - - Left - - - - НомерДоверенностиКонтекстноеМеню - 39 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - ru - Единый регистрационный номер доверенности - - - - true - true - - true - - - <key>ru</key> - <value>Группа номер в реестре</value> - - - ГруппаНомерВРеестреРасширеннаяПодсказка - 75 - Label - true - true - - Left - - - UsualGroup - - HorizontalIfPossible - Auto - WeakSeparation - true - true - Auto - Auto - - true true @@ -4360,6 +4318,131 @@ Auto + + ГруппаНомерВРеестре + 74 + + РегистрироватьВРеестре + 71 + + <key>ru</key> + <value>Регистрировать в Распределенном реестре ФНС России:</value> + + true + true + + true + + + Объект.РегистрироватьВРеестре + + Right + + OnChange + РегистрироватьВРеестреПриИзменении + + + РегистрироватьВРеестреРасширеннаяПодсказка + 73 + Label + true + true + + Left + + + + РегистрироватьВРеестреКонтекстноеМеню + 72 + true + + CheckBoxField + Enter + true + Left + true + + + + НомерДоверенности + 38 + true + true + + true + + + Объект.НомерДоверенности + + None + + ru + Единый регистрационный номер доверенности + + + НомерДоверенностиРасширеннаяПодсказка + 40 + Label + true + true + + Left + + + + НомерДоверенностиКонтекстноеМеню + 39 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + ru + Единый регистрационный номер доверенности + + + + true + true + + true + + + <key>ru</key> + <value>Группа номер в реестре</value> + + + ГруппаНомерВРеестреРасширеннаяПодсказка + 75 + Label + true + true + + Left + + + UsualGroup + + HorizontalIfPossible + Auto + WeakSeparation + true + true + Auto + Auto + + Наименование 364 @@ -4642,32 +4725,6 @@ UserCmds Auto - - ФормаЗаписать - 491 - true - true - - true - - - ФормаЗаписатьРасширеннаяПодсказка - 492 - Label - true - true - - Left - - - Form.StandardCommand.Write - Normal - Auto - true - true - UserCmds - Auto - ФормаЗаписатьИЗакрыть 489 @@ -4695,16 +4752,16 @@ Auto - ФормаЗакрыть - 513 + ФормаЗаписать + 491 true true true - ФормаЗакрытьРасширеннаяПодсказка - 514 + ФормаЗаписатьРасширеннаяПодсказка + 492 Label true true @@ -4712,7 +4769,7 @@ Left - Form.StandardCommand.Close + Form.StandardCommand.Write Normal Auto true @@ -4720,6 +4777,36 @@ UserCmds Auto + + ФормаПроверитьДоверенность + 1050 + + <key>ru</key> + <value>Проверить</value> + + true + + true + + + ФормаПроверитьДоверенностьРасширеннаяПодсказка + 1051 + Label + true + true + + Left + + + Form.Command.ПроверитьДоверенность + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + ФормаОбновить 518 @@ -4799,6 +4886,36 @@ UserCmds Auto + + ФормаДоверенностьПроверенаВручную + 1052 + + <key>ru</key> + <value>Проверена вручную</value> + + true + + true + + + ФормаДоверенностьПроверенаВручнуюРасширеннаяПодсказка + 1053 + Label + true + true + + Left + + + Form.Command.ДоверенностьПроверенаВручную + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + Left true @@ -5600,10 +5717,6 @@ ТипПодписи - - <key>ru</key> - <value>Тип подписи</value> - 14 EnumRef.ТипыПодписиКриптографии @@ -6467,6 +6580,46 @@ Auto Auto + + ПроверитьДоверенность + + <key>ru</key> + <value>Проверить</value> + + 22 + + true + + + + ПроверитьДоверенность + + + Auto + Auto + + + ДоверенностьПроверенаВручную + + <key>ru</key> + <value>Доверенность проверена вручную</value> + + 8 + + ru + Доверенность проверена вручную + + + true + + + + ДоверенностьПроверенаВручную + + + Auto + Auto + @@ -6499,5 +6652,9 @@ BeforeWriteAtServer ПередЗаписьюНаСервере + + OnWriteAtServer + ПриЗаписиНаСервере + diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаЭлемента/Module.bsl index e505fa232..d5b56618e 100644 --- a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаЭлемента/Module.bsl @@ -15,7 +15,6 @@ ПериодОпросаСтатусов = 300; ТребуетсяОбновлениеДекораций = Истина; - КешироватьЗначенияСтатусов(); Если Параметры.Ключ.Пустая() Тогда @@ -38,8 +37,9 @@ ЗаполнитьСписокПодписей(); КонецЕсли; + КонецЕсли; - + ЗагрузитьЗначенияВФорму(); МашиночитаемыеДоверенностиФНССлужебный.УстановитьУсловноеОформление(ЭтотОбъект); ПрочитатьСостояние(ЭтотОбъект); @@ -67,9 +67,12 @@ ОбновитьОбъект(ТекущийОбъект); КонецЕсли; - Если СохранитьРезультатПроверкиПодписей Тогда - СохранитьРезультатПроверкиПодписейНаСервере(); - КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) + + СохранитьРезультатПроверкиПодписейНаСервере(); КонецПроцедуры @@ -123,7 +126,6 @@ Если ИмяСобытия = "Запись_Подпись" Тогда ЗаполнитьСписокПодписей(); - УстановитьВидимостьИДоступность(ЭтотОбъект, "Подписание"); Возврат; КонецЕсли; @@ -163,11 +165,11 @@ Просрочена = ЗначениеЗаполнено(Объект.ДатаОкончания) И КонецДня(Объект.ДатаОкончания) < ОбщегоНазначенияКлиент.ДатаСеанса(); Если Просрочена Тогда - ТехническийСтатус = ЭтотОбъект.ТехническийСтатус_Просрочено; + ТехническийСтатус = ОбщегоНазначенияКлиент.ПредопределенныйЭлемент("Перечисление.ТехническиеСтатусыМЧД.Просрочено"); ТребуетсяОбновлениеДекораций = Истина; ОтобразитьДекорацииСтатуса(ЭтотОбъект); Иначе - ТехническийСтатус = ЭтотОбъект.ТехническийСтатус_Создание; + ТехническийСтатус = ОбщегоНазначенияКлиент.ПредопределенныйЭлемент("Перечисление.ТехническиеСтатусыМЧД.Создание"); ТребуетсяОбновлениеДекораций = Истина; ОтобразитьДекорацииСтатуса(ЭтотОбъект); КонецЕсли; @@ -361,9 +363,27 @@ КонецПроцедуры +&НаКлиенте +Процедура РегистрироватьВРеестреПриИзменении(Элемент) + + Если Не Параметры.Ключ.Пустая() Тогда + Если Подписана И ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Активна") Тогда + ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписан"); + ТребуетсяОбновлениеДекораций = Истина; + Объект.Статус = ПредопределенноеЗначение("Перечисление.СтатусыМЧД.Черновик"); + ИначеЕсли Подписана И ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписан") Тогда + ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Активна"); + ТребуетсяОбновлениеДекораций = Истина; + КонецЕсли; + ОтобразитьДекорацииСтатуса(ЭтотОбъект); + ДоступностьПризнакаРегистрацииВРеестре(ЭтотОбъект); + КонецЕсли; + +КонецПроцедуры + #КонецОбласти -#Область ОбработчикиСобытийЭлементовТаблицыЭлектронныеПодписи +#Область ОбработчикиСобытийЭлементовТаблицыФормыЭлектронныеПодписи &НаКлиенте Процедура ЭлектронныеПодписиВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) @@ -374,7 +394,7 @@ #КонецОбласти -#Область ОбработчикиСобытийЭлементовТаблицыТаблицаПредставительНесколько +#Область ОбработчикиСобытийЭлементовТаблицыФормыТаблицаПредставительНесколько &НаКлиенте Процедура ТаблицаПредставительНесколькоВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) @@ -463,9 +483,7 @@ ОчиститьСообщения(); - Отказ = Ложь; - ОбновитьСформироватьФайлДоверенности(Отказ); - Если Отказ Тогда + Если Не ОбновитьСформироватьФайлДоверенности() Тогда Возврат; КонецЕсли; @@ -503,14 +521,10 @@ ОчиститьСообщения(); - Отказ = Ложь; - - ОбновитьСформироватьФайлДоверенности(Отказ); - - Если Отказ Тогда + Если Не ОбновитьСформироватьФайлДоверенности() Тогда Возврат; КонецЕсли; - + МашиночитаемыеДоверенностиФНССлужебныйКлиент.ВыгрузитьДоверенностьВФайл(Объект.Ссылка); КонецПроцедуры @@ -582,82 +596,150 @@ ДанныеФайла = ДанныеФайла(Объект.ФайлДоверенности, УникальныйИдентификатор); - Для Каждого Строка Из ВыделенныеСтроки Цикл - ПараметрыПроверки = ЭлектроннаяПодписьКлиент.ПараметрыПроверкиПодписи(); - ПараметрыПроверки.РезультатВВидеСтруктуры = Истина; - ЭлектроннаяПодписьКлиент.ПроверитьПодпись(Новый ОписаниеОповещения("ПослеПроверкиПодписи", ЭтотОбъект, Строка), - ДанныеФайла.СсылкаНаДвоичныеДанныеФайла, ЭлектронныеПодписи.НайтиПоИдентификатору(Строка).АдресПодписи,,,ПараметрыПроверки); - КонецЦикла; + РаботаСФайламиСлужебныйКлиент.ПроверитьПодписи(ЭтотОбъект, + ДанныеФайла.СсылкаНаДвоичныеДанныеФайла, + Элементы.ЭлектронныеПодписи.ВыделенныеСтроки, ДанныеФайла); + + Если Элементы.ФормаЗаписатьИЗакрыть.Видимость И Элементы.ФормаЗаписатьИЗакрыть.Доступность Тогда + Модифицированность = Истина; + СохранитьРезультатПроверкиПодписей = Истина; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьДоверенность(Команда) + + Если ЭлектронныеПодписи.Количество() = 0 Тогда + ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Доверенность не подписана.'")); + Возврат; + КонецЕсли; + + Если Не ЗначениеЗаполнено(Объект.ФайлДоверенности) Тогда + ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Не найден файл доверенности.'")); + Возврат; + КонецЕсли; + + СтандартнаяОбработка = Истина; + ОписаниеОповещения = Новый ОписаниеОповещения("ПослеПроверкиДоверенности", ЭтотОбъект); + МашиночитаемыеДоверенностиФНСКлиентПереопределяемый.ПриПроверкеДоверенности(ОписаниеОповещения, Объект.Ссылка, + УникальныйИдентификатор, СтандартнаяОбработка); + Если СтандартнаяОбработка Тогда + МашиночитаемыеДоверенностиФНСКлиент.ПроверитьДоверенность(ОписаниеОповещения, + Объект.Ссылка, УникальныйИдентификатор); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ДоверенностьПроверенаВручную(Команда) + + Если Объект.СтатусВернаУстановленВручную Тогда + + ОчиститьРезультатыПроверки(); + + Иначе + Объект.СтатусВернаУстановленВручную = Истина; + Объект.Верна = Истина; + Объект.УстановившийСтатусВерна = ПользователиКлиент.ТекущийПользователь(); + Объект.ДатаПроверки = ОбщегоНазначенияКлиент.ДатаСеанса(); + Модифицированность = Истина; + ОтобразитьДекорациюВерна(ЭтотОбъект); + КонецЕсли; КонецПроцедуры #КонецОбласти -#Область СлужебныеПроцедурыИФункции +#Область СлужебныеПроцедурыИФункции &НаКлиенте -Процедура ПослеПроверкиПодписи(РезультатПроверки, Строка) Экспорт +Процедура ОчиститьРезультатыПроверки() - Если РезультатПроверки.Результат = Неопределено Тогда - Возврат; + Объект.СтатусВернаУстановленВручную = Ложь; + Объект.Верна = Ложь; + Объект.УстановившийСтатусВерна = Неопределено; + Объект.ДатаПроверки = Неопределено; + Модифицированность = Истина; + ОтобразитьДекорациюВерна(ЭтотОбъект); + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеПроверкиДоверенности(РезультатПроверкиДоверенности, ДополнительныеПараметры) Экспорт + + ОчиститьСообщения(); + ОчиститьРезультатыПроверки(); + СохранитьРезультатПроверкиПодписей = Ложь; + + Объект.Верна = РезультатПроверкиДоверенности.Верна; + Объект.ДатаПроверки = ОбщегоНазначенияКлиент.ДатаСеанса(); + + Если Не Объект.Верна Тогда + Элементы.ГруппаЭлектронныеПодписи.Показать(); КонецЕсли; - СтрокаПодписи = ЭлектронныеПодписи.НайтиПоИдентификатору(Строка); - - ЗаполнитьЗначенияСвойств(СтрокаПодписи, РезультатПроверки); - Если ТипЗнч(РезультатПроверки.Результат) = Тип("Строка") Тогда - СтрокаПодписи.ОписаниеОшибки = РезультатПроверки.Результат; - КонецЕсли; - - ДатаСеанса = ОбщегоНазначенияКлиент.ДатаСеанса(); - СтрокаПодписи.ДатаПроверкиПодписи = ДатаСеанса; - - СтатусПодписи = СтатусПодписи(СтрокаПодписи, ДатаСеанса); - Если СтрокаПодписи.Статус <> СтатусПодписи Тогда + Для Каждого РезультатПроверкиПодписи Из РезультатПроверкиДоверенности.РезультатыПроверкиПодписей Цикл + + РезультатПроверки = РезультатПроверкиПодписи.РезультатПроверки; + + Если РезультатПроверки = Неопределено + И ПустаяСтрока(РезультатПроверкиПодписи.ТекстОшибки) + И ПустаяСтрока(РезультатПроверкиПодписи.ТекстОшибкиСоответствия) Тогда + Продолжить; + КонецЕсли; + + Строка = ЭлектронныеПодписи.НайтиСтроки(Новый Структура("ИдентификаторПодписи", РезультатПроверкиПодписи.ИдентификаторПодписи))[0]; + Строка.ОписаниеОшибки = ""; + + Если РезультатПроверки <> Неопределено Тогда + Строка.ПодписьВерна = РезультатПроверки.Результат = Истина; + Строка.СрокДействияПоследнейМеткиВремени = РезультатПроверки.СрокДействияПоследнейМеткиВремени; + Строка.ТипПодписи = РезультатПроверки.ТипПодписи; + Строка.ТребуетсяПроверка = РезультатПроверки.ТребуетсяПроверка; + Строка.ДатаПроверкиПодписи = Объект.ДатаПроверки; + КонецЕсли; + + Ошибки = Новый Массив; + Если Не ПустаяСтрока(РезультатПроверкиПодписи.ТекстОшибки)Тогда + Ошибки.Добавить(РезультатПроверкиПодписи.ТекстОшибки); + КонецЕсли; + Если Не ПустаяСтрока(РезультатПроверкиПодписи.ТекстОшибкиСоответствия)Тогда + Ошибки.Добавить(РезультатПроверкиПодписи.ТекстОшибкиСоответствия); + КонецЕсли; + Если Ошибки.Количество() > 0 Тогда + Строка.ОписаниеОшибки = СтрСоединить(Ошибки, Символы.ПС); + КонецЕсли; + + Строка.Статус = СтатусПодписи(Строка, Объект.ДатаПроверки); СохранитьРезультатПроверкиПодписей = Истина; - Модифицированность = Истина; + + КонецЦикла; + + Если СохранитьРезультатПроверкиПодписей Тогда + Элементы.ЭлектронныеПодписи.Обновить(); КонецЕсли; - СтрокаПодписи.Статус = СтатусПодписи(СтрокаПодписи, ДатаСеанса); - Элементы.ЭлектронныеПодписи.Обновить(); + + Если РезультатПроверкиДоверенности.ТребуетсяПроверка Тогда + ПоказатьПредупреждение(, НСтр("ru = 'Не удалось проверить подписи доверенности.'")); + ИначеЕсли РезультатПроверкиДоверенности.Верна Тогда + ПоказатьПредупреждение(, НСтр("ru = 'Доверенность верна, подписи проверены и соответствуют доверителям.'")); + Иначе + ПоказатьПредупреждение(, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Доверенность неверна. %1'"), РезультатПроверкиДоверенности.ТекстОшибки)); + КонецЕсли; + + ОтобразитьДекорациюВерна(ЭтотОбъект); КонецПроцедуры &НаСервере Процедура СохранитьРезультатПроверкиПодписейНаСервере() - УстановленныеПодписи = ЭлектроннаяПодпись.УстановленныеПодписи(Объект.ФайлДоверенности); - Свойства = Новый Структура("ДатаПроверкиПодписи, ПодписьВерна, ТребуетсяПроверка"); - - Для Каждого Подпись Из УстановленныеПодписи Цикл - - Отбор = Новый Структура("ИдентификаторПодписи", Подпись.ИдентификаторПодписи); - Найдено = ЭлектронныеПодписи.НайтиСтроки(Отбор)[0]; - - Если Подпись.ДатаПодписи <> Найдено.ДатаПодписи - Или Подпись.Комментарий <> Найдено.Комментарий - Или Подпись.КомуВыданСертификат <> Найдено.КомуВыданСертификат И ЗначениеЗаполнено(Найдено.КомуВыданСертификат) - Или Подпись.Отпечаток <> Найдено.Отпечаток И ЗначениеЗаполнено(Найдено.Отпечаток) - Или Подпись.УстановившийПодпись <> Найдено.УстановившийПодпись Тогда - Продолжить; // Если объект был изменен, результаты проверки не переносятся. - КонецЕсли; - - ЕстьИзменения = Ложь; - - Для Каждого КлючИЗначение Из Свойства Цикл - Если Подпись[КлючИЗначение.Ключ] <> Найдено[КлючИЗначение.Ключ] Тогда - ЕстьИзменения = Истина; - КонецЕсли; - КонецЦикла; - Если Не ЕстьИзменения Тогда - Продолжить; - КонецЕсли; - - ЗаполнитьЗначенияСвойств(Подпись, Найдено, "ДатаПроверкиПодписи, ПодписьВерна, ТребуетсяПроверка"); - ЭлектроннаяПодпись.ОбновитьПодпись(Объект.ФайлДоверенности, Подпись); - - КонецЦикла; - - СохранитьРезультатПроверкиПодписей = Ложь; + Если СохранитьРезультатПроверкиПодписей Тогда + РаботаСФайламиСлужебный.ПеренестиРезультатыПроверкиПодписей(ЭлектронныеПодписи, Объект.ФайлДоверенности); + СохранитьРезультатПроверкиПодписей = Ложь; + КонецЕсли; КонецПроцедуры @@ -820,11 +902,10 @@ Поле = "ПредставительФЛ"; КонецЕсли; - Если Не МашиночитаемыеДоверенностиФНССлужебный.ПроверитьСведенияОбОрганизации( - ЭтотОбъект, Поле, - СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Представитель %1 - %2'"), Строка.Представитель, " %1:"), + ШаблонСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Представитель %1 - %2'"), + Строка.Представитель, " %1:"); + Если Не МашиночитаемыеДоверенностиФНССлужебный.ПроверитьСведенияОбОрганизации(ЭтотОбъект, Поле, ШаблонСообщения, РеквизитыОрганизации) Тогда - Отказ = Истина; КонецЕсли; @@ -871,23 +952,46 @@ И СвойстваПодписи.ТребуетсяПроверка = Ложь Тогда ТекстОшибки = НСтр("ru='Сертификат подписи не прошел проверку.'"); - ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибки,,,,Отказ); + ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибки,,,,Отказ); КонецЕсли; + + Ошибки = ДобавитьПодпись(СвойстваПодписи); - ДобавитьПодпись(СвойстваПодписи, Отказ); - - Если Отказ Тогда - Возврат; + Если Ошибки.Количество() > 0 Тогда + Ошибка = Новый Структура("ОписаниеОшибки", СтрСоединить(Ошибки, Символы.ПС)); + ПараметрыОшибки = Новый Структура; + ПараметрыОшибки.Вставить("Подпись", СвойстваПодписи.Подпись); + ЭлектроннаяПодписьСлужебныйКлиент.ПоказатьОшибкуОбращенияКПрограмме( + НСтр("ru = 'Не удалось добавить подпись по причине'"), "", Ошибка, Новый Структура); + Иначе + ОбновитьСтатусПослеПодписания(); КонецЕсли; - ОбновитьСтатус(); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбновитьСтатусПослеПодписания() + + ОбновитьСтатус(); + Если Подписана Тогда + КоличествоВерныхПодписей = ЭлектронныеПодписи.НайтиСтроки(Новый Структура("ПодписьВерна", Истина)).Количество(); + Если КоличествоВерныхПодписей > 0 И КоличествоВерныхПодписей = ЭлектронныеПодписи.Количество() Тогда + ОчиститьРезультатыПроверки(); + Объект.Верна = Истина; + Объект.ДатаПроверки = ОбщегоНазначенияКлиент.ДатаСеанса(); + Объект.Статус = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РасчетныйСтатусДокумента(ТехническийСтатус); + ОбновитьОбъект(); + ОтобразитьДекорациюВерна(ЭтотОбъект); + КонецЕсли; КонецЕсли; КонецПроцедуры &НаСервере -Процедура СформироватьТаблицуНесколькоПредставителей(ИдентификаторРодителя = Неопределено); +Процедура СформироватьТаблицуНесколькоПредставителей(Знач ИдентификаторРодителя = Неопределено); ТаблицаПредставительНесколько.Очистить(); @@ -948,13 +1052,23 @@ &НаКлиенте Процедура ПослеДобавленияПодписи(Результат, Контекст) Экспорт - ДобавитьПодпись(Результат.ОписаниеДанных.Подписи); - ОбновитьСтатус(); + Ошибки = ДобавитьПодпись(Результат.ОписаниеДанных.Подписи); + + Если Ошибки.Количество() > 0 Тогда + Ошибка = СтрСоединить(Ошибки, Символы.ПС); + ВыполнитьОбработкуОповещения(Результат.Оповещение, Новый Структура("ОписаниеОшибки", Ошибка)); + Иначе + ВыполнитьОбработкуОповещения(Результат.Оповещение, Новый Структура); + КонецЕсли; + + ОбновитьСтатусПослеПодписания(); КонецПроцедуры &НаСервере -Процедура ДобавитьПодпись(СвойстваПодписи, Отказ = Ложь) +Функция ДобавитьПодпись(Знач СвойстваПодписи) + + Ошибки = Новый Массив; Если ТипЗнч(СвойстваПодписи) = Тип("Массив") Тогда Для Каждого Подпись Из СвойстваПодписи Цикл @@ -963,7 +1077,7 @@ Результат = МашиночитаемыеДоверенностиФНС.ДобавитьПодписьКФайлуДоверенности(Объект.ФайлДоверенности, Свойства); Если Результат <> Истина Тогда - ОбщегоНазначения.СообщитьПользователю(Результат,,,,Отказ); + Ошибки.Добавить(Результат); КонецЕсли; КонецЦикла; @@ -972,17 +1086,19 @@ Результат = МашиночитаемыеДоверенностиФНС.ДобавитьПодписьКФайлуДоверенности(Объект.ФайлДоверенности, СвойстваПодписи); Если Результат <> Истина Тогда - ОбщегоНазначения.СообщитьПользователю(Результат,,,,Отказ); + Ошибки.Добавить(Результат); КонецЕсли; КонецЕсли; ЗаполнитьСписокПодписей(); -КонецПроцедуры + Возврат Ошибки; + +КонецФункции &НаКлиенте -Процедура ОбновитьСформироватьФайлДоверенности(Отказ) +Функция ОбновитьСформироватьФайлДоверенности() Если ЭлектронныеПодписи.Количество() = 0 Тогда @@ -993,42 +1109,41 @@ Если ЗначениеЗаполнено(Результат.НомерДоверенности) Тогда Объект.НомерДоверенности = Результат.НомерДоверенности; Модифицированность = Истина; - Иначе - КонтекстОшибки = МашиночитаемыеДоверенностиФНССлужебныйКлиент.КонтекстДляОбработкиОшибкиРР(); - КонтекстОшибки.ЗаголовокПредупреждения = НСтр("ru = 'Не удалось получить номер доверенности'"); - КонтекстОшибки.Форма = ЭтотОбъект; - МашиночитаемыеДоверенностиФНССлужебныйКлиент.ОбработатьОшибкуВзаимодействияРР(Результат.Ошибка, КонтекстОшибки); - Отказ = Истина; - Возврат; КонецЕсли; - ИначеЕсли Не ЗначениеЗаполнено(Объект.НомерДоверенности) Тогда + + КонецЕсли; + + Если Не ЗначениеЗаполнено(Объект.НомерДоверенности) Тогда Объект.НомерДоверенности = Строка(Новый УникальныйИдентификатор); Модифицированность = Истина; КонецЕсли; - СформироватьФайлДоверенности(Отказ); - ОповеститьОЗаписи(); - - Если Отказ Тогда - Возврат; + Если Не СформироватьФайлДоверенности() Тогда + Возврат Ложь; КонецЕсли; + ОповеститьОЗаписи(); ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект); КонецЕсли; -КонецПроцедуры + Если Не ЗначениеЗаполнено(Объект.ФайлДоверенности) Тогда + ВызватьИсключение НСтр("ru='Не найден файл доверенности.'") + КонецЕсли; + + Возврат Истина; + +КонецФункции &НаСервере -Процедура СформироватьФайлДоверенности(Отказ) +Функция СформироватьФайлДоверенности() Если Модифицированность Или Параметры.Ключ.Пустая() Тогда ОбновитьОбъект(); КонецЕсли; Если Не ЗаполнениеПроверено() Тогда - Отказ = Истина; - Возврат; + Возврат Ложь; КонецЕсли; ДоверенностьОбъект = РеквизитФормыВЗначение("Объект"); @@ -1060,9 +1175,14 @@ ЗначениеВРеквизитФормы(ОбъектМЧД, "Объект"); ПрочитатьРеквизиты(ОбъектМЧД); + + Элементы.ФормаДобавитьПодпись.Видимость = Истина; + КонецЕсли; -КонецПроцедуры + Возврат Истина; + +КонецФункции &НаСервере Функция ПолучитьНомерМЧДРР() @@ -1075,89 +1195,16 @@ ОтобразитьДекорацииСтатуса(Форма); Если Условие = Неопределено Или Условие = "Подписание" Тогда - - Просрочена = Форма.Просрочена; - - КоличествоПодписей = Форма.ЭлектронныеПодписи.Количество(); - - Форма.Элементы.ФормаОтправить.Видимость = Ложь; - Форма.Элементы.ФормаЗакрыть.Видимость = Ложь; - Форма.Элементы.ФормаЗаписать.Видимость = Ложь; - Форма.Элементы.ФормаОбновить.Видимость = Ложь; - Форма.Элементы.ФормаПодписать.Видимость = Ложь; - - РеквизитыНедоступныДляРедактирования = КоличествоПодписей > 0; + + РеквизитыНедоступныДляРедактирования = Форма.ЭлектронныеПодписи.Количество() > 0; Если Форма.РеквизитыНедоступныДляРедактирования <> РеквизитыНедоступныДляРедактирования Тогда Форма.РеквизитыНедоступныДляРедактирования = РеквизитыНедоступныДляРедактирования; Условие = "РеквизитыНедоступныДляРедактирования"; КонецЕсли; - Форма.Элементы.ГруппаНомерВРеестре.ТолькоПросмотр = РеквизитыНедоступныДляРедактирования; + ВидимостьПриИзмененииКоличестваПодписей(Форма); - Если КоличествоПодписей > 0 Тогда - - Форма.Элементы.ГруппаЭлектронныеПодписи.Видимость = Истина; - - Если КоличествоПодписей = 1 Тогда - Форма.Элементы.ГруппаЭлектронныеПодписи.Заголовок = НСтр("ru = 'Подпись доверителя'"); - Иначе - Форма.Элементы.ГруппаЭлектронныеПодписи.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Подписи доверителей (%1)'"), КоличествоПодписей); - КонецЕсли; - - Если Форма.Подписана Тогда - Если Не Форма.Объект.РегистрироватьВРеестре Тогда - Форма.Элементы.ФормаЗакрыть.Видимость = Истина; - Форма.Элементы.ФормаЗакрыть.КнопкаПоУмолчанию = Истина; - Иначе - Форма.Элементы.ФормаОтправить.Видимость = Не Просрочена - И Форма.Объект.Статус = ПредопределенноеЗначение("Перечисление.СтатусыМЧД.Черновик"); - Форма.Элементы.ФормаОтправить.КнопкаПоУмолчанию = Не Просрочена И Форма.Объект.Статус = ПредопределенноеЗначение("Перечисление.СтатусыМЧД.Черновик"); - КонецЕсли; - Форма.Элементы.ЭлектронныеПодписиДобавитьПодпись.Видимость = Ложь; - Форма.Элементы.ФормаДобавитьПодпись.Видимость = Ложь; - Иначе - Форма.Элементы.ФормаПодписать.Видимость = Не Просрочена; - Форма.Элементы.ЭлектронныеПодписиДобавитьПодпись.Видимость = Истина; - Форма.Элементы.ФормаПодписать.КнопкаПоУмолчанию = Не Просрочена; - Форма.Элементы.ФормаДобавитьПодпись.Видимость = Истина; - КонецЕсли; - Иначе - Форма.Элементы.ФормаПодписать.Видимость = Не Просрочена; - Форма.Элементы.ФормаПодписать.КнопкаПоУмолчанию = Не Просрочена; - Форма.Элементы.ФормаЗаписать.Видимость = Истина; - Форма.Элементы.ГруппаЭлектронныеПодписи.Видимость = Ложь; - Форма.Элементы.ФормаДобавитьПодпись.Видимость = ЗначениеЗаполнено(Форма.Объект.ФайлДоверенности); - КонецЕсли; - - Форма.Элементы.РеквизитыДоверителя.Видимость = Не РеквизитыНедоступныДляРедактирования; - Форма.Элементы.РеквизитыЛицаБезДоверенности.Видимость = Не РеквизитыНедоступныДляРедактирования; - Форма.Элементы.РеквизитыПредставителяУправляющейОрганизации.Видимость = Не РеквизитыНедоступныДляРедактирования; - Форма.Элементы.РеквизитыПредставителя.Видимость = Не РеквизитыНедоступныДляРедактирования; - Форма.Элементы.РеквизитыПредставителяФЛ.Видимость = Не РеквизитыНедоступныДляРедактирования; - - Форма.Элементы.ПредставительДобавить.Видимость = Не РеквизитыНедоступныДляРедактирования; - Форма.Элементы.ПредставительФЛДобавить.Видимость = Не РеквизитыНедоступныДляРедактирования; - - Форма.Элементы.ГруппаШапка.ТолькоПросмотр = РеквизитыНедоступныДляРедактирования; - Форма.Элементы.ГруппаДоверители.ТолькоПросмотр = РеквизитыНедоступныДляРедактирования; - Форма.Элементы.ГруппаПредставители.ТолькоПросмотр = РеквизитыНедоступныДляРедактирования; - Форма.Элементы.ГруппаПодвал.ТолькоПросмотр = РеквизитыНедоступныДляРедактирования; - - ЛицоБезДоверенностиОформление(Форма); - - Форма.Элементы.ПредставительВыборТипа.Видимость = Не РеквизитыНедоступныДляРедактирования; - Форма.Элементы.ПредставительТипДекорация.Видимость = РеквизитыНедоступныДляРедактирования; - - Если РеквизитыНедоступныДляРедактирования Тогда - Если Форма.ПредставительРеквизиты = Неопределено Тогда - Форма.Элементы.ПредставительТипДекорация.Заголовок = НСтр("ru='Физическое лицо'"); - Иначе - Форма.Элементы.ПредставительТипДекорация.Заголовок = ?(Форма.ПредставительРеквизиты.ЭтоФизическоеЛицо, - НСтр("ru='Физическое лицо'"), НСтр("ru='Организация'")); - КонецЕсли; - КонецЕсли; КонецЕсли; Если Условие = Неопределено Или Условие = "Доверитель" Или Условие = "РеквизитыНедоступныДляРедактирования" Тогда @@ -1207,23 +1254,187 @@ ВидимостьДляНалоговыхОрганов(Форма); КонецЕсли; -КонецПроцедуры +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Процедура ВидимостьПриИзмененииКоличестваПодписей(Форма) + + РеквизитыНедоступныДляРедактирования = Форма.РеквизитыНедоступныДляРедактирования; + + ПросроченаИлиОтменена = Форма.Просрочена Или Форма.ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Просрочено") + Или Форма.ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Отменена"); + + Форма.Элементы.ФормаОтправить.Видимость = Ложь; + Форма.Элементы.ФормаЗаписать.Видимость = Ложь; + Форма.Элементы.ФормаОбновить.Видимость = Ложь; + Форма.Элементы.ФормаПодписать.Видимость = Ложь; + + Если РеквизитыНедоступныДляРедактирования Тогда + + Форма.Элементы.ГруппаЭлектронныеПодписи.Видимость = Истина; + + Если Форма.ЭлектронныеПодписи.Количество() = 1 Тогда + Форма.Элементы.ГруппаЭлектронныеПодписи.Заголовок = НСтр("ru = 'Подпись доверителя'"); + Иначе + Форма.Элементы.ГруппаЭлектронныеПодписи.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Подписи доверителей (%1)'"), Форма.ЭлектронныеПодписи.Количество()); + КонецЕсли; + + Если Форма.Подписана Тогда + Форма.Элементы.ЭлектронныеПодписиДобавитьПодпись.Видимость = Ложь; + Форма.Элементы.ФормаДобавитьПодпись.Видимость = Ложь; + Если МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.ВнешниеСтатусы()[Форма.ТехническийСтатус] = Истина Тогда + Форма.Элементы.ЭлектронныеПодписиУдалитьПодпись.Видимость = Ложь; + КонецЕсли; + Иначе + Форма.Элементы.ФормаПодписать.Видимость = Не ПросроченаИлиОтменена; + Форма.Элементы.ЭлектронныеПодписиДобавитьПодпись.Видимость = Истина; + Форма.Элементы.ФормаПодписать.КнопкаПоУмолчанию = Не ПросроченаИлиОтменена; + Форма.Элементы.ФормаДобавитьПодпись.Видимость = Истина; + КонецЕсли; + Иначе + Форма.Элементы.ФормаПодписать.Видимость = Не ПросроченаИлиОтменена; + Форма.Элементы.ФормаПодписать.КнопкаПоУмолчанию = Не ПросроченаИлиОтменена; + Форма.Элементы.ФормаЗаписать.Видимость = Истина; + Форма.Элементы.ГруппаЭлектронныеПодписи.Видимость = Ложь; + Форма.Элементы.ФормаДобавитьПодпись.Видимость = ЗначениеЗаполнено(Форма.Объект.ФайлДоверенности); + КонецЕсли; + + Форма.Элементы.НомерДоверенности.ТолькоПросмотр = РеквизитыНедоступныДляРедактирования; + ДоступностьПризнакаРегистрацииВРеестре(Форма); + + Форма.Элементы.РеквизитыДоверителя.Видимость = Не РеквизитыНедоступныДляРедактирования; + Форма.Элементы.РеквизитыЛицаБезДоверенности.Видимость = Не РеквизитыНедоступныДляРедактирования; + Форма.Элементы.РеквизитыПредставителяУправляющейОрганизации.Видимость = Не РеквизитыНедоступныДляРедактирования; + Форма.Элементы.РеквизитыПредставителя.Видимость = Не РеквизитыНедоступныДляРедактирования; + Форма.Элементы.РеквизитыПредставителяФЛ.Видимость = Не РеквизитыНедоступныДляРедактирования; + + Форма.Элементы.ПредставительДобавить.Видимость = Не РеквизитыНедоступныДляРедактирования; + Форма.Элементы.ПредставительФЛДобавить.Видимость = Не РеквизитыНедоступныДляРедактирования; + + Форма.Элементы.ГруппаШапка.ТолькоПросмотр = РеквизитыНедоступныДляРедактирования; + Форма.Элементы.ГруппаДоверители.ТолькоПросмотр = РеквизитыНедоступныДляРедактирования; + Форма.Элементы.ГруппаПредставители.ТолькоПросмотр = РеквизитыНедоступныДляРедактирования; + Форма.Элементы.ГруппаПодвал.ТолькоПросмотр = РеквизитыНедоступныДляРедактирования; + + ЛицоБезДоверенностиОформление(Форма); + + Форма.Элементы.ПредставительВыборТипа.Видимость = Не РеквизитыНедоступныДляРедактирования; + Форма.Элементы.ПредставительТипДекорация.Видимость = РеквизитыНедоступныДляРедактирования; + + Если РеквизитыНедоступныДляРедактирования Тогда + Если Форма.ПредставительРеквизиты = Неопределено Тогда + Форма.Элементы.ПредставительТипДекорация.Заголовок = НСтр("ru='Физическое лицо'"); + Иначе + Форма.Элементы.ПредставительТипДекорация.Заголовок = ?(Форма.ПредставительРеквизиты.ЭтоФизическоеЛицо, НСтр( + "ru='Физическое лицо'"), НСтр("ru='Организация'")); + КонецЕсли; + КонецЕсли; + + ОтобразитьДекорациюВерна(Форма); + +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Процедура ДоступностьПризнакаРегистрацииВРеестре(Форма) + + Форма.Элементы.РегистрироватьВРеестре.ТолькоПросмотр = Форма.РеквизитыНедоступныДляРедактирования + И Не (Форма.ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Создание") + Или Форма.ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписание") + Или Форма.ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписан") + Или Форма.ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Активна")); + + Если Не Форма.Просрочена И (Форма.Подписана Или Форма.Объект.Статус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписан")) Тогда + Если Не Форма.Объект.РегистрироватьВРеестре Тогда + Форма.Элементы.ФормаОтправить.Видимость = Ложь; + Форма.Элементы.ФормаЗаписатьИЗакрыть.КнопкаПоУмолчанию = Истина; + Иначе + Форма.Элементы.ФормаОтправить.Видимость = Истина; + Форма.Элементы.ФормаОтправить.КнопкаПоУмолчанию = Истина; + КонецЕсли; + Иначе + Форма.Элементы.ФормаЗаписатьИЗакрыть.КнопкаПоУмолчанию = Не Форма.Элементы.ФормаПодписать.Видимость; + КонецЕсли; + +КонецПроцедуры &НаКлиентеНаСервереБезКонтекста Процедура ОтобразитьДекорацииСтатуса(Форма) + Если Форма.ТребуетсяОбновлениеДекораций Тогда - Форма.Элементы.ДекорацияПросрочена.Видимость = Форма.ТехническийСтатус = Форма["ТехническийСтатус_Просрочено"]; - Форма.Элементы.ДекорацияСоздание.Видимость = Форма.ТехническийСтатус = Форма["ТехническийСтатус_Создание"]; - Форма.Элементы.ДекорацияПодписана.Видимость = Форма.ТехническийСтатус = Форма["ТехническийСтатус_Подписан"]; - Форма.Элементы.ДекорацияГотово.Видимость = Форма.ТехническийСтатус = Форма["ТехническийСтатус_Активна"]; - Форма.Элементы.ДекорацияЗарегистрирована.Видимость = Форма.ТехническийСтатус = Форма["ТехническийСтатус_Зарегистрировано"] - Или Форма.ТехническийСтатус = Форма["ТехническийСтатус_ДатаНачалаДействияНеНаступила"]; - Форма.Элементы.ДекорацияПодписание.Видимость = Форма.ТехническийСтатус = Форма["ТехническийСтатус_Подписание"]; - Форма.Элементы.ДекорацияРегистрация.Видимость = Форма.ТехническийСтатус = Форма["ТехническийСтатус_Регистрация"]; - Форма.Элементы.ДекорацияОтменена.Видимость = Форма.ТехническийСтатус = Форма["ТехническийСтатус_Отменена"] - Или Форма.ТехническийСтатус = Форма["ТехническийСтатус_ОшибкаРегистрации"]; + + Форма.Элементы.ДекорацияПросрочена.Видимость = Форма.Просрочена Или Форма.ТехническийСтатус = ПредопределенноеЗначение( + "Перечисление.ТехническиеСтатусыМЧД.Просрочено"); + Форма.Элементы.ДекорацияСоздание.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение( + "Перечисление.ТехническиеСтатусыМЧД.Создание"); + Форма.Элементы.ДекорацияПодписана.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение( + "Перечисление.ТехническиеСтатусыМЧД.Подписан"); + Форма.Элементы.ДекорацияГотово.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение( + "Перечисление.ТехническиеСтатусыМЧД.Активна"); + Форма.Элементы.ДекорацияЗарегистрирована.Видимость = Не Форма.Просрочена И (Форма.ТехническийСтатус = ПредопределенноеЗначение( + "Перечисление.ТехническиеСтатусыМЧД.Зарегистрировано") Или Форма.ТехническийСтатус + = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.ДатаНачалаДействияНеНаступила")); + Форма.Элементы.ДекорацияПодписание.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение( + "Перечисление.ТехническиеСтатусыМЧД.Подписание"); + Форма.Элементы.ДекорацияРегистрация.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение( + "Перечисление.ТехническиеСтатусыМЧД.Регистрация"); + Форма.Элементы.ДекорацияОтменена.Видимость =Не Форма.Просрочена И (Форма.ТехническийСтатус = ПредопределенноеЗначение( + "Перечисление.ТехническиеСтатусыМЧД.Отменена") Или Форма.ТехническийСтатус = ПредопределенноеЗначение( + "Перечисление.ТехническиеСтатусыМЧД.ОшибкаРегистрации")); + ТребуетсяОбновлениеДекораций = Ложь; КонецЕсли; + +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Процедура ОтобразитьДекорациюВерна(Форма) + + ЕстьПодписи = Форма.ЭлектронныеПодписи.Количество() > 0; + Форма.Элементы.ФормаПроверитьДоверенность.Видимость = ЕстьПодписи; + Форма.Элементы.ФормаДоверенностьПроверенаВручную.Видимость = ЕстьПодписи Или Форма.Объект.СтатусВернаУстановленВручную; + Форма.Элементы.ФормаДоверенностьПроверенаВручную.Пометка = Форма.Объект.СтатусВернаУстановленВручную; + + Если ЕстьПодписи Тогда + Если ЗначениеЗаполнено(Форма.Объект.ДатаПроверки) Тогда + Форма.Элементы.ДекорацияНеверна.Видимость = Не Форма.Объект.Верна; + Форма.Элементы.ДекорацияВерна.Видимость = Форма.Объект.Верна; + + Если Форма.Объект.Верна Тогда + Если Форма.Объект.СтатусВернаУстановленВручную Тогда + ТекстЗаголовка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru='Верна. Статус установлен вручную %1 (%2)'"), + Формат(Форма.Объект.ДатаПроверки, "ДЛФ=D"), Форма.Объект.УстановившийСтатусВерна); + Форма.Элементы.ДекорацияВерна.Заголовок = ТекстЗаголовка; + ИначеЕсли Форма.Объект.Верна Тогда + ТекстЗаголовка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru='Верна на дату проверки %1'"), + Формат(Форма.Объект.ДатаПроверки, "ДЛФ=D")); + Форма.Элементы.ДекорацияВерна.Заголовок = ТекстЗаголовка; + КонецЕсли; + Форма.Элементы.ФормаПроверитьДоверенность.ПоложениеВКоманднойПанели = ПоложениеКнопкиВКоманднойПанели.ВДополнительномПодменю; + Иначе + ТекстЗаголовка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru='Неверна на дату проверки %1'"), + Формат(Форма.Объект.ДатаПроверки, "ДЛФ=D")); + Форма.Элементы.ДекорацияНеверна.Заголовок = ТекстЗаголовка; + Форма.Элементы.ФормаПроверитьДоверенность.ПоложениеВКоманднойПанели = ПоложениеКнопкиВКоманднойПанели.ВКоманднойПанелиИВДополнительномПодменю; + КонецЕсли; + + Иначе + Форма.Элементы.ДекорацияВерна.Видимость = Ложь; + Форма.Элементы.ДекорацияНеверна.Видимость = Истина; + ТекстЗаголовка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru='Не проверена'"), + Формат(Форма.Объект.ДатаПроверки, "ДЛФ=D")); + Форма.Элементы.ДекорацияНеверна.Заголовок = ТекстЗаголовка; + Форма.Элементы.ФормаПроверитьДоверенность.ПоложениеВКоманднойПанели = ПоложениеКнопкиВКоманднойПанели.ВКоманднойПанелиИВДополнительномПодменю; + КонецЕсли; + Иначе + Форма.Элементы.ДекорацияВерна.Видимость = Ложь; + Форма.Элементы.ДекорацияНеверна.Видимость = Ложь; + КонецЕсли; + КонецПроцедуры &НаКлиентеНаСервереБезКонтекста @@ -1240,14 +1451,17 @@ ИначеЕсли КоличествоНалоговыхОргановДействия = 1 Тогда Форма.Элементы.ДекорацияНалоговыеОрганыДействия.Заголовок = Форма.Объект.НалоговыеОрганыДействия[0].КодНалоговогоОргана; + ИначеЕсли КоличествоНалоговыхОргановДействия = 2 Тогда + Форма.Объект.НалоговыеОрганыДействия.Сортировать("КодНалоговогоОргана"); + Форма.Элементы.ДекорацияНалоговыеОрганыДействия.Заголовок = СтрШаблон("%1, %2", + Форма.Объект.НалоговыеОрганыДействия[0].КодНалоговогоОргана, Форма.Объект.НалоговыеОрганыДействия[1].КодНалоговогоОргана); Иначе Форма.Объект.НалоговыеОрганыДействия.Сортировать("КодНалоговогоОргана"); - Форма.Элементы.ДекорацияНалоговыеОрганыДействия.Заголовок = - Форма.Объект.НалоговыеОрганыДействия[0].КодНалоговогоОргана - + ", " + Форма.Объект.НалоговыеОрганыДействия[1].КодНалоговогоОргана + ?(КоличествоНалоговыхОргановДействия > 2, - " " + СтрШаблон( - НСтр("ru = 'и еще %1'"), - Формат(КоличествоНалоговыхОргановДействия - 2, "ЧДЦ=; ЧН=; ЧГ=")), ""); + Форма.Элементы.ДекорацияНалоговыеОрганыДействия.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = '%1, %2 и еще %3'"), + Форма.Объект.НалоговыеОрганыДействия[0].КодНалоговогоОргана, + Форма.Объект.НалоговыеОрганыДействия[1].КодНалоговогоОргана, + Формат(КоличествоНалоговыхОргановДействия - 2, "ЧДЦ=; ЧН=; ЧГ=")); КонецЕсли; КонецЕсли; @@ -1417,7 +1631,7 @@ КонецПроцедуры &НаСервере -Процедура ЗаполнитьТипОрганизации(ИмяЭлементаОрганизация, ТипСтрока) +Процедура ЗаполнитьТипОрганизации(Знач ИмяЭлементаОрганизация, Знач ТипСтрока) ЭтотОбъект[ИмяЭлементаОрганизация + "ТипСтрока"] = ТипСтрока; @@ -1489,40 +1703,14 @@ КонецПроцедуры &НаСервере -Процедура ПриИзмененииОрганизацииНаСервере(ИмяЭлементаОрганизация, Загрузка = Ложь) +Процедура ПриИзмененииОрганизацииНаСервере(Знач ИмяЭлементаОрганизация, Знач Загрузка = Ложь) ЗаполнитьРеквизитыОрганизации(ИмяЭлементаОрганизация, Загрузка); - - Если ИмяЭлементаОрганизация = "Доверитель" И ДоверительТипСтрока <> "ФизическоеЛицо" Тогда - Если ДоверительРеквизиты.ЭтоИндивидуальныйПредприниматель Тогда - ЛицоБезДоверенностиНесколько = Ложь; - КонецЕсли; - - ИначеЕсли ИмяЭлементаОрганизация = "Представитель" И ПредставительТипСтрока <> "ФизическоеЛицо" Тогда - - Если ПредставительРеквизиты.ЭтоИндивидуальныйПредприниматель Тогда - ПредставительФЛНесколько = Ложь; - КонецЕсли; - - Если Не Загрузка Тогда - - ОчиститьЭлементыФормы("ПредставительФЛ", Истина); - - КонецЕсли; - - КонецЕсли; - - ОбновитьСтрокуДоверителейПредставителей(ИмяЭлементаОрганизация); - - Если Не Загрузка Тогда - ЗаполнитьРеквизитыРуководителя(ИмяЭлементаОрганизация); - УстановитьОтображениеРеквизитовЗависимыхОтОрганизации(ИмяЭлементаОрганизация); - КонецЕсли; - + КонецПроцедуры &НаСервере -Процедура ОбновитьСтрокуДоверителейПредставителей(ИмяЭлементаОрганизация) +Процедура ОбновитьСтрокуДоверителейПредставителей(Знач ИмяЭлементаОрганизация) Если ИмяЭлементаОрганизация = "Представитель" Или ИмяЭлементаОрганизация = "ПредставительФЛ" Тогда Таблица = Объект.Представители; @@ -1575,7 +1763,7 @@ КонецПроцедуры &НаСервере -Процедура ОчисткаДоверителяПредставителя(ИмяЭлементаОрганизация) +Процедура ОчисткаДоверителяПредставителя(Знач ИмяЭлементаОрганизация) Если ИмяЭлементаОрганизация = "Представитель" Или ИмяЭлементаОрганизация = "ПредставительФЛ" Тогда Таблица = Объект.Представители; @@ -1625,6 +1813,8 @@ Если ПредставительРеквизиты.ЭтоИндивидуальныйПредприниматель Или ПредставительРеквизиты.ЭтоФилиал Тогда ИмяЭлементаРуководитель = "ПредставительФЛ"; + Иначе + ОчиститьЭлементыФормы("ПредставительФЛ", Истина); КонецЕсли; КонецЕсли; @@ -1632,8 +1822,7 @@ Возврат; КонецЕсли; - Если ЭтотОбъект[ИмяЭлементаОрганизация + "Реквизиты"].Свойство("ЛицоБезДоверенности") - И ЗначениеЗаполнено(ЭтотОбъект[ИмяЭлементаОрганизация + "Реквизиты"].ЛицоБезДоверенности) Тогда + Если ЗначениеЗаполнено(ЭтотОбъект[ИмяЭлементаОрганизация + "Реквизиты"].ЛицоБезДоверенности) Тогда ЗаполнитьТипОрганизации(ИмяЭлементаРуководитель, "ФизическоеЛицо"); ЭтотОбъект[ИмяЭлементаРуководитель] = ЭтотОбъект[ИмяЭлементаОрганизация + "Реквизиты"].ЛицоБезДоверенности; @@ -1675,7 +1864,7 @@ &НаСервере Функция ЗаголовокДекорацииТаблицы(Реквизиты, ИмяЭлементаОрганизация = Неопределено, ТолькоОбязательные = Ложь) - Возврат МашиночитаемыеДоверенностиФНССлужебный.ЗаголовокДекорации(Реквизиты, ИмяЭлементаОрганизация, ТолькоОбязательные, Истина); + Возврат МашиночитаемыеДоверенностиФНССлужебный.ЗаголовокДекорацииДляТаблицы(Реквизиты, ИмяЭлементаОрганизация, ТолькоОбязательные); КонецФункции @@ -1740,7 +1929,7 @@ КонецПроцедуры &НаСервере -Процедура ЗаполнитьРеквизитыОрганизации(ИмяЭлементаОрганизация, Загрузка = Ложь) +Процедура ЗаполнитьРеквизитыОрганизации(Знач ИмяЭлементаОрганизация, Загрузка = Ложь) ОрганизацияТип = ЭтотОбъект[ИмяЭлементаОрганизация + "Тип"]; ОрганизацияСсылка = МашиночитаемыеДоверенностиФНССлужебный.ТекущееЗначениеРеквизита( @@ -1788,13 +1977,17 @@ ПриПотереГотовности(ЭтотОбъект); МашиночитаемыеДоверенностиФНССлужебный.ПриЗаполненииРеквизитовОрганизации(Реквизиты); ЭтотОбъект[ИмяЭлементаОрганизация + "Реквизиты"] = Реквизиты; + ОбновитьСтрокуДоверителейПредставителей(ИмяЭлементаОрганизация); + + ЗаполнитьРеквизитыРуководителя(ИмяЭлементаОрганизация); + УстановитьОтображениеРеквизитовЗависимыхОтОрганизации(ИмяЭлементаОрганизация); КонецЕсли; КонецПроцедуры &НаСервере -Процедура УстановитьОтображениеРеквизитовЗависимыхОтОрганизации(ИмяЭлементаОрганизация) +Процедура УстановитьОтображениеРеквизитовЗависимыхОтОрганизации(Знач ИмяЭлементаОрганизация) Организация = ЭтотОбъект[ИмяЭлементаОрганизация]; Реквизиты = ЭтотОбъект[ИмяЭлементаОрганизация + "Реквизиты"]; @@ -1911,11 +2104,6 @@ Если Результат = Неопределено Тогда Возврат; КонецЕсли; - - Ссылка = Неопределено; - Результат.Свойство("Ссылка", Ссылка); - Представители = Неопределено; - Результат.Свойство("Представители", Представители); Таблица = Объект.Представители; @@ -1936,7 +2124,7 @@ НоваяСтрока.ИдентификаторРодителя = Контекст.ИдентификаторРодителя; КонецЕсли; - НоваяСтрока.Представитель = Ссылка; + НоваяСтрока.Представитель = Результат.Ссылка; РеквизитыУчастникаДляХранения = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РеквизитыУчастникаДляХранения( Результат); @@ -1948,8 +2136,8 @@ ПоместитьВоВременноеХранилище(РеквизитыУчастникаДляХранения, НоваяСтрока.АдресРеквизитов); КонецЕсли; - Если ЗначениеЗаполнено(Представители) Тогда - Для Каждого ТекущийПредставитель Из Представители Цикл + Если Не Результат.ЭтоФизическоеЛицо И ЗначениеЗаполнено(Результат.Представители) Тогда + Для Каждого ТекущийПредставитель Из Результат.Представители Цикл Если Не ЗначениеЗаполнено(ТекущийПредставитель.Идентификатор) Тогда НоваяСтрокаПредставитель = Таблица.Добавить(); НоваяСтрокаПредставитель.Идентификатор = Новый УникальныйИдентификатор; @@ -1995,7 +2183,7 @@ КонецПроцедуры &НаСервере -Процедура ОчиститьЭлементыФормы(ИмяЭлементаОрганизация, ОчищатьИдентификатор = Ложь) +Процедура ОчиститьЭлементыФормы(Знач ИмяЭлементаОрганизация, Знач ОчищатьИдентификатор = Ложь) ЭтотОбъект[ИмяЭлементаОрганизация] = Неопределено; ЭтотОбъект[ИмяЭлементаОрганизация + "Реквизиты"] = Неопределено; @@ -2412,19 +2600,24 @@ Возврат; КонецЕсли; + ОчиститьРезультатыПроверки(); УдалитьПодписьНаСервере(ТекущиеДанные.ПорядковыйНомер); ОбновитьСтатус(); - + + НовыйСтатус = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РасчетныйСтатусДокумента(ТехническийСтатус); + Если Объект.Статус <> НовыйСтатус Тогда + Объект.Статус = НовыйСтатус; + ОчиститьРезультатыПроверки(); + ОбновитьОбъект(); + КонецЕсли; + КонецПроцедуры &НаСервере -Процедура УдалитьПодписьНаСервере(ПорядковыйНомер) +Процедура УдалитьПодписьНаСервере(Знач ПорядковыйНомер) ЭлектроннаяПодпись.УдалитьПодпись(Объект.ФайлДоверенности, ПорядковыйНомер, УникальныйИдентификатор); - - МашиночитаемыеДоверенностиФНССлужебный.УстановитьПризнакПодписана(Объект.Ссылка, Ложь); - МашиночитаемыеДоверенностиФНССлужебный.РассчитатьИЗаписатьТехническийСтатус(Объект.Ссылка); - + МашиночитаемыеДоверенностиФНССлужебный.РассчитатьИЗаписатьТехническийСтатус(Объект.Ссылка, Ложь); ЗаполнитьСписокПодписей(); КонецПроцедуры @@ -2453,7 +2646,7 @@ КонецПроцедуры &НаСервере -Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения) +Процедура ВыполнитьКомандуНаСервере(Знач ПараметрыВыполнения) ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект); @@ -2509,24 +2702,31 @@ &НаКлиенте Процедура ОбновитьСтатус(НаправитьЗапросВРР = Ложь) - Если ЗначениеЗаполнено(Объект.Ссылка) И Объект.РегистрироватьВРеестре Тогда + Если ЗначениеЗаполнено(Объект.Ссылка) Тогда + + ДанныеСостояния = ОбновитьСтатусИПрочитатьСостояние(Объект.Ссылка, Объект.РегистрироватьВРеестре И НаправитьЗапросВРР); - ДанныеСостояния = ОбновитьСтатусИПрочитатьСостояние(Объект.Ссылка, НаправитьЗапросВРР); ТребуетсяОбновлениеДекораций = ТехническийСтатус <> ДанныеСостояния.ТехническийСтатус; + ТехническийСтатус = ДанныеСостояния.ТехническийСтатус; + Если Подписана <> ДанныеСостояния.Подписана Тогда Подписана = ДанныеСостояния.Подписана; - УстановитьВидимостьИДоступность(ЭтотОбъект, "Подписание"); + Если Не ТребуетсяОбновлениеДекораций Тогда + УстановитьВидимостьИДоступность(ЭтотОбъект, "Подписание"); + КонецЕсли; КонецЕсли; - ОтобразитьДекорацииСтатуса(ЭтотОбъект); + Если ТребуетсяОбновлениеДекораций Тогда + УстановитьВидимостьИДоступность(ЭтотОбъект) + КонецЕсли; Если Объект.Статус <> ДанныеСостояния.Статус Тогда Объект.Статус = ДанныеСостояния.Статус; ОповеститьОбИзменении(Объект.Ссылка); КонецЕсли; - Если ДанныеСостояния.ОтображатьСтатусВДокументе Тогда + Если ДанныеСостояния.ОтображатьСтатусВДокументе И Объект.РегистрироватьВРеестре Тогда СтрокаОбновления = СтроковыеФункцииКлиент.ФорматированнаяСтрока(НСтр("ru='Обновить'")); Элементы.ОписаниеСостояния.Заголовок = Новый ФорматированнаяСтрока(ДанныеСостояния.ОписаниеСостояния, Символы.ПС, СтрокаОбновления); Элементы.ОписаниеСостояния.Видимость = Истина; @@ -2539,13 +2739,14 @@ Иначе АдресОшибкиСтатуса = ПоместитьВоВременноеХранилище(ДанныеСостояния.ДанныеОшибкиЗапросаСтатуса, УникальныйИдентификатор); КонецЕсли; - + Иначе Элементы.ОписаниеСостояния.Видимость = Ложь; КонецЕсли; ОтобразитьДекорацииСтатуса(ЭтотОбъект); - Если ТехническийСтатус = ЭтотОбъект.ТехническийСтатус_Регистрация Тогда + + Если ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Регистрация") Тогда Если ПериодОпросаСтатусов = 300 Тогда ПериодОпросаСтатусов = 5; Иначе @@ -2558,7 +2759,7 @@ КонецПроцедуры &НаСервереБезКонтекста -Функция ОбновитьСтатусИПрочитатьСостояние(Ссылка, НаправитьЗапросВРР) +Функция ОбновитьСтатусИПрочитатьСостояние(Знач Ссылка, Знач НаправитьЗапросВРР) Если НаправитьЗапросВРР Тогда РегистрыСведений.МашиночитаемыеДоверенностиСтатусы.ОбновлениеСтатусовМЧД(Ссылка); @@ -2570,7 +2771,7 @@ КонецФункции &НаСервереБезКонтекста -Процедура УстановитьСтатусРегистрации(Доверенность, ИдентификаторТранзакции = Неопределено) +Процедура УстановитьСтатусРегистрации(Знач Доверенность, Знач ИдентификаторТранзакции = Неопределено) МашиночитаемыеДоверенностиФНССлужебный.УстановитьСтатусРегистрации(Доверенность, ИдентификаторТранзакции); КонецПроцедуры @@ -2581,10 +2782,6 @@ ЭлектронныеПодписи.Очистить(); УстановленныеПодписи = ЭлектроннаяПодпись.УстановленныеПодписи(Объект.ФайлДоверенности); - Если УстановленныеПодписи.Количество() = 0 Тогда - Возврат; - КонецЕсли; - Для Каждого ЭлектроннаяПодписьФайла Из УстановленныеПодписи Цикл НоваяСтрока = ЭлектронныеПодписи.Добавить(); @@ -2601,14 +2798,12 @@ КонецЦикла; - УстановитьВидимостьИДоступность(ЭтотОбъект, "Подписание"); - КонецПроцедуры &НаКлиентеНаСервереБезКонтекста Функция СтатусПодписи(СтрокаПодписи, ДатаСеанса) - Если Не ЗначениеЗаполнено(СтрокаПодписи.ДатаПроверкиПодписи) Тогда + Если Не ЗначениеЗаполнено(СтрокаПодписи.ДатаПроверкиПодписи) Или СтрокаПодписи.ТребуетсяПроверка Тогда Статус = НСтр("ru = 'Требуется проверка'"); ИначеЕсли СтрокаПодписи.ПодписьВерна И ЗначениеЗаполнено(СтрокаПодписи.СрокДействияПоследнейМеткиВремени) @@ -2616,13 +2811,12 @@ Статус = НСтр("ru = 'Была верна на дату подписи'"); ИначеЕсли СтрокаПодписи.ПодписьВерна Тогда Статус = НСтр("ru = 'Верна'"); - ИначеЕсли СтрокаПодписи.ТребуетсяПроверка Тогда - Статус = НСтр("ru = 'Требуется проверка'"); Иначе Статус = НСтр("ru = 'Неверна'"); КонецЕсли; Возврат Статус; + КонецФункции &НаКлиенте @@ -2660,24 +2854,6 @@ КонецФункции -&НаСервере -Процедура КешироватьЗначенияСтатусов() - ДобавляемыеРеквизиты = Новый Массив; - ТипСтатуса = Новый ОписаниеТипов("ПеречислениеСсылка.ТехническиеСтатусыМЧД"); - - Для Каждого ЗначениеПеречисления Из Метаданные.Перечисления.ТехническиеСтатусыМЧД.ЗначенияПеречисления Цикл - НовыйРеквизит = Новый РеквизитФормы("ТехническийСтатус_"+ЗначениеПеречисления.Имя, ТипСтатуса); - ДобавляемыеРеквизиты.Добавить(НовыйРеквизит); - КонецЦикла; - ИзменитьРеквизиты(ДобавляемыеРеквизиты); - - ИндексЗначения = 0; - Для Каждого ЗначениеПеречисления Из Метаданные.Перечисления.ТехническиеСтатусыМЧД.ЗначенияПеречисления Цикл - ЭтотОбъект["ТехническийСтатус_"+ЗначениеПеречисления.Имя] = Перечисления.ТехническиеСтатусыМЧД[ИндексЗначения]; - ИндексЗначения = ИндексЗначения + 1; - КонецЦикла; -КонецПроцедуры - &НаСервереБезКонтекста Функция ИспользуетсяАвтоНаименование(Объект) diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/ManagerModule.bsl b/SSL/src/Catalogs/МашиночитаемыеДоверенности/ManagerModule.bsl index 262128958..b47c73f38 100644 --- a/SSL/src/Catalogs/МашиночитаемыеДоверенности/ManagerModule.bsl +++ b/SSL/src/Catalogs/МашиночитаемыеДоверенности/ManagerModule.bsl @@ -40,21 +40,6 @@ КонецПроцедуры -// Подготавливает данные печати. -// -// Параметры: -// ИсточникиДанных - см. УправлениеПечатьюПереопределяемый.ПриПодготовкеДанныхПечати.ИсточникиДанных -// ВнешниеНаборыДанных - см. УправлениеПечатьюПереопределяемый.ПриПодготовкеДанныхПечати.ВнешниеНаборыДанных -// КодЯзыка - см. УправлениеПечатьюПереопределяемый.ПриПодготовкеДанныхПечати.КодЯзыка -// ДополнительныеПараметры - см. УправлениеПечатьюПереопределяемый.ПриПодготовкеДанныхПечати.ДополнительныеПараметры -// -Процедура ПриПодготовкеДанныхПечати(ИсточникиДанных, ВнешниеНаборыДанных, КодЯзыка, ДополнительныеПараметры) Экспорт - - ДанныеПечати = ДанныеПечати(ИсточникиДанных, КодЯзыка, ДополнительныеПараметры); - ВнешниеНаборыДанных.Вставить("ДанныеПечати", ДанныеПечати); - -КонецПроцедуры - // Формирует печатные формы. // // Параметры: @@ -82,6 +67,14 @@ #Область СлужебныеПроцедурыИФункции +Функция ИдентификаторСхемыМЧД() + Возврат "http://www.1c.ru/ssl/emchd1"; +КонецФункции + +Функция ЦелевоеПространствоИмен() + Возврат "urn://x-artefacts/EMCHD_1"; +КонецФункции + // Параметры: // Объект - СправочникОбъект.МашиночитаемыеДоверенности // @@ -95,6 +88,9 @@ ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, ДанныеДоверенности, "Доверенность"); ДоверенностьXML = ЗаписьXML.Закрыть(); + ДоверенностьXML = СтрЗаменить(ДоверенностьXML, """" + ИдентификаторСхемыМЧД() + """", + """" + ЦелевоеПространствоИмен() + """"); + ИдентификаторФайла = ДанныеДоверенности.ИдФайл; Результат = Новый Структура; @@ -117,7 +113,7 @@ КодФормыПоКлассификаторуНалоговойДокументации = "1110310"; Доверенность = Доверенность(Объект); - Документ = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "ДокументТип")); + Документ = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "ДокументТип")); Если ДляНалоговыхОрганов Тогда Документ.КНД = КодФормыПоКлассификаторуНалоговойДокументации; КонецЕсли; @@ -152,7 +148,7 @@ ИдентификаторФайлаДляПредставленияИнтересовВНалоговомОргане = СтрШаблон("%1_%2_%3_%4_%5_%6", Префикс, Получатель, КонечныйПолучатель, Отправитель, ДатаФормирования, ИдентификационныйНомер); КонецЕсли; - ОписаниеДоверенности = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "ДоверенностьТип")); + ОписаниеДоверенности = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "ДоверенностьТип")); ОписаниеДоверенности.ВерсФорм = ВерсияФормата; ОписаниеДоверенности.ПрЭлФорм = ФлагОбязательностиЭлементов; ОписаниеДоверенности.ИдФайл = ИдентификаторФайла; @@ -175,7 +171,7 @@ СведенияОПредставителях = СведенияОПредставителях(Объект); СведенияОПолномочияхПредставителей = СведенияОПолномочияхПредставителей(Объект); - Доверенность = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "ДоверТип")); + Доверенность = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "ДоверТип")); Доверенность.СвДов = СведенияОДоверенности; Для Каждого СведенияОДоверителе Из СведенияОДоверителях Цикл Доверенность.СвДоверит.Добавить(СведенияОДоверителе); @@ -209,7 +205,7 @@ КодыНалоговыхОргановДействия = Объект.НалоговыеОрганыДействия.ВыгрузитьКолонку("КодНалоговогоОргана"); СведенияОбИнформационнойСистеме = "https://m4d.nalog.gov.ru/"; - СведенияОДоверенности = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "СвДовТип")); + СведенияОДоверенности = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "СвДовТип")); СведенияОДоверенности.ВидДовер = ВидДоверенности; СведенияОДоверенности.ПрПередов = ПризнакВозможностиПередоверия; СведенияОДоверенности.ВнНомДовер = ВнутреннийНомерДоверенности; @@ -237,8 +233,8 @@ Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"))); Для Каждого ОписаниеДоверителя Из ОписанияДоверителей Цикл - СведенияОДоверителе = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "СвДоверитТип")); - Доверитель = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "ДоверитТип")); + СведенияОДоверителе = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "СвДоверитТип")); + Доверитель = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "ДоверитТип")); РеквизитыДоверителя = ОписаниеДоверителя.ДоверительРеквизиты.Получить(); ОписанияЛицДоверителя = Доверенность.Доверители.НайтиСтроки( Новый Структура("ИдентификаторРодителя", ОписаниеДоверителя.Идентификатор)); @@ -316,7 +312,7 @@ СведенияОЮридическомЛице = СведенияОЮридическомЛице(РеквизитыОрганизации); - СведенияОДоверителеЮридическогоЛица = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "РосОргДоверТип")); + СведенияОДоверителеЮридическогоЛица = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "РосОргДоверТип")); СведенияОДоверителеЮридическогоЛица.ЕИОУК = ЕдиноличнымИсполнительнымОрганомВыступаетУправляющаяКомпания; СведенияОДоверителеЮридическогоЛица.ЕИОФЛ = ЕдиноличнымИсполнительнымОрганомВыступаетФизическоеЛицо; СведенияОДоверителеЮридическогоЛица.ЕИОИП = ЕдиноличнымИсполнительнымОрганомВыступаетИндивидуальныйПредприниматель; @@ -339,7 +335,7 @@ СНИЛС = РеквизитыФизическогоЛица.СНИЛС; СведенияОФизическомЛице = СведенияОФизическомЛице(РеквизитыФизическогоЛица, ДляНалоговыхОрганов); - СведенияОФизическомЛицеДоверителе = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "ФЛДоверТип")); + СведенияОФизическомЛицеДоверителе = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "ФЛДоверТип")); Если ЗначениеЗаполнено(ИНН) Тогда СведенияОФизическомЛицеДоверителе.ИННФЛ = ИНН; КонецЕсли; @@ -359,7 +355,7 @@ КонецЕсли; Для Каждого РеквизитыУправляющейКомпании Из РеквизитыУправляющихКомпаний Цикл - СведенияОЛицеДоверителя = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "ЛицоБезДовТип")); + СведенияОЛицеДоверителя = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "ЛицоБезДовТип")); СведенияОЛицеДоверителя.ПолнЮЛ = ВидПолномочийЕдиноличногоИсполнительногоОргана; Если РеквизитыУправляющейКомпании.Ключ.ЭтоИндивидуальныйПредприниматель Тогда @@ -375,7 +371,7 @@ КонецЦикла; Для Каждого РеквизитыФизическогоЛица Из РеквизитыФизическихЛиц Цикл - СведенияОЛицеДоверителя = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "ЛицоБезДовТип")); + СведенияОЛицеДоверителя = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "ЛицоБезДовТип")); СведенияОЛицеДоверителя.ПолнЮЛ = ВидПолномочийЕдиноличногоИсполнительногоОргана; Если РеквизитыФизическогоЛица.ЭтоИндивидуальныйПредприниматель Тогда // удалить ип? @@ -399,7 +395,7 @@ СведенияОЮридическомЛице = СведенияОЮридическомЛице(РеквизитыУправляющейКомпании); СведенияОДолжностныхЛицах = СведенияОДолжностныхЛицах(РеквизитыФизическихЛиц, ДляНалоговыхОрганов); - СведенияОЕдиноличномИсполнительномОрганеУправляющейКомпании = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "СВЮЛТип")); + СведенияОЕдиноличномИсполнительномОрганеУправляющейКомпании = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "СВЮЛТип")); СведенияОЕдиноличномИсполнительномОрганеУправляющейКомпании.СвЮЛЕИО = СведенияОЮридическомЛице; Для Каждого СведенияОДолжностномЛице Из СведенияОДолжностныхЛицах Цикл СведенияОЕдиноличномИсполнительномОрганеУправляющейКомпании.СвФЛ.Добавить(СведенияОДолжностномЛице); @@ -428,7 +424,7 @@ Должность = РеквизитыФизическогоЛица.ДолжностьЛицаБезДоверенности; СведенияОФизическомЛице = СведенияОФизическомЛице(РеквизитыФизическогоЛица, ДляНалоговыхОрганов); - СведенияОДолжностномЛице = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "СвФЛТип")); + СведенияОДолжностномЛице = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "СвФЛТип")); Если ЗначениеЗаполнено(ИНН) Тогда СведенияОДолжностномЛице.ИННФЛ = ИНН; КонецЕсли; @@ -454,8 +450,8 @@ Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"))); Для Каждого ОписаниеПредставителя Из ОписанияПредставителей Цикл - СведенияОПредставителе = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "СвУпПредТип")); - Представитель = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "ПредТип")); + СведенияОПредставителе = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "СвУпПредТип")); + Представитель = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "ПредТип")); РеквизитыПредставителя = ОписаниеПредставителя.ПредставительРеквизиты.Получить(); ОписанияЛицПредставителя = Доверенность.Представители.НайтиСтроки( @@ -501,7 +497,7 @@ СведенияОЮридическомЛице = СведенияОЮридическомЛице(РеквизитыПредставителя); Представитель.СведОрг = СведенияОЮридическомЛице; КонецЕсли; - СведенияОПредставителе = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "СвУпПредТип")); + СведенияОПредставителе = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "СвУпПредТип")); СведенияОПредставителе.ТипПред = ТипПредставителя; СведенияОПредставителе.Пред = Представитель; СведенияОПредставителях.Добавить(СведенияОПредставителе); @@ -519,7 +515,7 @@ ПризнакСовместногоОсуществленияПолномочий = ?(Объект.СовместныеПолномочия, "2", "1"); СведенияОМашиночитаемыхПолномочиях = СведенияОМашиночитаемыхПолномочиях(Объект); - СведенияОПолномочияхПредставителей = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "СвПолнТип")); + СведенияОПолномочияхПредставителей = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "СвПолнТип")); СведенияОПолномочияхПредставителей.ТипПолн = ТипПолномочия; СведенияОПолномочияхПредставителей.ПрСовмПолн = ПризнакСовместногоОсуществленияПолномочий; @@ -545,7 +541,7 @@ Ограничения = Объект.Ограничения.НайтиСтроки(Новый Структура("ИдентификаторПолномочия", ОписаниеПолномочия.ИдентификаторПолномочия)); СведенияОбОграниченияхКПолномочию = СведенияОбОграниченияхКПолномочию(Ограничения); - СведенияОМашиночитаемомПолномочии = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "МашПолнТип")); + СведенияОМашиночитаемомПолномочии = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "МашПолнТип")); СведенияОМашиночитаемомПолномочии.КодПолн = КодПолномочия; СведенияОМашиночитаемомПолномочии.НаимПолн = НаименованиеПолномочия; Для Каждого Элемент Из СведенияОбОграниченияхКПолномочию Цикл @@ -571,7 +567,7 @@ КодЗначенияДляОграничения = Ограничение.КодЗначения; ТекстовоеЗначениеДляОграничения = Ограничение.ТекстовоеЗначение; - СведенияОбОграниченииКПолномочию = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "ОгрСвПолнТип")); + СведенияОбОграниченииКПолномочию = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "ОгрСвПолнТип")); СведенияОбОграниченииКПолномочию.ИдОгр = ПорядковыйНомерОграничения; СведенияОбОграниченииКПолномочию.КодОгр = КодОграничения; СведенияОбОграниченииКПолномочию.НаимОгр = НаименованиеОграничения; @@ -604,9 +600,8 @@ КонтактныйТелефон = РеквизитыОрганизации.Телефон; АдресЭлектроннойПочты = РеквизитыОрганизации.ЭлектроннаяПочта; АдресЮридическогоЛица = СведенияОбАдресе(РеквизитыОрганизации.ЮридическийАдресЗначение); - ЭтоФилиал = РеквизитыОрганизации.ЭтоФилиал; - СведенияОЮридическомЛице = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "СвОргТип")); + СведенияОЮридическомЛице = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "СвОргТип")); СведенияОЮридическомЛице.НаимОрг = НаименованиеЮридическогоЛица; Если ЗначениеЗаполнено(ИНН) Тогда СведенияОЮридическомЛице.ИННЮЛ = ИНН; @@ -648,7 +643,7 @@ ФИАСАдресВРоссийскойФедерации = ПоляАдреса.МуниципальноеПредставление; АдресВРоссийскойФедерации = ПоляАдреса.Представление; - СведенияОбАдресе = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "АдрТип")); + СведенияОбАдресе = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "АдрТип")); СведенияОбАдресе.Регион = СубъектРоссийскойФедерации; Если ЗначениеЗаполнено(ПоляАдреса.ИдентификаторАдресногоОбъекта) Тогда СведенияОбАдресе.ИдФИАС = Строка(ИдентификаторАдресаПоФИАС); @@ -663,7 +658,7 @@ Функция СведенияОДоверителеИностранногоЮридическогоЛица(РеквизитыОрганизации, РеквизитыФизическихЛиц, ДляНалоговыхОрганов) // ИнОргДоверТип - СведенияОДоверителеИностранногоЮридическогоЛица = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "ИнОргДоверТип")); + СведенияОДоверителеИностранногоЮридическогоЛица = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "ИнОргДоверТип")); СведенияОбИностранномЮридическомЛице = СведенияОбИностранномЮридическомЛице(РеквизитыОрганизации); СведенияОДоверителеИностранногоЮридическогоЛица.СвИнОрг = СведенияОбИностранномЮридическомЛице; @@ -692,7 +687,7 @@ ЮридическийАдресВСтранеРегистрации = РеквизитыОрганизации.ЮридическийАдресВСтранеРегистрации; ФактическийАдрес = СведенияОбАдресе(РеквизитыОрганизации.ФактическийАдресЗначение); - СведенияОбИностранномЮридическомЛице = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "СвИнОргТип")); + СведенияОбИностранномЮридическомЛице = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "СвИнОргТип")); СведенияОбИностранномЮридическомЛице.НаимИО = НаименованиеОрганизации; Если ЗначениеЗаполнено(ИННЮЛ) Тогда СведенияОбИностранномЮридическомЛице.ИННЮЛ = ИННЮЛ; @@ -741,7 +736,7 @@ СНИЛС = РеквизитыФизическогоЛица.СтраховойНомерПФР; СведенияОФизическомЛице = СведенияОФизическомЛице(РеквизитыФизическогоЛица, ДляНалоговыхОрганов); - СведенияОбИндивидуальномПредпринимателе = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "СведИПТип")); + СведенияОбИндивидуальномПредпринимателе = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "СведИПТип")); СведенияОбИндивидуальномПредпринимателе.ОГРНИП = ОГРНИП; СведенияОбИндивидуальномПредпринимателе.ИННФЛ = ИНН; СведенияОбИндивидуальномПредпринимателе.СНИЛС = СНИЛС; @@ -785,7 +780,7 @@ КонецЕсли; СведенияОДокументеУдостоверяющемЛичность = СведенияОДокументеУдостоверяющемЛичность(РеквизитыФизическогоЛица); - СведенияОФизическомЛице = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "СведФЛТип")); + СведенияОФизическомЛице = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "СведФЛТип")); СведенияОФизическомЛице.Пол = Пол; Если ЗначениеЗаполнено(ПризнакНаличияГражданства) Тогда @@ -827,7 +822,7 @@ Имя = РеквизитыФизическогоЛица.Имя; Отчество = РеквизитыФизическогоЛица.Отчество; - ФИОДоверителя = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "ФИОТип")); + ФИОДоверителя = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "ФИОТип")); ФИОДоверителя.Фамилия = Фамилия; ФИОДоверителя.Имя = Имя; ФИОДоверителя.Отчество = Отчество; @@ -849,7 +844,7 @@ КодПодразделенияОрганаВыдавшегоДокумент = РеквизитыФизическогоЛица.ДокументКодПодразделения; ДатаИстеченияСрокаДействияДокумента = Формат(РеквизитыФизическогоЛица.ДокументСрокДействия, "ДФ=yyyy-MM-dd;"); - СведенияОДокументеУдостоверяющемЛичность = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "УдЛичнФЛТип")); + СведенияОДокументеУдостоверяющемЛичность = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "УдЛичнФЛТип")); СведенияОДокументеУдостоверяющемЛичность.КодВидДок = КодВидаДокумента; СведенияОДокументеУдостоверяющемЛичность.СерНомДок = СерияИНомерДокумента; СведенияОДокументеУдостоверяющемЛичность.ДатаДок = ДатаВыдачиДокумента; @@ -939,12 +934,8 @@ ИмяФайлаДоверенности = ""; ОписаниеОшибки = ""; - - ЧтениеXML = Новый ЧтениеXML(); - ЧтениеXML.УстановитьСтроку(ДоверенностьXML); - ЧтениеXML.Прочитать(); - Доверенность = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "ДоверенностьТип")); - ЧтениеXML.Закрыть(); + + Доверенность = ДоверенностьXDTO(ДоверенностьXML); ИдентификаторФайла = Доверенность.ИдФайл; Если ДляНалоговыхОрганов Тогда @@ -969,73 +960,6 @@ КонецФункции -Функция ДанныеПечати(ИсточникиДанных, КодЯзыка, ДополнительныеПараметры) - - ДанныеПечати = Новый ТаблицаЗначений; - ДанныеПечати.Колонки.Добавить("Ссылка", Новый ОписаниеТипов); - ДанныеПечати.Колонки.Добавить("Номер", Новый ОписаниеТипов("Строка")); - ДанныеПечати.Колонки.Добавить("ДатаВыдачи", Новый ОписаниеТипов("Дата")); - ДанныеПечати.Колонки.Добавить("ДатаОкончания", Новый ОписаниеТипов("Дата")); - ДанныеПечати.Колонки.Добавить("СведенияОДоверителях", Новый ОписаниеТипов("ТаблицаЗначений")); - ДанныеПечати.Колонки.Добавить("СведенияОПредставителях", Новый ОписаниеТипов("ТаблицаЗначений")); - ДанныеПечати.Колонки.Добавить("Полномочия", Новый ОписаниеТипов("ТаблицаЗначений")); - - СведенияОДоверителях = Новый ТаблицаЗначений; - СведенияОДоверителях.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка")); - СведенияОДоверителях.Колонки.Добавить("ИНН", Новый ОписаниеТипов("Строка")); - СведенияОДоверителях.Колонки.Добавить("КПП", Новый ОписаниеТипов("Строка")); - СведенияОДоверителях.Колонки.Добавить("ОГРН", Новый ОписаниеТипов("Строка")); - СведенияОДоверителях.Колонки.Добавить("Подписанты", Новый ОписаниеТипов("ТаблицаЗначений")); - - Подписанты = Новый ТаблицаЗначений; - Подписанты.Колонки.Добавить("ФИО", Новый ОписаниеТипов("Строка")); - Подписанты.Колонки.Добавить("Должность", Новый ОписаниеТипов("Строка")); - Подписанты.Колонки.Добавить("ИНН", Новый ОписаниеТипов("Строка")); - Подписанты.Колонки.Добавить("СНИЛС", Новый ОписаниеТипов("Строка")); - Подписанты.Колонки.Добавить("СведенияОДокументеУдостоверяющемЛичность", Новый ОписаниеТипов("Строка")); - - СведенияОПредставителях = Новый ТаблицаЗначений; - СведенияОПредставителях.Колонки.Добавить("ФИО", Новый ОписаниеТипов("Строка")); - СведенияОПредставителях.Колонки.Добавить("ДатаРождения", Новый ОписаниеТипов("Строка")); - СведенияОПредставителях.Колонки.Добавить("ИНН", Новый ОписаниеТипов("Строка")); - СведенияОПредставителях.Колонки.Добавить("СНИЛС", Новый ОписаниеТипов("Строка")); - СведенияОПредставителях.Колонки.Добавить("СведенияОДокументеУдостоверяющемЛичность", Новый ОписаниеТипов("Строка")); - - Полномочия = Новый ТаблицаЗначений; - Полномочия.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка")); - Полномочия.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка")); - - ФайлыДоверенностей = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(ИсточникиДанных, "ФайлДоверенности"); - - Для Каждого Ссылка Из ИсточникиДанных Цикл - ФайлыДоверенности = Новый Массив; - ФайлДоверенности = ФайлыДоверенностей[Ссылка]; - - Если ФайлДоверенности.Пустая() Тогда - ФайлыДоверенностей[Ссылка] = ФайлыДоверенности; - Продолжить; - КонецЕсли; - - ДанныеФайла = РаботаСФайлами.ДанныеФайла(ФайлДоверенности); - ДвоичныеДанные = ПолучитьИзВременногоХранилища(ДанныеФайла.СсылкаНаДвоичныеДанныеФайла); - ДоверенностьXML = ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные); - - Доверенность = ДоверенностьXDTO(ДоверенностьXML); - - ОписаниеДоверенности = ДанныеПечати.Добавить(); - ОписаниеДоверенности.Ссылка = Ссылка; - ОписаниеДоверенности.ДатаВыдачи = Доверенность.Документ.Довер.СвДов.ДатаВыдДовер; - ОписаниеДоверенности.ДатаОкончания = Доверенность.Документ.Довер.СвДов.СрокДейст; - ОписаниеДоверенности.Номер = Доверенность.Документ.Довер.СвДов.НомДовер; - ОписаниеДоверенности.СведенияОДоверителях = СведенияОДоверителях; - ОписаниеДоверенности.СведенияОПредставителях = СведенияОПредставителях; - ОписаниеДоверенности.Полномочия = Полномочия; - КонецЦикла; - - Возврат ДанныеПечати; - -КонецФункции - Функция ПечатьДоверенности(Доверенности, ОбъектыПечати, КодЯзыка) ТабличныйДокумент = Новый ТабличныйДокумент; @@ -1100,10 +1024,6 @@ Если ТипДоверителя = "1" Тогда СведенияОДоверителеЮридическогоЛица = Доверитель.РосОргДовер; - - ЕдиноличнымИсполнительнымОрганомВыступаетУправляющаяКомпания = СведенияОДоверителеЮридическогоЛица.ЕИОУК; - ЕдиноличнымИсполнительнымОрганомВыступаетФизическоеЛицо = СведенияОДоверителеЮридическогоЛица.ЕИОФЛ; - ЕдиноличнымИсполнительнымОрганомВыступаетИндивидуальныйПредприниматель = СведенияОДоверителеЮридическогоЛица.ЕИОИП; СведенияОЮридическомЛице = СведенияОДоверителеЮридическогоЛица.СвРосОрг; Параметры = РеквизитыЮридическогоЛица(СведенияОЮридическомЛице); @@ -1221,7 +1141,6 @@ СведенияОПолномочияхПредставителей = Доверенность.Документ.Довер.СвПолн; ТипПолномочия = СведенияОПолномочияхПредставителей.ТипПолн; - ПризнакСовместногоОсуществленияПолномочий = СведенияОПолномочияхПредставителей.ПрСовмПолн; СведенияОМашиночитаемыхПолномочиях = СведенияОПолномочияхПредставителей.МашПолн; ТекстовоеСодержаниеПолномочия = СведенияОПолномочияхПредставителей.ТекстПолн; @@ -1246,7 +1165,6 @@ СведенияОбОграниченияхКПолномочию = СведенияОМашиночитаемомПолномочии.ОгрСвПолн; Для Каждого СведенияОбОграниченииКПолномочию Из СведенияОбОграниченияхКПолномочию Цикл - ПорядковыйНомерОграничения = СведенияОбОграниченииКПолномочию.ИдОгр; КодОграничения = СведенияОбОграниченииКПолномочию.КодОгр; НаименованиеОграничения = СведенияОбОграниченииКПолномочию.НаимОгр; НаименованиеЗначенияДляОграничения = СведенияОбОграниченииКПолномочию.НаимЗначОгр; @@ -1280,12 +1198,15 @@ КонецФункции -Функция ДоверенностьXDTO(ДоверенностьXML) +Функция ДоверенностьXDTO(Знач ДоверенностьXML) + ДоверенностьXML = СтрЗаменить(ДоверенностьXML, """" + ЦелевоеПространствоИмен() + """", + """" + ИдентификаторСхемыМЧД() + """"); + ЧтениеXML = Новый ЧтениеXML(); ЧтениеXML.УстановитьСтроку(ДоверенностьXML); ЧтениеXML.Прочитать(); - ДоверенностьXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ФабрикаXDTO.Тип("urn://x-artefacts/EMCHD_1", "ДоверенностьТип")); + ДоверенностьXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "ДоверенностьТип")); ЧтениеXML.Закрыть(); Возврат ДоверенностьXDTO; @@ -1385,7 +1306,9 @@ Пол = СведенияОФизическомЛице.Пол; ПризнакНаличияГражданства = СведенияОФизическомЛице.ПрГражд; НомерЗаписиЕдиногоРегистраНаселения = СведенияОФизическомЛице.НомЕРН; - ДатаРождения = Дата(СведенияОФизическомЛице.ДатаРожд); + Если ЗначениеЗаполнено(СведенияОФизическомЛице.ДатаРожд) Тогда + ДатаРождения = Дата(СведенияОФизическомЛице.ДатаРожд); + КонецЕсли; МестоРождения = СведенияОФизическомЛице.МестоРожд; Гражданство = Справочники.СтраныМира.НайтиПоКоду(СведенияОФизическомЛице.Гражданство); КонтактныйТелефон = СведенияОФизическомЛице.КонтактТлф; @@ -1402,31 +1325,41 @@ НСтр("ru = '%1 %2 %3'"), Фамилия, Имя, Отчество); - КодВидаДокумента = СведенияОДокументеУдостоверяющемЛичность.КодВидДок; - СерияИНомерДокумента = СведенияОДокументеУдостоверяющемЛичность.СерНомДок; - ДатаВыдачиДокумента = Дата(СведенияОДокументеУдостоверяющемЛичность.ДатаДок); - НаименованиеОрганаВыдавшегоДокумент = СведенияОДокументеУдостоверяющемЛичность.ВыдДок; - КодПодразделенияОрганаВыдавшегоДокумент = СведенияОДокументеУдостоверяющемЛичность.КодВыдДок; - ДатаИстеченияСрокаДействияДокумента = ?(СведенияОДокументеУдостоверяющемЛичность.expDate = Неопределено, - '00010101', Дата(СведенияОДокументеУдостоверяющемЛичность.expDate)); + КодВидаДокумента = Неопределено; + СерияИНомерДокумента = Неопределено; + ДатаВыдачиДокумента = Неопределено; + НаименованиеОрганаВыдавшегоДокумент = Неопределено; + КодПодразделенияОрганаВыдавшегоДокумент = Неопределено; + ДатаИстеченияСрокаДействияДокумента = Неопределено; + ДокументУдостоверяющийЛичность = ""; - РеквизитыДокумента = Новый Массив; - РеквизитыДокумента.Добавить(НаименованиеДокумента(КодВидаДокумента)); - РеквизитыДокумента.Добавить(СерияИНомерДокумента); - РеквизитыДокумента.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'выдан %1'"), Формат(Дата(ДатаВыдачиДокумента), "ДЛФ=D;"))); - Если ЗначениеЗаполнено(НаименованиеОрганаВыдавшегоДокумент) Тогда - РеквизитыДокумента.Добавить(НаименованиеОрганаВыдавшегоДокумент); - КонецЕсли; - Если ЗначениеЗаполнено(КодПодразделенияОрганаВыдавшегоДокумент) Тогда - РеквизитыДокумента.Добавить("(" + КодПодразделенияОрганаВыдавшегоДокумент + ")"); - КонецЕсли; - Если ЗначениеЗаполнено(ДатаИстеченияСрокаДействияДокумента) Тогда + Если СведенияОДокументеУдостоверяющемЛичность <> Неопределено Тогда + КодВидаДокумента = СведенияОДокументеУдостоверяющемЛичность.КодВидДок; + СерияИНомерДокумента = СведенияОДокументеУдостоверяющемЛичность.СерНомДок; + ДатаВыдачиДокумента = Дата(СведенияОДокументеУдостоверяющемЛичность.ДатаДок); + НаименованиеОрганаВыдавшегоДокумент = СведенияОДокументеУдостоверяющемЛичность.ВыдДок; + КодПодразделенияОрганаВыдавшегоДокумент = СведенияОДокументеУдостоверяющемЛичность.КодВыдДок; + ДатаИстеченияСрокаДействияДокумента = ?(СведенияОДокументеУдостоверяющемЛичность.expDate = Неопределено, + '00010101', Дата(СведенияОДокументеУдостоверяющемЛичность.expDate)); + + РеквизитыДокумента = Новый Массив; + РеквизитыДокумента.Добавить(НаименованиеДокумента(КодВидаДокумента)); + РеквизитыДокумента.Добавить(СерияИНомерДокумента); РеквизитыДокумента.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'действителен до %1'"), Формат(Дата(ДатаИстеченияСрокаДействияДокумента), "ДЛФ=D;"))); - КонецЕсли; + НСтр("ru = 'выдан %1'"), Формат(Дата(ДатаВыдачиДокумента), "ДЛФ=D;"))); + Если ЗначениеЗаполнено(НаименованиеОрганаВыдавшегоДокумент) Тогда + РеквизитыДокумента.Добавить(НаименованиеОрганаВыдавшегоДокумент); + КонецЕсли; + Если ЗначениеЗаполнено(КодПодразделенияОрганаВыдавшегоДокумент) Тогда + РеквизитыДокумента.Добавить("(" + КодПодразделенияОрганаВыдавшегоДокумент + ")"); + КонецЕсли; + Если ЗначениеЗаполнено(ДатаИстеченияСрокаДействияДокумента) Тогда + РеквизитыДокумента.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'действителен до %1'"), Формат(Дата(ДатаИстеченияСрокаДействияДокумента), "ДЛФ=D;"))); + КонецЕсли; - ДокументУдостоверяющийЛичность = СтрСоединить(РеквизитыДокумента, " "); + ДокументУдостоверяющийЛичность = СтрСоединить(РеквизитыДокумента, " "); + КонецЕсли; АдресРегистрации = ""; АдресРегистрацииЗначение = ""; @@ -1542,8 +1475,6 @@ Функция ПредставленияАдреса(СведенияОбАдресе) - СубъектРоссийскойФедерации = СведенияОбАдресе.Регион; - ИдентификаторАдресаПоФИАС = СведенияОбАдресе.ИдФИАС; ФИАСАдресВРоссийскойФедерации = СведенияОбАдресе.ФИАСАдрРФ; АдресВРоссийскойФедерации = СведенияОбАдресе.АдрРФ; @@ -1777,12 +1708,9 @@ ВерсияФормата = ОписаниеДоверенности.ВерсФорм; ФлагОбязательностиЭлементов = ОписаниеДоверенности.ПрЭлФорм; - ИдентификаторФайла = ОписаниеДоверенности.ИдФайл; - ИдентификаторФайлаДляПредставленияИнтересовВНалоговомОргане = ОписаниеДоверенности.ИдФайлНО; ИныеСведения = ОписаниеДоверенности.ИнСвед; Документ = ОписаниеДоверенности.Документ; - КодФормыПоКлассификаторуНалоговойДокументации = Документ.КНД; Доверенность = Документ.Довер; СведенияОДоверенности = Доверенность.СвДов; @@ -1790,14 +1718,10 @@ СведенияОПредставителях = Доверенность.СвУпПред; СведенияОПолномочияхПредставителей = Доверенность.СвПолн; - ВидДоверенности = СведенияОДоверенности.ВидДовер; - ПризнакВозможностиПередоверия = СведенияОДоверенности.ПрПередов; - ВнутреннийНомерДоверенности = СведенияОДоверенности.ВнНомДовер; ЕдиныйРегистрационныйНомер = СведенияОДоверенности.НомДовер; ДатаВыдачиДоверенности = Дата(СведенияОДоверенности.ДатаВыдДовер); СрокДействияДоверенности = Дата(СведенияОДоверенности.СрокДейст); КодНалоговогоОрганаПредставления = СведенияОДоверенности.КодНО; - СведенияОбИнформационнойСистеме = СведенияОДоверенности.СведСист; Объект.ДляНалоговыхОрганов = Сред(ФлагОбязательностиЭлементов, 4, 1) = "1"; Объект.ВерсияФормата = ВерсияФормата; @@ -1814,14 +1738,8 @@ Если ТипДоверителя = "1" Тогда СведенияОДоверителеЮридическогоЛица = Доверитель.РосОргДовер; - - ЕдиноличнымИсполнительнымОрганомВыступаетУправляющаяКомпания = СведенияОДоверителеЮридическогоЛица.ЕИОУК; - ЕдиноличнымИсполнительнымОрганомВыступаетФизическоеЛицо = СведенияОДоверителеЮридическогоЛица.ЕИОФЛ; - ЕдиноличнымИсполнительнымОрганомВыступаетИндивидуальныйПредприниматель = СведенияОДоверителеЮридическогоЛица.ЕИОИП; СведенияОЮридическомЛице = СведенияОДоверителеЮридическогоЛица.СвРосОрг; - ОрганизацияДоверитель = ДобавитьОрганизациюДоверителя(Объект, Неопределено, СведенияОЮридическомЛице); - СведенияОЛицахДоверителя = СведенияОДоверителеЮридическогоЛица.ЛицоБезДов; Для Каждого СведенияОЛицеДоверителя Из СведенияОЛицахДоверителя Цикл @@ -1907,6 +1825,8 @@ СведенияОМашиночитаемыхПолномочиях = СведенияОПолномочияхПредставителей.МашПолн; ТекстовоеСодержаниеПолномочия = СведенияОПолномочияхПредставителей.ТекстПолн; + Объект.СовместныеПолномочия = ПризнакСовместногоОсуществленияПолномочий = "2"; + Если ТипПолномочия = "0" Тогда Полномочие = Объект.Полномочия.Добавить(); Полномочие.Наименование = ТекстовоеСодержаниеПолномочия; @@ -1922,7 +1842,6 @@ СведенияОбОграниченияхКПолномочию = СведенияОМашиночитаемомПолномочии.ОгрСвПолн; Для Каждого СведенияОбОграниченииКПолномочию Из СведенияОбОграниченияхКПолномочию Цикл - ПорядковыйНомерОграничения = СведенияОбОграниченииКПолномочию.ИдОгр; КодОграничения = СведенияОбОграниченииКПолномочию.КодОгр; НаименованиеОграничения = СведенияОбОграниченииКПолномочию.НаимОгр; НаименованиеЗначенияДляОграничения = СведенияОбОграниченииКПолномочию.НаимЗначОгр; @@ -2190,7 +2109,6 @@ Для Каждого Строка Из Объект.Доверители Цикл - СтрокаОбъекта = Объект.Доверители.НайтиСтроки(Новый Структура("Идентификатор", Строка.Идентификатор))[0]; РеквизитыДоверителя = Строка.ДоверительРеквизиты.Получить(); ЭтоФизическоеЛицо = РеквизитыДоверителя.ЭтоФизическоеЛицо; @@ -2206,7 +2124,6 @@ Для Каждого Строка Из Объект.Представители Цикл - СтрокаОбъекта = Объект.Представители.НайтиСтроки(Новый Структура("Идентификатор", Строка.Идентификатор))[0]; РеквизитыПредставителя = Строка.ПредставительРеквизиты.Получить(); Если НаименованиеПредставитель = "" Тогда diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/ObjectModule.bsl b/SSL/src/Catalogs/МашиночитаемыеДоверенности/ObjectModule.bsl index 92cc85853..37657cdf6 100644 --- a/SSL/src/Catalogs/МашиночитаемыеДоверенности/ObjectModule.bsl +++ b/SSL/src/Catalogs/МашиночитаемыеДоверенности/ObjectModule.bsl @@ -21,6 +21,7 @@ СтатусВернаУстановленВручную = Ложь; УстановившийСтатусВерна = Неопределено; Подписана = Ложь; + ДатаПроверки = Неопределено; КонецПроцедуры diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Templates/ДанныеПечати/Template.dcs b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Templates/ДанныеПечати/Template.dcs deleted file mode 100644 index 989d13fd0..000000000 --- a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Templates/ДанныеПечати/Template.dcs +++ /dev/null @@ -1,299 +0,0 @@ - - - - ИсточникДанных1 - Local - - - НаборДанных1 - - Номер - Номер - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Номер</v8:content> - </v8:item> - - - - ДатаВыдачи - ДатаВыдачи - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Дата выдачи</v8:content> - </v8:item> - - - xs:dateTime - - Date - - - - - ДатаОкончания - ДатаОкончания - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Дата окончания</v8:content> - </v8:item> - - - xs:dateTime - - Date - - - - - СведенияОДоверителях - СведенияОДоверителях - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Сведения о доверителях</v8:content> - </v8:item> - - - - СведенияОДоверителях.Наименование - СведенияОДоверителях.Наименование - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Наименование</v8:content> - </v8:item> - - - - СведенияОДоверителях.ИНН - СведенияОДоверителях.ИНН - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>ИНН</v8:content> - </v8:item> - - - - СведенияОДоверителях.КПП - СведенияОДоверителях.КПП - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>КПП</v8:content> - </v8:item> - - - - СведенияОДоверителях.ОГРН - СведенияОДоверителях.ОГРН - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>ОГРН</v8:content> - </v8:item> - - - - СведенияОДоверителях.Подписанты - Подписанты - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Подписанты</v8:content> - </v8:item> - - - - СведенияОДоверителях.Подписанты.СведенияОДокументеУдостоверяющемЛичность - СведенияОДоверителях.Подписанты.СведенияОДокументеУдостоверяющемЛичность - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Сведения о документе, удостоверяющем личность</v8:content> - </v8:item> - - - - СведенияОДоверителях.Подписанты.ФИО - СведенияОДоверителях.Подписанты.ФИО - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>ФИО</v8:content> - </v8:item> - - - - СведенияОДоверителях.Подписанты.ИНН - СведенияОДоверителях.Подписанты.ИНН - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>ИНН</v8:content> - </v8:item> - - - - СведенияОДоверителях.Подписанты.СНИЛС - СведенияОДоверителях.Подписанты.СНИЛС - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>СНИЛС</v8:content> - </v8:item> - - - - СведенияОДоверителях.Подписанты.Должность - СведенияОДоверителях.Подписанты.Должность - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Должность</v8:content> - </v8:item> - - - - СведенияОПредставителях - СведенияОПредставителях - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Сведения о представителях</v8:content> - </v8:item> - - - - СведенияОПредставителях.ФИО - СведенияОПредставителях.ФИО - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>ФИО</v8:content> - </v8:item> - - - - СведенияОПредставителях.ДатаРождения - СведенияОПредставителях.ДатаРождения - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Дата рождения</v8:content> - </v8:item> - - - - СведенияОПредставителях.ИНН - СведенияОПредставителях.ИНН - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>ИНН</v8:content> - </v8:item> - - - - СведенияОПредставителях.СНИЛС - СведенияОПредставителях.СНИЛС - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>СНИЛС</v8:content> - </v8:item> - - - - Полномочия - Полномочия - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Полномочия</v8:content> - </v8:item> - - - - Полномочия.Наименование - Полномочия.Наименование - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Наименование</v8:content> - </v8:item> - - - - Полномочия.Код - Полномочия.Код - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Код</v8:content> - </v8:item> - - - - Ссылка - Ссылка - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Ссылка</v8:content> - </v8:item> - - - - СведенияОДоверителях.НомерСтроки - СведенияОДоверителях.НомерСтроки - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Номер строки</v8:content> - </v8:item> - - - - СведенияОДоверителях.Подписанты.НомерСтроки - СведенияОДоверителях.Подписанты.НомерСтроки - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>СведенияОДоверителях.ПНомер строки</v8:content> - </v8:item> - - - - СведенияОПредставителях.НомерСтроки - СведенияОПредставителях.НомерСтроки - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>НомерСтроки</v8:content> - </v8:item> - - - - Полномочия.НомерСтроки - Полномочия.НомерСтроки - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Номер строки</v8:content> - </v8:item> - - - ИсточникДанных1 - ДанныеПечати - - - Основной - Основной - - - \ No newline at end of file diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Templates/ЗначенияОграничений/Template.bin b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Templates/ЗначенияОграничений/Template.bin deleted file mode 100644 index 73d86f17c8574f827b5e6e99b76fac8aaf61affa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9422 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 diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Templates/КлассификаторПолномочий/Template.bin b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Templates/КлассификаторПолномочий/Template.bin deleted file mode 100644 index f715f2fddbfa1a8700cbc57b0f941d06cdc1ffca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10683 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 diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Templates/Ограничения/Template.bin b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Templates/Ограничения/Template.bin deleted file mode 100644 index 85fc00b08165a1f55d30351decc02a578b9e5c7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 880 zcmWIWW@Zs#U|`^2c*G?UuD+h5e+Lr-!#)lM21%f3fPc7aP<%jmP<)VUa8SH+fuWJ9 zp!mj^F>Q{mroH#NDGS66ZC|QwSB-Te*+J(JRAyA*-kN@AsZ^U8>8r zeyuIu`SjZFjrZPV9#yNjyW7_!)Z01qLuUH)xi`<(m8X@h+>>+2E%RgHW3Ys0cu zKjn?kjDEdTYRwv5$E{(TvYr`5JWKmIQ)ad3>V1(>)p>``{eHIFyw^WCd-dzmTt2>+ zoR10xzO2`s@_5DFU)%1g=2`h2Zl8Nse0^D2@zG3%y#}jw&q>Xi$exk7V#;=()p0jB zy_y!e^_5nJShV>A?RQ2CncQbuHv36@nvo!A?Z)`}D3hUFyntSgy&&^Eg?5?KoW4)a zbyyhk&*<=w_{Lc@!#8Mhq2UgfodVw11J)^?KR)Mj@T){g@x{%5{kSDBU&yJ+@oQQw z?ZsvLxMYSnyNbw<^EY`Ob?uhF(_NjU*XC7!XN$I(DFfl%@L4H%i+{-CqrAktl7=#<|2+W@x z@NS!6y3Y-lCFeq{>hrb>c2`*}(fjAAnet+nnc~kyO6L!YO9f0^7Jp0q#Mzgxx1T+B z`q;Y^!_a*hu0I@WyK0}rb~e3_sABQ_W-VJXOSa|Vxp&{pKP^&n)f{?SL6AkFCSVsUOq8oXE*7#U6)w1^x+D@ zSI1I1SDg3#%NF3x$Ry8zE5WM(lROA0fJr>bp9`vlkwJoiZ=-XPz_pu diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/МашиночитаемыеДоверенности.mdo b/SSL/src/Catalogs/МашиночитаемыеДоверенности/МашиночитаемыеДоверенности.mdo index 0043f5852..602c74d6c 100644 --- a/SSL/src/Catalogs/МашиночитаемыеДоверенности/МашиночитаемыеДоверенности.mdo +++ b/SSL/src/Catalogs/МашиночитаемыеДоверенности/МашиночитаемыеДоверенности.mdo @@ -89,7 +89,7 @@ Code ru - Номер доверенности (внутренний) + Номер (внутренний) Use @@ -497,6 +497,22 @@ Use Use + + ДатаПроверки + + ru + Дата проверки + + + Date + + + + + + Use + Use + @@ -1008,14 +1024,6 @@ Доверенность - - ДанныеПечати - - ru - Данные печати - - DataCompositionSchema - Ограничения diff --git a/SSL/src/Catalogs/ПрофилиГруппДоступа/ManagerModule.bsl b/SSL/src/Catalogs/ПрофилиГруппДоступа/ManagerModule.bsl index 388cfe0e4..74b305ad0 100644 --- a/SSL/src/Catalogs/ПрофилиГруппДоступа/ManagerModule.bsl +++ b/SSL/src/Catalogs/ПрофилиГруппДоступа/ManagerModule.bsl @@ -2743,7 +2743,7 @@ Если Не Справочники.ВерсииРасширений.ВсеРасширенияПодключены() Тогда СтарыеЗначения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ПрофильОбъект.Ссылка, "ВидыДоступа, ЗначенияДоступа"); - Справочники.ПрофилиГруппДоступа.ВосстановитьНесуществующиеВидыИЗначенияДоступа(СтарыеЗначения, ПрофильОбъект); + ВосстановитьНесуществующиеВидыИЗначенияДоступа(СтарыеЗначения, ПрофильОбъект); КонецЕсли; ОбновлениеИнформационнойБазы.ЗаписатьОбъект(ПрофильОбъект); diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПаролиШифрование/Module.bsl b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПаролиШифрование/Module.bsl index 1c9495c7f..3cc98de82 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПаролиШифрование/Module.bsl +++ b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПаролиШифрование/Module.bsl @@ -471,153 +471,23 @@ &НаСервере Процедура ЗаполнитьПолучателейРассылкиСАдресомЭлектроннойПочты(ТаблицаПолучателей) - ПолучателиМетаданные = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(ИдентификаторОбъектаМетаданных, Ложь); - ТипПолучателей = ИдентификаторОбъектаМетаданных.КлючОбъектаМетаданных.Получить(); - - Запрос = Новый Запрос; + ПараметрыПолучателей = РассылкаОтчетовКлиентСервер.ПараметрыПолучателей(); + ПараметрыПолучателей.Ссылка = Ссылка; + ПараметрыПолучателей.Получатели = ТаблицаПолучателей; + ПараметрыПолучателей.Автор = Неопределено; + ПараметрыПолучателей.Личная = Ложь; + ПараметрыПолучателей.ТипПолучателейРассылки = ИдентификаторОбъектаМетаданных; + ПараметрыПолучателей.ВидПочтовогоАдресаПолучателей = ВидПочтовогоАдресаПолучателей; - Если ТипПолучателей = Тип("СправочникСсылка.Пользователи") Тогда - - ТекстЗапроса = - "ВЫБРАТЬ - | ТаблицаПолучателей.Получатель, - | ТаблицаПолучателей.Исключен - |ПОМЕСТИТЬ ТаблицаПолучателей - |ИЗ - | &ТаблицаПолучателей КАК ТаблицаПолучателей - |; - | - |//////////////////////////////////////////////////////////////////////////////// - |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ - | Пользователь.Ссылка КАК Получатель, - | МАКСИМУМ(ТаблицаПолучателей.Исключен) КАК Исключен, - | Пользователи.Наименование - |ПОМЕСТИТЬ Получатели - |ИЗ - | ТаблицаПолучателей КАК ТаблицаПолучателей - | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей - | ПО СоставыГруппПользователей.ГруппаПользователей = ТаблицаПолучателей.Получатель - | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи - | ПО Пользователи.Ссылка = СоставыГруппПользователей.Пользователь - |ГДЕ - | НЕ Пользователи.ПометкаУдаления - | И НЕ Пользователи.Недействителен - | И НЕ Пользователи.Служебный - |СГРУППИРОВАТЬ ПО - | Пользователь.Ссылка, - | Пользователи.Наименование - |; - | - |//////////////////////////////////////////////////////////////////////////////// - |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ - | Получатели.Получатель КАК Получатель, - | Контакты.Представление КАК EMail, - | Получатели.Наименование КАК Наименование - |ИЗ - | Получатели КАК Получатели - | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи.КонтактнаяИнформация КАК Контакты - | ПО Контакты.Ссылка = Получатели.Получатель - | И Контакты.Вид = &ВидПочтовогоАдресаПолучателей - |ГДЕ - | НЕ Получатели.Исключен - | - |УПОРЯДОЧИТЬ ПО - | Наименование - |ИТОГИ - | МАКСИМУМ(Наименование) КАК Наименование - |ПО - | Получатель"; - - Иначе - - ТекстЗапроса = - "ВЫБРАТЬ - | ТаблицаПолучателей.Получатель, - | ТаблицаПолучателей.Исключен - |ПОМЕСТИТЬ ТаблицаПолучателей - |ИЗ - | &ТаблицаПолучателей КАК ТаблицаПолучателей - |; - | - |//////////////////////////////////////////////////////////////////////////////// - |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ - | Получатели.Ссылка КАК Получатель, - | Контакты.Представление КАК EMail, - | Получатели.Наименование КАК Наименование - |ИЗ - | Справочник.Пользователи КАК Получатели - | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи.КонтактнаяИнформация КАК Контакты - | ПО Контакты.Ссылка = Получатели.Ссылка - | И Контакты.Вид = &ВидПочтовогоАдресаПолучателей - |ГДЕ - | Получатели.Ссылка В ИЕРАРХИИ - | (ВЫБРАТЬ - | Получатель - | ИЗ - | ТаблицаПолучателей - | ГДЕ - | НЕ Исключен) - | И НЕ Получатели.Ссылка В ИЕРАРХИИ - | (ВЫБРАТЬ - | Получатель - | ИЗ - | ТаблицаПолучателей - | ГДЕ - | Исключен) - | И НЕ Получатели.ПометкаУдаления - | И &ЭтоНеГруппа - | - |УПОРЯДОЧИТЬ ПО - | Наименование - |ИТОГИ - | МАКСИМУМ(Наименование) КАК Наименование - |ПО - | Получатель"; - - Если Не ПолучателиМетаданные.Иерархический Тогда - // Не иерархический - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "В ИЕРАРХИИ", "В"); - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И &ЭтоНеГруппа", ""); - ИначеЕсли ПолучателиМетаданные.ВидИерархии = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияЭлементов Тогда - // Иерархия элементов - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И &ЭтоНеГруппа", ""); - Иначе - // Иерархия групп - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И &ЭтоНеГруппа", "И НЕ Получатели.ЭтоГруппа"); - КонецЕсли; - - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "Справочник.Пользователи", ПолучателиМетаданные.ПолноеИмя()); - - КонецЕсли; - - Запрос.УстановитьПараметр("ТаблицаПолучателей", ТаблицаПолучателей); - Если ЗначениеЗаполнено(ВидПочтовогоАдресаПолучателей) Тогда - Запрос.УстановитьПараметр("ВидПочтовогоАдресаПолучателей", ВидПочтовогоАдресаПолучателей); - Иначе - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ".Вид = &ВидПочтовогоАдресаПолучателей", ".Тип = &ТипПочтовогоАдреса"); - Запрос.УстановитьПараметр("ТипПочтовогоАдреса", Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты); - КонецЕсли; - Запрос.Текст = ТекстЗапроса; - - Попытка - РезультатЗапроса = Запрос.Выполнить(); - ВыборкаПолучатели = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); - Исключение - Возврат; - КонецПопытки; + СписокПолучателейРассылки = РассылкаОтчетов.СформироватьСписокПолучателейРассылки(ПараметрыПолучателей, Неопределено); МассивПолучателей = Новый Массив; - Пока ВыборкаПолучатели.Следующий() Цикл - Выборка = ВыборкаПолучатели.Выбрать(); + Для Каждого Получатель Из СписокПолучателейРассылки Цикл СтрокаПолучатели = Получатели.Добавить(); - СтрокаПолучатели.Получатель = ВыборкаПолучатели.Получатель; - МассивПолучателей.Добавить(СтрокаПолучатели.Получатель); - Пока Выборка.Следующий() Цикл - ТекущийАдрес = ?(ПустаяСтрока(СтрокаПолучатели.АдресЭлектроннойПочты), "", - СтрокаПолучатели.АдресЭлектроннойПочты + "; "); - СтрокаПолучатели.АдресЭлектроннойПочты = ТекущийАдрес + Выборка.EMail; - КонецЦикла; - КонецЦикла; + СтрокаПолучатели.Получатель = Получатель.Ключ; + МассивПолучателей.Добавить(Получатель.Ключ); + СтрокаПолучатели.АдресЭлектроннойПочты = Получатель.Значение; + КонецЦикла; ЗаполнитьПаролиАрхиваИСертификатыДляШифрования(МассивПолучателей); diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПолучателиРассылки/Module.bsl b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПолучателиРассылки/Module.bsl index adce2f7d0..e218be5a7 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПолучателиРассылки/Module.bsl +++ b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПолучателиРассылки/Module.bsl @@ -262,7 +262,7 @@ &НаСервере Процедура ЗаполнитьПочтовыеАдреса() - ПараметрыПолучателей = Новый Структура("Ссылка, ВидПочтовогоАдресаПолучателей, Личная, Получатели, ТипПолучателейРассылки"); + ПараметрыПолучателей = РассылкаОтчетовКлиентСервер.ПараметрыПолучателей(); ЗаполнитьЗначенияСвойств(ПараметрыПолучателей, ЭтотОбъект); ПараметрыПолучателей.Личная = Ложь; ПараметрыПолучателей.ТипПолучателейРассылки = ИдентификаторОбъектаМетаданных; @@ -327,19 +327,29 @@ &НаКлиентеНаСервереБезКонтекста Процедура ОбновитьКоличествоПолучателей(Форма) + + ПараметрыПолучателей = РассылкаОтчетовКлиентСервер.ПараметрыПолучателей(); + ЗаполнитьЗначенияСвойств(ПараметрыПолучателей, Форма); + ПараметрыПолучателей.Личная = Ложь; + ПараметрыПолучателей.ТипПолучателейРассылки = Форма.ИдентификаторОбъектаМетаданных; - КоличествоПолучателей = КоличествоПолучателейСУчетомГрупп(Форма.Получатели, - Форма.ИдентификаторОбъектаМетаданных); + КоличествоПолучателей = КоличествоПолучателейСУчетомГрупп(ПараметрыПолучателей); Форма.ИтогВсего = КоличествоПолучателей.Всего; - Форма.ИтогИсключены = КоличествоПолучателей.Исключены; + Если КоличествоПолучателей.Исключены <> Неопределено Тогда + Форма.ИтогИсключены = КоличествоПолучателей.Исключены; + Форма.Элементы.ИтогИсключены.Видимость = Истина; + Иначе + Форма.ИтогИсключены = 0; + Форма.Элементы.ИтогИсключены.Видимость = Ложь; + КонецЕсли; КонецПроцедуры &НаСервереБезКонтекста -Функция КоличествоПолучателейСУчетомГрупп(Знач Получатели, Знач ИдентификаторОбъектаМетаданных) +Функция КоличествоПолучателейСУчетомГрупп(Знач ПараметрыПолучателей) - Возврат Справочники.РассылкиОтчетов.КоличествоПолучателейСУчетомГрупп(Получатели, ИдентификаторОбъектаМетаданных); + Возврат Справочники.РассылкиОтчетов.КоличествоПолучателейСУчетомГрупп(ПараметрыПолучателей); КонецФункции diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаЭлемента/Module.bsl index 2af3ccf30..f9c6ae314 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаЭлемента/Module.bsl @@ -3536,8 +3536,14 @@ Остаток = 75 - ПредставлениеОтключенных.ДлинаКраткого; Представление = РассылкаОтчетовКлиентСервер.ПредставлениеСписка(Включенные, "Получатель", Остаток); - КоличествоПолучателей = КоличествоПолучателейСУчетомГрупп(Форма.Объект.Получатели, - Форма.Объект.ТипПолучателейРассылки); + ПараметрыПолучателей = РассылкаОтчетовКлиентСервер.ПараметрыПолучателей(); + ПараметрыПолучателей.Ссылка = Форма.Объект.Ссылка; + ПараметрыПолучателей.ВидПочтовогоАдресаПолучателей = Форма.Объект.ВидПочтовогоАдресаПолучателей; + ПараметрыПолучателей.Личная = Форма.Объект.Личная; + ПараметрыПолучателей.ТипПолучателейРассылки = Форма.Объект.ТипПолучателейРассылки; + ПараметрыПолучателей.Получатели = Форма.Объект.Получатели; + + КоличествоПолучателей = КоличествоПолучателейСУчетомГрупп(ПараметрыПолучателей); Если КоличествоПолучателей.Всего = 0 Тогда Представление.Краткое = НСтр("ru = '<Укажите получателей>'"); @@ -3551,7 +3557,7 @@ Представление.Краткое = Представление.Краткое + ", ..."; КонецЕсли; - Если КоличествоПолучателей.Исключены > 0 Тогда + Если КоличествоПолучателей.Исключены <> Неопределено И КоличествоПолучателей.Исключены > 0 Тогда ШаблонРазделения = НСтр("ru = 'Кроме'")+ ": "; Представление.Полное = Представление.Полное + ";" + Символы.ПС + ШаблонРазделения + ПредставлениеОтключенных.Полное; Если Представление.ДлинаКраткого + ПредставлениеОтключенных.ДлинаКраткого <= 75 Тогда @@ -3560,7 +3566,7 @@ КонецЕсли; Если Представление.МаксимумПревышен Или ПредставлениеОтключенных.МаксимумПревышен Тогда - Если КоличествоПолучателей.Исключены > 0 Тогда + Если КоличествоПолучателей.Исключены <> Неопределено И КоличествоПолучателей.Исключены > 0 Тогда ШаблонОкончания = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = '(всего %1, исключая %2)'"), КоличествоПолучателей.Всего, @@ -3577,9 +3583,9 @@ КонецФункции &НаСервереБезКонтекста -Функция КоличествоПолучателейСУчетомГрупп(Знач Получатели, Знач ИдентификаторОбъектаМетаданных) +Функция КоличествоПолучателейСУчетомГрупп(ПараметрыПолучателей) - Возврат Справочники.РассылкиОтчетов.КоличествоПолучателейСУчетомГрупп(Получатели, ИдентификаторОбъектаМетаданных); + Возврат Справочники.РассылкиОтчетов.КоличествоПолучателейСУчетомГрупп(ПараметрыПолучателей); КонецФункции @@ -4094,118 +4100,32 @@ &НаСервере Функция ПолучитьПервогоПолучателя() - + + ПараметрыПолучателей = РассылкаОтчетовКлиентСервер.ПараметрыПолучателей(); + ПараметрыПолучателей.Получатели = Объект.Получатели; + ПараметрыПолучателей.Автор = Объект.Автор; + ПараметрыПолучателей.Личная = Объект.Личная; + ПараметрыПолучателей.ТипПолучателейРассылки = Объект.ТипПолучателейРассылки; + ПараметрыПолучателей.ВидПочтовогоАдресаПолучателей = Объект.ВидПочтовогоАдресаПолучателей; + + СписокПолучателейРассылки = РассылкаОтчетов.СформироватьСписокПолучателейРассылки(ПараметрыПолучателей, Неопределено); + ПолучателиМетаданные = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Объект.ТипПолучателейРассылки, Ложь); ТипПолучателей = Объект.ТипПолучателейРассылки.КлючОбъектаМетаданных.Получить(); - Запрос = Новый Запрос; - - Если ТипПолучателей = Тип("СправочникСсылка.Пользователи") Тогда - - ТекстЗапроса = - "ВЫБРАТЬ - | ТаблицаПолучателей.Получатель, - | ТаблицаПолучателей.Исключен - |ПОМЕСТИТЬ ТаблицаПолучателей - |ИЗ - | &ТаблицаПолучателей КАК ТаблицаПолучателей - |; - | - |//////////////////////////////////////////////////////////////////////////////// - |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ - | Пользователь.Ссылка КАК Получатель, - | МАКСИМУМ(ТаблицаПолучателей.Исключен) КАК Исключен, - | Пользователи.Наименование - |ПОМЕСТИТЬ Получатели - |ИЗ - | ТаблицаПолучателей КАК ТаблицаПолучателей - | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей - | ПО СоставыГруппПользователей.ГруппаПользователей = ТаблицаПолучателей.Получатель - | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи - | ПО Пользователи.Ссылка = СоставыГруппПользователей.Пользователь - |ГДЕ - | НЕ Пользователи.ПометкаУдаления - | И НЕ Пользователи.Недействителен - | И НЕ Пользователи.Служебный - |СГРУППИРОВАТЬ ПО - | Пользователь.Ссылка, - | Пользователи.Наименование - |; - | - |//////////////////////////////////////////////////////////////////////////////// - |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ ПЕРВЫЕ 1 - | Получатели.Получатель КАК Получатель, - | Получатели.Наименование КАК Наименование - |ИЗ - | Получатели КАК Получатели - |ГДЕ - | НЕ Получатели.Исключен - | - |УПОРЯДОЧИТЬ ПО - | Наименование"; - - Иначе - - ТекстЗапроса = - "ВЫБРАТЬ - | ТаблицаПолучателей.Получатель, - | ТаблицаПолучателей.Исключен - |ПОМЕСТИТЬ ТаблицаПолучателей - |ИЗ - | &ТаблицаПолучателей КАК ТаблицаПолучателей - |; - | - |//////////////////////////////////////////////////////////////////////////////// - |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ ПЕРВЫЕ 1 - | Получатели.Ссылка КАК Получатель, - | Получатели.Наименование КАК Наименование - |ИЗ - | Справочник.Пользователи КАК Получатели - |ГДЕ - | Получатели.Ссылка В ИЕРАРХИИ - | (ВЫБРАТЬ - | Получатель - | ИЗ - | ТаблицаПолучателей - | ГДЕ - | НЕ Исключен) - | И НЕ Получатели.ПометкаУдаления - | И &ЭтоНеГруппа - | - |УПОРЯДОЧИТЬ ПО - | Наименование"; - - Если Не ПолучателиМетаданные.Иерархический Тогда - // Не иерархический - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "В ИЕРАРХИИ", "В"); - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И &ЭтоНеГруппа", ""); - ИначеЕсли ПолучателиМетаданные.ВидИерархии = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияЭлементов Тогда - // Иерархия элементов - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И &ЭтоНеГруппа", ""); - Иначе - // Иерархия групп - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И &ЭтоНеГруппа", "И НЕ Получатели.ЭтоГруппа"); - КонецЕсли; - - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "Справочник.Пользователи", ПолучателиМетаданные.ПолноеИмя()); - - КонецЕсли; - - Запрос.УстановитьПараметр("ТаблицаПолучателей", Объект.Получатели.Выгрузить()); - Запрос.Текст = ТекстЗапроса; - ПервыйПолучатель = Новый Структура ("Наименование, Ссылка", "", Новый (ТипПолучателей)); - РезультатЗапроса = Запрос.Выполнить(); - Выборка = РезультатЗапроса.Выбрать(); - - Если Выборка.Следующий() Тогда - ПервыйПолучатель.Наименование = Выборка.Наименование; - ПервыйПолучатель.Ссылка = Выборка.Получатель; + Для Каждого Получатель Из СписокПолучателейРассылки Цикл + ПервыйПолучатель.Ссылка = Получатель.Ключ; + Прервать; + КонецЦикла; + + Если ЗначениеЗаполнено(ПервыйПолучатель.Ссылка) Тогда + ПервыйПолучатель.Наименование = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПервыйПолучатель.Ссылка, "Наименование"); КонецЕсли; Возврат ПервыйПолучатель; - + КонецФункции &НаСервере diff --git a/SSL/src/Catalogs/РассылкиОтчетов/ManagerModule.bsl b/SSL/src/Catalogs/РассылкиОтчетов/ManagerModule.bsl index cff358895..bf0e52d51 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/ManagerModule.bsl +++ b/SSL/src/Catalogs/РассылкиОтчетов/ManagerModule.bsl @@ -292,21 +292,31 @@ КонецПроцедуры -Функция КоличествоПолучателейСУчетомГрупп(Знач Получатели, Знач ИдентификаторОбъектаМетаданных) Экспорт +Функция КоличествоПолучателейСУчетомГрупп(Знач ПараметрыПолучателей) Экспорт - КоличествоПолучателей = Новый Структура("Всего, Исключены", 0, 0); - - Если ИдентификаторОбъектаМетаданных = Неопределено Тогда + КоличествоПолучателей = Новый Структура("Всего, Исключены", 0, Неопределено); + + Если ПараметрыПолучателей.ТипПолучателейРассылки = Неопределено Тогда Возврат КоличествоПолучателей; КонецЕсли; - - ПолучателиМетаданные = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(ИдентификаторОбъектаМетаданных, Ложь); + + Запрос = Новый Запрос; + СписокПолучателей = Новый Соответствие; + РассылкаОтчетовПереопределяемый.ПередФормированиемСпискаПолучателейРассылки(ПараметрыПолучателей, Запрос, Истина, СписокПолучателей); + + Если ЗначениеЗаполнено(Запрос.Текст) Тогда + ПолучателиРассылки = РассылкаОтчетов.СформироватьСписокПолучателейРассылки(ПараметрыПолучателей, Неопределено); + КоличествоПолучателей.Всего = ПолучателиРассылки.Количество(); + Возврат КоличествоПолучателей; + КонецЕсли; + + ПолучателиМетаданные = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(ПараметрыПолучателей.ТипПолучателейРассылки, Ложь); Если ПолучателиМетаданные = Неопределено Или ПолучателиМетаданные = Null Тогда Возврат КоличествоПолучателей; КонецЕсли; - ТипПолучателей = ИдентификаторОбъектаМетаданных.КлючОбъектаМетаданных.Получить(); + ТипПолучателей = ПараметрыПолучателей.ТипПолучателейРассылки.КлючОбъектаМетаданных.Получить(); Запрос = Новый Запрос; @@ -439,7 +449,7 @@ КонецЕсли; - Запрос.УстановитьПараметр("ТаблицаПолучателей", Получатели.Выгрузить()); + Запрос.УстановитьПараметр("ТаблицаПолучателей", ПараметрыПолучателей.Получатели.Выгрузить()); Запрос.Текст = ТекстЗапроса; Попытка diff --git a/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаСписка/Module.bsl index c34117124..a282c076a 100644 --- a/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаСписка/Module.bsl @@ -45,7 +45,7 @@ | ПО ИсполнителиЗадач.РольИсполнителя = СправочникРолиИсполнителей.Ссылка |;"; - Если ПолучитьФункциональнуюОпцию("ИспользоватьВнешнихПользователей") Тогда + Если Не ПолучитьФункциональнуюОпцию("ИспользоватьВнешнихПользователей") Тогда ТекстЗапроса = ТекстЗапроса + "ВЫБРАТЬ | СправочникРолиИсполнителей.Ссылка, @@ -78,7 +78,15 @@ Иначе - ТекстЗапроса = ТекстЗапроса + "ВЫБРАТЬ + ТекстЗапроса = ТекстЗапроса + " + |ВЫБРАТЬ РАЗЛИЧНЫЕ + | РолиИсполнителейНазначение.Ссылка КАК Ссылка, + | РолиИсполнителейНазначение.ТипПользователей КАК ТипПользователей + |ПОМЕСТИТЬ РолиИсполнителейНазначение + |ИЗ + | Справочник.РолиИсполнителей.Назначение КАК РолиИсполнителейНазначение + |; + |ВЫБРАТЬ | СправочникРолиИсполнителей.Ссылка, | СправочникРолиИсполнителей.ПометкаУдаления, | СправочникРолиИсполнителей.Предопределенный, @@ -105,7 +113,7 @@ | СправочникРолиИсполнителей.ВнешняяРоль, | СправочникРолиИсполнителей.КраткоеПредставление |ИЗ - | Справочник.РолиИсполнителей.Назначение КАК РолиИсполнителейНазначение + | РолиИсполнителейНазначение КАК РолиИсполнителейНазначение | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РолиИсполнителей КАК СправочникРолиИсполнителей | ПО РолиИсполнителейНазначение.Ссылка = СправочникРолиИсполнителей.Ссылка |ГДЕ diff --git a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ПодписаниеДанных/Form.form b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ПодписаниеДанных/Form.form index 486dbe762..4a3bf5e3c 100644 --- a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ПодписаниеДанных/Form.form +++ b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ПодписаниеДанных/Form.form @@ -879,6 +879,20 @@ true true true + + СертификатПредставителя + + Сертификат + + + + ТолькоДействующие + + + true + + + Normal diff --git a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ПодписаниеДанных/Module.bsl b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ПодписаниеДанных/Module.bsl index f8d4f1eb6..8b93d2241 100644 --- a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ПодписаниеДанных/Module.bsl +++ b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ПодписаниеДанных/Module.bsl @@ -623,6 +623,12 @@ &НаСервере Процедура ПодобратьДоверенность() + Если Не ЭтоАдресВременногоХранилища(СертификатАдрес) Тогда + Возврат; + КонецЕсли; + + // Локализация + Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда Возврат; КонецЕсли; @@ -636,7 +642,7 @@ ОтборДляДоверенностейПоСертификату = МодульМашиночитаемыеДоверенностиФНС.ОтборДляДоверенностейПоСертификату(СертификатКриптографии); ВыбранныеПоля = Новый Массив; ВыбранныеПоля.Добавить("МашиночитаемаяДоверенность"); - ВыбранныеПоля.Добавить("Представление"); + ВыбранныеПоля.Добавить("Наименование"); ВыбранныеПоля.Добавить("ДатаВыдачи"); Доверенности = МодульМашиночитаемыеДоверенностиФНС.ДоверенностиСОтбором(ОтборДляДоверенностейПоСертификату, ВыбранныеПоля); @@ -645,10 +651,12 @@ Элементы.МашиночитаемаяДоверенность.СписокВыбора.Очистить(); Для Каждого Строка Из Доверенности Цикл Элементы.МашиночитаемаяДоверенность.СписокВыбора.Добавить(Строка.МашиночитаемаяДоверенность, - СтрШаблон("%1, %2", Строка.Представление, Формат(Строка.ДатаВыдачи, "ДЛФ=D"))); + СтрШаблон("%1, %2", Строка.Наименование, Формат(Строка.ДатаВыдачи, "ДЛФ=D"))); КонецЦикла; МашиночитаемаяДоверенность = Элементы.МашиночитаемаяДоверенность.СписокВыбора[0].Значение; КонецЕсли; + + // Конец Локализация КонецПроцедуры diff --git a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ФормаЭлемента/Form.form index d26174345..568d4c1fe 100644 --- a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ФормаЭлемента/Form.form @@ -2448,6 +2448,7 @@ ПодобратьФизическоеЛицо + true Auto Auto diff --git a/SSL/src/CommonAttributes/ОбластьДанныхОсновныеДанные/ОбластьДанныхОсновныеДанные.mdo b/SSL/src/CommonAttributes/ОбластьДанныхОсновныеДанные/ОбластьДанныхОсновныеДанные.mdo index b54a52460..bba42ab17 100644 --- a/SSL/src/CommonAttributes/ОбластьДанныхОсновныеДанные/ОбластьДанныхОсновныеДанные.mdo +++ b/SSL/src/CommonAttributes/ОбластьДанныхОсновныеДанные/ОбластьДанныхОсновныеДанные.mdo @@ -370,6 +370,10 @@ ScheduledJob.ОбновлениеАгрегатов DontUse + + InformationRegister.КлассификаторыМЧД + DontUse + InformationRegister.ДополнительныеАдресныеСведения DontUse @@ -602,6 +606,10 @@ InformationRegister.СообщенияОбменаДаннымиОбластейДанных DontUse + + ScheduledJob.ОбновлениеКлассификаторовМЧД + DontUse + ScheduledJob.СборИОтправкаСтатистики DontUse diff --git a/SSL/src/CommonForms/НастройкиЭлектроннойПодписиИШифрования/Module.bsl b/SSL/src/CommonForms/НастройкиЭлектроннойПодписиИШифрования/Module.bsl index 60b01e727..3a2f9cf6c 100644 --- a/SSL/src/CommonForms/НастройкиЭлектроннойПодписиИШифрования/Module.bsl +++ b/SSL/src/CommonForms/НастройкиЭлектроннойПодписиИШифрования/Module.bsl @@ -22,10 +22,9 @@ // Локализация - Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") - И (Пользователи.ЭтоПолноправныйПользователь() Или ПравоДоступа("Просмотр", Метаданные.Справочники.МашиночитаемыеДоверенности)) Тогда - Элементы.ОткрытьМашиночитаемыеДоверенности.Видимость = Истина; - Элементы.ОткрытьМашиночитаемыеДоверенности.Заголовок = Метаданные.Справочники["МашиночитаемыеДоверенности"].Синоним; + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда + МодульМашиночитаемыеДоверенностиФНССлужебный = ОбщегоНазначения.ОбщийМодуль("МашиночитаемыеДоверенностиФНССлужебный"); + МодульМашиночитаемыеДоверенностиФНССлужебный.ПриСозданииНаСервере(ЭтотОбъект); КонецЕсли; // Конец Локализация diff --git a/SSL/src/CommonForms/ПечатьДокументов/Module.bsl b/SSL/src/CommonForms/ПечатьДокументов/Module.bsl index fea0fe601..11e1c5825 100644 --- a/SSL/src/CommonForms/ПечатьДокументов/Module.bsl +++ b/SSL/src/CommonForms/ПечатьДокументов/Module.bsl @@ -1541,12 +1541,12 @@ Для Каждого ФайлДляЗаписи Из Контекст.ФайлыВоВременномХранилище Цикл Вызов = Новый Массив; Вызов.Добавить("ЗапуститьПриложение"); - Вызов.Добавить(ПолученныйВременныйКаталог+ФайлДляЗаписи.Представление); + Вызов.Добавить(ПолученныйВременныйКаталог+ПолучитьРазделительПути()+ФайлДляЗаписи.Представление); Вызов.Добавить(); Вызов.Добавить(Ложь); Вызовы.Добавить(Вызов); - МассивПередаваемыхФайлов.Добавить(Новый ОписаниеПередаваемогоФайла(ПолученныйВременныйКаталог+ФайлДляЗаписи.Представление, ФайлДляЗаписи.АдресВоВременномХранилище)); + МассивПередаваемыхФайлов.Добавить(Новый ОписаниеПередаваемогоФайла(ПолученныйВременныйКаталог+ПолучитьРазделительПути()+ФайлДляЗаписи.Представление, ФайлДляЗаписи.АдресВоВременномХранилище)); КонецЦикла; Вызов = Новый Массив; diff --git a/SSL/src/CommonForms/РедактированиеДокументаOfficeOpen/Module.bsl b/SSL/src/CommonForms/РедактированиеДокументаOfficeOpen/Module.bsl index 4752b2f09..edebfccf4 100644 --- a/SSL/src/CommonForms/РедактированиеДокументаOfficeOpen/Module.bsl +++ b/SSL/src/CommonForms/РедактированиеДокументаOfficeOpen/Module.bsl @@ -332,6 +332,7 @@ Процедура ПоместитьВБуферОбмена(Команда) ДокументHTML = Элементы.ПолеHTML.Документ; + ДокументHTML.defaultView.value_to_copy = ПолучитьЗначениеТекущейСтроки(); Кнопка = ДокументHTML.getElementById("myb"); Если Кнопка = Неопределено Тогда ПоказатьПредупреждение(,НСтр("ru = 'Выберите поле объекта, оператор или функцию.'")); @@ -794,17 +795,18 @@ | | |