#Область ГлобальныеПеременные
&НаКлиенте
Перем КонтекстЭДОКлиент;
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервереБезКонтекста
Функция НайтиСводкуПоСсылке(Знач Ссылка, Отчет)
Для ш = 1 по Отчет.Сводка.Количество() Цикл
Запись=Отчет.Сводка[ш-1];
Если Запись.Ссылка = Ссылка Тогда
Возврат ш-1;
КонецЕсли;
КонецЦикла;
Возврат Неопределено;
КонецФункции
&НаСервере
Функция ЗаполнитьДоверенностьНаСервере(ДоверенностьНалогоплательщика, НаОсновании = Неопределено, КПП, ВладелецФ, ВладелецИ, ВладелецО)
Если НаОсновании <> Неопределено Тогда
МетаДН = Метаданные.Справочники.ДоверенностиНалогоплательщика;
Для Каждого Реквизит из МетаДН.Реквизиты Цикл
ДоверенностьНалогоплательщика[Реквизит.Имя] = НаОсновании[Реквизит.Имя];
КонецЦикла;
ДоверенностьНалогоплательщика.ДатаВыдачи = '00010101';
ДоверенностьНалогоплательщика.ДатаОкончания = '00010101';
ДоверенностьНалогоплательщика.НомерДовер = "";
Для Каждого МетаТЧ из МетаДН.ТабличныеЧасти Цикл
ДоверенностьНалогоплательщика[МетаТЧ.Имя].Очистить();
Для Каждого Строка из НаОсновании[МетаТЧ.Имя] Цикл
СтрокаНов = ДоверенностьНалогоплательщика[МетаТЧ.Имя].Добавить();
Для Каждого Реквизит из МетаТЧ.Реквизиты Цикл
СтрокаНов[Реквизит.Имя] = Строка[Реквизит.Имя];
КонецЦикла;
КонецЦикла;
КонецЦикла;
Возврат Истина;
КонецЕсли;
ДоверенностьНалогоплательщика.ПредставительЯвляетсяСотрудником = Истина;
ДоверенностьНалогоплательщика.ПризнакДоверителя = 1;
ФИО = ДоверенностьНалогоплательщика.ФИО.Добавить();
ФИО.Владелец = Перечисления.СубъектыДоверенностиНалогоплательщика.ПредставительФЛ;
ФИО.Фамилия = ВладелецФ;
ФИО.Имя = ВладелецИ;
ФИО.Отчество = ВладелецО;
Полномочие = ДоверенностьНалогоплательщика.ПолномочияПредставителя.Добавить();
Полномочие.ПризнакПолныеПолномочия = Истина;
Полномочие.КПП = КПП;
КонецФункции
&НаСервере
Функция ЗаполнитьРегистрациюНаСервере(
Регистрация,
Организация,
Доверенность,
КодИФНС,
КодОКАТО,
КодОКТМО,
КПП,
НаименованиеИФНС="",
НаименованиеПодразделения,
Представитель);
Если Регистрация = Неопределено Тогда
НоваяРегистрация = Справочники.РегистрацииВНалоговомОргане.СоздатьЭлемент();
Иначе
НоваяРегистрация = Регистрация.ПолучитьОбъект();
КонецЕсли;
НесколькоПодписантов = Регистрация.Подписанты.Количество() > 0;
Если НесколькоПодписантов Тогда
НоваяСтрока = Регистрация.Подписанты.Добавить();
Приемник = НоваяСтрока;
Иначе
Приемник = НоваяРегистрация;
КонецЕсли;
Приемник.Доверенность = Доверенность;
Приемник.ДокументПредставителя = Строка(НоваяРегистрация.Доверенность);
Приемник.Представитель = Представитель;
НоваяРегистрация.Записать();
Возврат НоваяРегистрация.Ссылка;
КонецФункции
&НаКлиенте
Функция КомпонентаКриптографииУстановлена(ОповещениеЗавершения)
Попытка
МенеджерКриптографии = Новый("Addin.ЭДОNative.CryptS");
ВыполнитьОбработкуОповещения(ОповещениеЗавершения, 0);
Возврат Истина;
Исключение
МенеджерКриптографии = Неопределено;
КонецПопытки;
ВхПараметры = Новый Структура("ЭтоЗаявлениеНаПодключение", Истина);
ВхПараметры.Вставить("ПутьВК", ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.ПолучитьПутьВК());
ВхПараметры.Вставить("ОповещениеЗавершения", ОповещениеЗавершения);
ВхПараметры.Вставить("МенеджерКриптографии", МенеджерКриптографии);
Оповещение = Новый ОписаниеОповещения("НачатьПодключениеВнешнейКомпонентыЗавершение", ЭтотОбъект, ВхПараметры);
НачатьПодключениеВнешнейКомпоненты(Оповещение, ВхПараметры.ПутьВК, "ЭДОNative");
Возврат Ложь;
КонецФункции
&НаКлиенте
Процедура КомпонентаКриптографииУстановленаЗавершение(Результат, ВхПараметры) Экспорт
Если Результат = 0 Тогда
РезультатПодключенияКК = "Компонент криптографии подключен успешно";
ИначеЕсли Результат = 1 Тогда
РезультатПодключенияКК = "Установка и подключение компонента криптографии успешно завершена";
ИначеЕсли Результат = 2 Тогда
РезультатПодключенияКК = "Не удалось подключить компонент криптографии";
Иначе
РезультатПодключенияКК = "Не удалось подключить компонент криптографии, код = " + Результат;
КонецЕсли;
ТекстСообщения = "ru = '%1'";
ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", РезультатПодключенияКК);
Сообщение = НСтр(ТекстСообщения);
ОбщегоНазначенияКлиент.СообщитьПользователю(Сообщение);
КонецПроцедуры
&НаКлиенте
Процедура НачатьУстановкуВнешнейКомпонентыЗавершение(ВхПараметры) Экспорт
Оповещение = Новый ОписаниеОповещения("НачатьПодключениеВнешнейКомпонентыЗавершение", ЭтотОбъект, ВхПараметры);
НачатьПодключениеВнешнейКомпоненты(Оповещение, ВхПараметры.ПутьВК, "ЭДОNative");
КонецПроцедуры
&НаКлиенте
Процедура НачатьУстановкуВнешнейКомпонентыЗавершениеСОшибкой(Параметр) Экспорт
ВыполнитьОбработкуОповещения(Параметр.ОповещениеЗавершения, 1);
КонецПроцедуры
&НаКлиенте
Процедура НачатьПодключениеВнешнейКомпонентыЗавершение(Результат, ВхПараметры) Экспорт
Если Результат Тогда
Первичное = ВхПараметры<>Неопределено и ВхПараметры.Свойство("ЭтоЗаявлениеНаПодключение") и ВхПараметры.ЭтоЗаявлениеНаПодключение;
ВыполнитьОбработкуОповещения(ВхПараметры.ОповещениеЗавершения, ?(Первичное, 0, 1));
Иначе
Если ВхПараметры<>Неопределено и ВхПараметры.Свойство("ЭтоЗаявлениеНаПодключение") и ВхПараметры.ЭтоЗаявлениеНаПодключение Тогда
ВхПараметры.ЭтоЗаявлениеНаПодключение = Ложь;
Оповещение = Новый ОписаниеОповещения("НачатьУстановкуВнешнейКомпонентыЗавершение", ЭтотОбъект, ВхПараметры, "НачатьУстановкуВнешнейКомпонентыЗавершениеСОшибкой", ЭтотОбъект);
НачатьУстановкуВнешнейКомпоненты(Оповещение, ВхПараметры.ПутьВК);
Иначе
ВыполнитьОбработкуОповещения(ВхПараметры.ОповещениеЗавершения, 2);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ДобавитьНовуюДоверенность(Результат, ВхПараметры) Экспорт
Если ТипЗнч(Параметры.Сводка) = Тип("Структура") Тогда
Сводка = Параметры.Сводка;
Иначе
ИндексСводки = НайтиСводкуПоСсылке(Результат, ВхПараметры.Отчет);
Если ИндексСводки = Неопределено Тогда
Возврат;
КонецЕсли;
Сводка = ВхПараметры.Отчет.Сводка[ИндексСводки];
КонецЕсли;
Запись = ВхПараметры.Отчет.Проверки.ПроверкаУчетнойЗаписи.ИнформацияДоверенности[Сводка.ИндексЗаписи];
ВладелецЭП = ВхПараметры.Автонастройка.ВладелецЭП;
НаОсновании = Неопределено;
Для Каждого Проблема из Запись.Проблемы Цикл
Если Запись.Проблемы.Количество()=1 И Проблема.Код = 779 Тогда
НаОсновании = Запись.Доверенность;
Прервать;
КонецЕсли;
КонецЦикла;
ПараметрыОткрытияФормы = Новый Структура();
ПараметрыОткрытияФормы.Вставить("Организация", ВхПараметры.Организация);
Форма = ПолучитьФорму("Справочник.ДоверенностиНалогоплательщика.Форма.ФормаЭлемента", ПараметрыОткрытияФормы, ЭтотОбъект.ВладелецФормы);
Форма.РежимОткрытияОкна = РежимОткрытияОкнаФормы.Независимый;
ПараметрыЗавершения = Новый Структура("Форма", Форма);
ПараметрыЗавершения.Вставить("Регистрация", Запись.Регистрация);
ПараметрыЗавершения.Вставить("КодПолучателя", Запись.КодПолучателя);
ПараметрыЗавершения.Вставить("КПП", Запись.КПП);
ПараметрыЗавершения.Вставить("ВладелецЭПФамилия", ВладелецЭП.Фамилия);
ПараметрыЗавершения.Вставить("ВладелецЭПИмя", ВладелецЭП.Имя);
ПараметрыЗавершения.Вставить("ВладелецЭПОтчество", ВладелецЭП.Отчество);
ПараметрыЗавершения.Вставить("ВладелецЭПСНИЛС", ВладелецЭП.СНИЛС);
ПараметрыЗавершения.Вставить("Организация", ВхПараметры.Организация);
Форма.ОписаниеОповещенияОЗакрытии = Новый ОписаниеОповещения("ДобавитьНовуюДоверенностьЗавершение", ЭтаФорма, ПараметрыЗавершения);
Форма.Объект.Владелец = ВхПараметры.Организация;
ДанныеФормы = Форма.Объект;
ЗаполнитьДоверенностьНаСервере(ДанныеФормы, НаОсновании, Запись.КПП, ВладелецЭП.Фамилия, ВладелецЭП.Имя, ВладелецЭП.Отчество);
КопироватьДанныеФормы(ДанныеФормы, Форма.Объект);
ОткрытьФорму(Форма);
КонецПроцедуры
&НаКлиенте
Процедура ДобавитьНовуюДоверенностьЗавершение(Результат, ВхПараметры) Экспорт
Если ВхПараметры.Форма.Объект.Ссылка.Пустая() Тогда
Возврат;
КонецЕсли;
Доверенность = ВхПараметры.Форма.Объект.Ссылка;
Представитель = МультирежимВызовСервера.ФизЛицоПоФИОиСНИЛС(
ВхПараметры.ВладелецЭПФамилия,
ВхПараметры.ВладелецЭПИмя,
ВхПараметры.ВладелецЭПОтчество,
ВхПараметры.ВладелецЭПСНИЛС);
РегистрацияВНалоговомОргане = ЗаполнитьРегистрациюНаСервере(
ВхПараметры.Регистрация,
ВхПараметры.Организация,
Доверенность,
ВхПараметры.КодПолучателя,
"", "",
ВхПараметры.КПП,
"", "",
Представитель);
КонецПроцедуры
&НаКлиенте
Процедура ОбщееДействиеНастройкаНерасшифровываемых(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если КонтекстЭДОКлиент = Неопределено Тогда
Возврат;
КонецЕсли;
ПараметрыОткрытияФормы = Новый Структура();
ФормаРезультат = ПолучитьФорму(КонтекстЭДОКлиент.ПутьКОбъекту + ".Форма.Нерасшифровываемые_УправлениеОшибкамиОбмена", ПараметрыОткрытияФормы, ЭтотОбъект.ВладелецФормы);
ФормаРезультат.Открыть();
КонецПроцедуры
&НаКлиенте
Процедура ОбщееДействиеПродлениеЛицензии(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если КонтекстЭДОКлиент = Неопределено Тогда
Возврат;
КонецЕсли;
ПараметрыОткрытияФормы = Новый Структура();
ПараметрыОткрытияФормы.Вставить("Организация", Параметры.Организация);
Если ТипЗнч(НавигационнаяСсылкаФорматированнойСтроки) = Тип("Структура") Тогда
ПараметрыОткрытияФормы.Вставить("АктивироватьФлагиМастера", НавигационнаяСсылкаФорматированнойСтроки);
КонецЕсли;
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОткрытьФормуМастераЗаявленияНаПодключение(
,
ЭтотОбъект,
,
ПредопределенноеЗначение("Перечисление.ТипыЗаявленияАбонентаСпецоператораСвязи.Изменение"),
ПараметрыОткрытияФормы);
КонецПроцедуры
&НаКлиенте
Процедура ОбщееДействиеСписокЗаявлений(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если КонтекстЭДОКлиент = Неопределено Тогда
Возврат;
КонецЕсли;
КонтекстЭДОКлиент.ОткрытьФормуСпискаЗаявленийНаПодключение(Параметры.Организация);
КонецПроцедуры
&НаКлиенте
Процедура ОбщееДействиеНастроитьПрокси(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОткрытьФорму("ОбщаяФорма.ПараметрыПроксиСервера");
КонецПроцедуры
&НаКлиенте
Процедура ОбщееДействиеПродлениеСертификата(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если КонтекстЭДОКлиент = Неопределено Тогда
Возврат;
КонецЕсли;
ПараметрыОткрытияФормы = Новый Структура();
ПараметрыОткрытияФормы.Вставить("Организация", Параметры.Организация);
Если ТипЗнч(НавигационнаяСсылкаФорматированнойСтроки) = Тип("Структура") Тогда
ПараметрыОткрытияФормы.Вставить("АктивироватьФлагиМастера", НавигационнаяСсылкаФорматированнойСтроки);
КонецЕсли;
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОткрытьФормуМастераЗаявленияНаПодключение(
,
ЭтотОбъект,
,
ПредопределенноеЗначение("Перечисление.ТипыЗаявленияАбонентаСпецоператораСвязи.Изменение"),
ПараметрыОткрытияФормы);
КонецПроцедуры
&НаКлиенте
Процедура ОбщееДействиеДобавлениеДоверенности(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ВхПараметры = Новый Структура("Отчет", Параметры.Отчет);
ВхПараметры.Вставить("Организация", Параметры.Организация);
ВхПараметры.Вставить("Автонастройка", Параметры.Автонастройка);
ДобавитьНовуюДоверенность(Параметры.Сводка.Ссылка, ВхПараметры)
КонецПроцедуры
&НаКлиенте
Процедура ОбщееДействиеУстановкаВипнет(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка) Экспорт
СтандартнаяОбработка = Ложь;
Оповещение = Новый ОписаниеОповещения("ПустоеОповещение", ЭтотОбъект);
ОбщегоНазначенияЭДКОКлиент.УстановитьViPNetCSP(Оповещение, ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ОбщееДействиеУстановкаКК(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка) Экспорт
СтандартнаяОбработка = Ложь;
Оповещение = Новый ОписаниеОповещения("КомпонентаКриптографииУстановленаЗавершение", ЭтотОбъект, Неопределено);
КомпонентаКриптографииУстановлена(Оповещение)
КонецПроцедуры
&НаКлиенте
Процедура ОбщееДействиеУстановкаРасширения(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка) Экспорт
СтандартнаяОбработка = Ложь;
НачатьУстановкуРасширенияРаботыСФайлами();
КонецПроцедуры
&НаКлиенте
Процедура ОбщееДействиеЗагрузкаКриптопро(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка) Экспорт
СтандартнаяОбработка = Ложь;
Оповещение = Новый ОписаниеОповещения("ПустоеОповещение", ЭтотОбъект);
ОбщегоНазначенияЭДКОКлиент.УстановитьCryptoProCSP(Оповещение, ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ОбщееДействиеИнформацияОПодписке(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка) Экспорт
СтандартнаяОбработка = Ложь;
Если Элемент = "КПНастроить" Тогда
ИнтернетПоддержкаПользователейКлиент.ОткрытьСтраницуИнтегрированногоСайта("http://its.1c.ru/bmk/elreps/subscr");
ИначеЕсли Элемент = "КПИзменить" Тогда
Если КонтекстЭДОКлиент = Неопределено Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ПолучитьКонтекстЭДОИЗапуститьМастер", ЭтотОбъект, Новый Структура);
ДокументооборотСКОКлиент.ПолучитьКонтекстЭДО(ОписаниеОповещения);
Иначе
ОткрытьМастерПервичногоПодключения();
КонецЕсли;
Иначе
ПерейтиПоНавигационнойСсылке("https://1cfresh.com/articles/ES-key_storage_in_cloud");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбщееДействиеАвтонастройка(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка) Экспорт
СтандартнаяОбработка = Ложь;
ДополнительныеПараметры = Новый Структура("ИспользоватьИнтерактивноеУведомление", Истина);
ОписаниеОповещения = Новый ОписаниеОповещения("ПолучитьКонтекстЭДОРезультат", ЭтотОбъект.ВладелецФормы, ДополнительныеПараметры);
ДокументооборотСКОКлиент.ПолучитьКонтекстЭДО(ОписаниеОповещения);
КонецПроцедуры
&НаКлиенте
Процедура ПустоеОповещение(Результат, ДополнительныеПараметры) Экспорт
Возврат;
КонецПроцедуры
&НаКлиенте
Процедура ОбщееДействиеПроверитьКриптооперацииПовторно(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка) Экспорт
СтандартнаяОбработка = Ложь;
ООВозврата = Новый ОписаниеОповещения("ПустоеОповещение", ЭтаФорма, Неопределено);
ОО = Новый ОписаниеОповещения("ВыполнитьПроверкуКриптооперацийИзФормыПодробностей", ЭтаФорма.ВладелецФормы, ООВозврата);
ВыполнитьОбработкуОповещения(ОО, 0);
КонецПроцедуры
&НаКлиенте
Процедура ДействиеПереходПоСсылке(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка) Экспорт
СтандартнаяОбработка = Истина;
КонецПроцедуры
&НаКлиенте
Процедура ДинамическийЭлементОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка) Экспорт
СтандартнаяОбработка = Ложь;
Если Лев(НавигационнаяСсылкаФорматированнойСтроки, 4)="http" Тогда
ПерейтиПоНавигационнойСсылке(НавигационнаяСсылкаФорматированнойСтроки);
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПолучитьКриптопровайдераОтчета(Отчет, Автонастройка, ПараметрыКП = Неопределено)
Если Отчет.Проверки.ПроверкаУчетнойЗаписи.ИнформацияЛичногоСертификата.Криптопровайдер = Неопределено Тогда
Если ЗначениеЗаполнено(Автонастройка.ВладелецЭП.КриптопровайдерENUM) Тогда
ПараметрыКП = КриптографияЭДКОКлиентСервер.СвойстваКриптопровайдераПоУмолчанию(Автонастройка.ВладелецЭП.КриптопровайдерENUM);
КонецЕсли;
Возврат Автонастройка.ВладелецЭП.КриптопровайдерENUM;
КонецЕсли;
НеизвестныйКП = Отчет.Проверки.ПроверкаУчетнойЗаписи.ИнформацияЛичногоСертификата.Криптопровайдер;
СвойстваКриптопровайдера = КриптографияЭДКОКлиентСервер.СвойстваКриптопровайдера(НеизвестныйКП.Имя, НеизвестныйКП.Тип);
Если СвойстваКриптопровайдера <> Неопределено Тогда
ПараметрыКП = КриптографияЭДКОКлиентСервер.СвойстваКриптопровайдераПоУмолчанию(СвойстваКриптопровайдера.ТипКриптопровайдера);
Возврат СвойстваКриптопровайдера.ТипКриптопровайдера;
КонецЕсли;
Возврат Неопределено;
КонецФункции
&НаСервере
Функция ДобавитьНадпись(Знач Какую, Знач Куда = 0, Знач Очистить = Ложь, Знач Ссылка = Неопределено, Знач Действие = Неопределено, Знач Рекомендация = Ложь)
ШаблонДляТекстаРУ = "ru = '%1'";
СообщениеРУ = СтрЗаменить(ШаблонДляТекстаРУ, "%1", Какую);
Какую = НСтр(СообщениеРУ);
Если Куда = 0 Тогда
Группа = ЭтаФорма.Элементы.ГруппаДинамическихЭлементов;
Иначе
Группа = ЭтаФорма.Элементы.Найти(Куда);
Если Группа = Неопределено Тогда
Возврат "";
КонецЕсли;
КонецЕсли;
Если Очистить Тогда
Пока Группа.ПодчиненныеЭлементы.Количество()>0 Цикл
Для Каждого Подчиненный из Группа.ПодчиненныеЭлементы Цикл
Элементы.Удалить(Подчиненный);
КонецЦикла;
КонецЦикла;
Возврат "";
КонецЕсли;
Ид = Формат(ТекущаяУниверсальнаяДатаВМиллисекундах(), "ЧДЦ=; ЧН=; ЧГ=")+Формат(ЭтаФорма.Элементы.Количество(), "ЧДЦ=; ЧН=; ЧГ=");
Кому = ЭтаФорма.Элементы.Добавить("ДинамическаяНадпись"+Ид, Тип("ДекорацияФормы"), Группа);
Кому.Вид = ВидДекорацииФормы.Надпись;
Кому.РастягиватьПоГоризонтали = Истина;
Кому.АвтоМаксимальнаяШирина = Ложь;
Кому.АвтоМаксимальнаяВысота = Ложь;
Если СокрЛП(Какую)="" Тогда
ШрифтУменьшенный = Новый Шрифт(Кому.Шрифт,, 4);
Кому.Шрифт = ШрифтУменьшенный;
КонецЕсли;
Если Рекомендация Тогда
КонецЕсли;
Если Ссылка = Неопределено Тогда
Кому.Заголовок = Какую;
Иначе
АдресСсылки = Кому.Имя;
Если ТипЗнч(Ссылка)<>Тип("Строка") Тогда
АдресСсылки = ПолучитьНавигационнуюСсылку(Ссылка);
Если Действие<>Неопределено Тогда
Ссылка = Действие;
ИначеЕсли ТипЗнч(Ссылка)=Тип("СправочникСсылка.ДоверенностиНалогоплательщика") Тогда
Ссылка = "открыть доверенность";
Иначе
Ссылка = "открыть";
КонецЕсли;
КонецЕсли;
Если Лев(Ссылка, 4)="http" Тогда
АдресСсылки = Ссылка;
КонецЕсли;
Найдена = Ложь;
Ссылка = СокрЛП(Ссылка);
ФорматированныйЗаголовок = Новый Массив;
Пока Найти(Какую, Ссылка)>0 Цикл
Найдена = Истина;
Слева = Лев(Какую, Найти(Какую, Ссылка)-1);
ФорматированныйЗаголовок.Добавить(Слева);
ФорматированныйЗаголовок.Добавить(Новый ФорматированнаяСтрока(Ссылка,,,, АдресСсылки));
Какую = Сред(Какую, СтрДлина(Слева) + СтрДлина(Ссылка)+ 1);
КонецЦикла;
Если Найдена Тогда
ФорматированныйЗаголовок.Добавить(Какую);
Иначе
ФорматированныйЗаголовок.Очистить();
ФорматированныйЗаголовок.Добавить(Какую);
ФорматированныйЗаголовок.Добавить(Новый ФорматированнаяСтрока("Ссылка",,,, АдресСсылки));
КонецЕсли;
Кому.Заголовок = Новый ФорматированнаяСтрока(ФорматированныйЗаголовок);
Если Ссылка <> Неопределено Тогда
Если Действие = Неопределено Тогда
Если Лев(АдресСсылки, 6)="e1cib/" Тогда
Кому.УстановитьДействие("ОбработкаНавигационнойСсылки", "ДействиеПереходПоСсылке");
Иначе
Кому.УстановитьДействие("ОбработкаНавигационнойСсылки", "ДинамическийЭлементОбработкаНавигационнойСсылки");
КонецЕсли;
Иначе
Кому.УстановитьДействие("ОбработкаНавигационнойСсылки", Действие);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Возврат Кому.Имя;
КонецФункции
&НаСервере
Функция НайтиОписаниеПоКоду(Код, МакетПодсказки)
КолонкаКод = МакетПодсказки.Область("C1");
Область = МакетПодсказки.НайтиТекст(Код,, КолонкаКод);
Если Область = Неопределено Тогда
Возврат "";
КонецЕсли;
НомерСтроки=Область.Низ;
Возврат МакетПодсказки.Область(НомерСтроки, 7, НомерСтроки, 7).Текст;
КонецФункции
&НаСервере
Функция ОчиститьТаблицуСкрытьПоказатьКолонки(
ПоказатьКол1=Неопределено,
ПоказатьКол2=Неопределено,
ПоказатьКол3=Неопределено,
ПоказатьКол4=Неопределено,
ПоказатьКол5=Неопределено,
ПоказатьКол6=Неопределено,
ПоказатьКол7=Неопределено,
ПоказатьКол8=Неопределено)
ТабличныеДанные.Очистить();
Для Каждого Колонка из Элементы.ТабличныеДанные.ПодчиненныеЭлементы Цикл
Колонка.Видимость = Ложь;
КонецЦикла;
Если ПоказатьКол1<>Неопределено Тогда
Кол = Элементы.ТабличныеДанные.ПодчиненныеЭлементы.Найти(ПоказатьКол1);
Если Кол<>Неопределено Тогда
Кол.Видимость = Истина;
КонецЕсли;
КонецЕсли;
Если ПоказатьКол2<>Неопределено Тогда
Кол = Элементы.ТабличныеДанные.ПодчиненныеЭлементы.Найти(ПоказатьКол2);
Если Кол<>Неопределено Тогда
Кол.Видимость = Истина;
КонецЕсли;
КонецЕсли;
Если ПоказатьКол3<>Неопределено Тогда
Кол = Элементы.ТабличныеДанные.ПодчиненныеЭлементы.Найти(ПоказатьКол3);
Если Кол<>Неопределено Тогда
Кол.Видимость = Истина;
КонецЕсли;
КонецЕсли;
Если ПоказатьКол4<>Неопределено Тогда
Кол = Элементы.ТабличныеДанные.ПодчиненныеЭлементы.Найти(ПоказатьКол4);
Если Кол<>Неопределено Тогда
Кол.Видимость = Истина;
КонецЕсли;
КонецЕсли;
Если ПоказатьКол5<>Неопределено Тогда
Кол = Элементы.ТабличныеДанные.ПодчиненныеЭлементы.Найти(ПоказатьКол5);
Если Кол<>Неопределено Тогда
Кол.Видимость = Истина;
КонецЕсли;
КонецЕсли;
Если ПоказатьКол6<>Неопределено Тогда
Кол = Элементы.ТабличныеДанные.ПодчиненныеЭлементы.Найти(ПоказатьКол6);
Если Кол<>Неопределено Тогда
Кол.Видимость = Истина;
КонецЕсли;
КонецЕсли;
Если ПоказатьКол7<>Неопределено Тогда
Кол = Элементы.ТабличныеДанные.ПодчиненныеЭлементы.Найти(ПоказатьКол7);
Если Кол<>Неопределено Тогда
Кол.Видимость = Истина;
КонецЕсли;
КонецЕсли;
Если ПоказатьКол8<>Неопределено Тогда
Кол = Элементы.ТабличныеДанные.ПодчиненныеЭлементы.Найти(ПоказатьКол8);
Если Кол<>Неопределено Тогда
Кол.Видимость = Истина;
КонецЕсли;
КонецЕсли;
КонецФункции
&НаСервере
Процедура ПодробностиУчетнойЗаписи(Знач Проверка, МакетПодсказки, КонтекстМодуля)
ЧастьОтчета = Параметры.Отчет.Проверки.ПроверкаУчетнойЗаписи;
Если Проверка = 0 Тогда
Событие = ЧастьОтчета.АктивностьСобытие;
ЭтаФорма.Заголовок = "информация о лицензии";
Сообщение = "Лицензия ""%1""";
Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Сообщение, ЧастьОтчета.ЛицензияНаименование);
ДобавитьНадпись(Сообщение, 0);
Сообщение = "Действительна с %1 по %2";
Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Сообщение,
Формат(ЧастьОтчета.ЛицензияДатаНачала, "ДЛФ=DD"),
Формат(ЧастьОтчета.ЛицензияДатаОкончания, "ДЛФ=DD"));
ДобавитьНадпись(Сообщение, 0);
Подсказка = НайтиОписаниеПоКоду(Событие.Код, МакетПодсказки);
Если Подсказка<>"" Тогда
ДобавитьНадпись(Подсказка);
КонецЕсли;
ИначеЕсли Проверка = 1 Тогда
Событие = ЧастьОтчета.СрокГодностиСобытие;
ЭтаФорма.Заголовок = "период действия лицензии";
Элементы.ГруппаТабличныеДанные.Заголовок = "Ошибки";
ПолноеОписание = Событие.Описание + "";
Если ЧастьОтчета.СрокГодностиЧислом = 3 Тогда
ЛицензияДатаНачала = Параметры.УчетнаяЗаписьДокументооборота.ЛицензияДатаНачала;
ПолноеОписание = ПолноеОписание + ". Лицензия начнет действовать "
+ КонтекстМодуля.ИнтервалСтрокой(КонтекстМодуля.ТекущаяДатаСеансаКлиент(), ЛицензияДатаНачала);
КонецЕсли;
НоваяЗапись = ТабличныеДанные.Добавить();
НоваяЗапись.ИндексЗаписи = ТабличныеДанные.Количество() - 1;
НоваяЗапись.Ошибка = ПолноеОписание;
ИначеЕсли Проверка = 2 Тогда
ЭтаФорма.Заголовок = "отличия реквизитов подключения";
Сводка = НайтиОписаниеПоКоду("776_0", МакетПодсказки);
Элементы.ГруппаТабличныеДанные.Заголовок = "Отличающиеся реквизиты";
Если ЧастьОтчета.РазличияРеквизитовСведений.Количество() > 0 Тогда
Событие = ЧастьОтчета.РазличияРеквизитовСведенийСобытие;
Элементы.ГруппаТабличныеДанные.Видимость = Истина;
ОчиститьТаблицуСкрытьПоказатьКолонки("ТабличныеДанныеОтличающийсяРеквизит", "ТабличныеДанныеНовоеЗначение", "ТабличныеДанныеСтароеЗначение");
КонецЕсли;
Важных = 0;
Прочих = 0;
Для Каждого Отличие из ЧастьОтчета.РазличияРеквизитовСведений Цикл
Если Отличие.Важно Тогда
Важных = Важных + 1;
Иначе
Прочих = Прочих + 1;
КонецЕсли;
НоваяЗапись = ТабличныеДанные.Добавить();
НоваяЗапись.ИндексЗаписи = ТабличныеДанные.Количество() - 1;
НоваяЗапись.ОтличающийсяРеквизит = Отличие.АтрибутВнутренний;
НоваяЗапись.СтароеЗначение = Отличие.СтароеЗначение;
НоваяЗапись.НовоеЗначение = Отличие.НовоеЗначение;
КонецЦикла;
ИначеЕсли Проверка = 3 Тогда
Запись = ЧастьОтчета.ИнформацияДоверенности[Параметры.Сводка.ИндексЗаписи];
ВладелецЭП = КонтекстМодуля.НормализованныеФИО(
Параметры.Автонастройка.ВладелецЭП.Фамилия,
Параметры.Автонастройка.ВладелецЭП.Имя,
Параметры.Автонастройка.ВладелецЭП.Отчество);
ВладелецЭПРп = СклонениеПредставленийОбъектов.ПросклонятьФИО(ВладелецЭП, 2);
Если Запись.Доверенность = Неопределено Тогда
Сводка = НайтиОписаниеПоКоду("777", МакетПодсказки);
Сводка = СтрЗаменить(Сводка, "%1", Запись.КодПолучателя);
Сводка = СтрЗаменить(Сводка, "%2", ?(НЕ Параметры.Отчет.Абонент.ИП, ?(ЗначениеЗаполнено(Запись.КПП), " И КПП " + Запись.КПП, ""), "") );
Сводка = СтрЗаменить(Сводка, "%3", ВладелецЭПРп);
Сводка = СтрЗаменить(Сводка, "%4", ?(Параметры.Отчет.Абонент.ИП, "индивидуальным предпринимателем", "руководителем (законным представителем) организации"));
ПроблемаСоСроком = Ложь;
ПроблемаСПредставителем = Ложь;
Ожидаемый = "";
Фактический = "";
ВидПроблемы = 0;
Иначе
ПроблемаСоСроком = Ложь;
ВидПроблемы = 0;
ПроблемаСПредставителем = Ложь;
Для Каждого Проблема из Запись.Проблемы Цикл
Если Проблема.Код = 779 Тогда
ПроблемаСоСроком = Истина;
ВидПроблемы = 1;
ИначеЕсли Проблема.Код = 780 Тогда
ПроблемаСоСроком = Истина;
ВидПроблемы = 2;
ИначеЕсли Проблема.Код = 781 Тогда
ПроблемаСПредставителем = Истина;
Ожидаемый = Проблема.Представитель.Ожидаемый;
Фактический = Проблема.Представитель.Фактический;
КонецЕсли;
КонецЦикла;
Если ПроблемаСПредставителем Тогда
Сводка = НайтиОписаниеПоКоду("777_0", МакетПодсказки);
Сводка = СтрЗаменить(Сводка, "%1", Запись.КодПолучателя);
Сводка = СтрЗаменить(Сводка, "%2", ?(НЕ Параметры.Отчет.Абонент.ИП, ?(ЗначениеЗаполнено(Запись.КПП), " И КПП " + Запись.КПП, ""), "") );
ФактическийРп = СклонениеПредставленийОбъектов.ПросклонятьФИО(Фактический, 2);
ОжидаемыйРп = СклонениеПредставленийОбъектов.ПросклонятьФИО(Ожидаемый, 2);
Сводка = СтрЗаменить(Сводка, "%3", ФактическийРп);
Сводка = СтрЗаменить(Сводка, "%4", ОжидаемыйРп);
КонецЕсли;
Если ПроблемаСоСроком Тогда
Если ПроблемаСПредставителем Тогда
Сводка = Сводка + "Также п" + НайтиОписаниеПоКоду("777_1", МакетПодсказки);
Иначе
Сводка = "П" + НайтиОписаниеПоКоду("777_1", МакетПодсказки);
КонецЕсли;
Сводка = СтрЗаменить(Сводка, "%1", Запись.КодПолучателя);
Сводка = СтрЗаменить(Сводка, "%2", ?(НЕ Параметры.Отчет.Абонент.ИП, ?(ЗначениеЗаполнено(Запись.КПП), " И КПП " + Запись.КПП, ""), "") );
Сводка = СтрЗаменить(Сводка, "%3", ?(ВидПроблемы = 1, "истек "
+ КонтекстМодуля.ИнтервалСтрокой( КонтекстМодуля.ТекущаяДатаСеансаКлиент(), Запись.Доверенность.ДатаОкончания), "ещё не начался, начнется "
+ КонтекстМодуля.ИнтервалСтрокой(КонтекстМодуля.ТекущаяДатаСеансаКлиент(), Запись.Доверенность.ДатаВыдачи)));
КонецЕсли;
КонецЕсли;
ДобавитьНадпись(Сводка);
ДобавитьНадпись(" ");
Если Запись.Доверенность = Неопределено Тогда
ЭтаФорма.Заголовок = "нет доверенности по направлению";
Рекомендация = НайтиОписаниеПоКоду("778_1", МакетПодсказки);
Рекомендация = СтрЗаменить(Рекомендация, "%1", Запись.КодПолучателя);
Рекомендация = СтрЗаменить(Рекомендация, "%2", ?(НЕ Параметры.Отчет.Абонент.ИП, ?(ЗначениеЗаполнено(Запись.КПП), " И КПП " + Запись.КПП, ""), "") );
Рекомендация = СтрЗаменить(Рекомендация, "%3", ВладелецЭПРп);
Ссылка = "Введите информацию";
Действие = "ОбщееДействиеДобавлениеДоверенности";
ДобавитьНадпись(Рекомендация,,, Ссылка, Действие, Истина);
ШаблонСообщения = "Нет доверенности для ИФНС %1%2";
Сообщение = СтрЗаменить(ШаблонСообщения, "%1", Запись.КодПолучателя);
Сообщение = СтрЗаменить(Сообщение, "%2", ?(НЕ Параметры.Отчет.Абонент.ИП, ?(ЗначениеЗаполнено(Запись.КПП), " И КПП " + Запись.КПП, ""), "") );
КонецЕсли;
Если Запись.Доверенность = Неопределено Тогда
Элементы.ГруппаТабличныеДанные.Заголовок = "Ошибки";
НоваяЗапись = ТабличныеДанные.Добавить();
НоваяЗапись.ИндексЗаписи = ТабличныеДанные.Количество() - 1;
НоваяЗапись.Ошибка = Сообщение;
Иначе
Элементы.ГруппаТабличныеДанные.Видимость = Истина;
Элементы.ТабличныеДанные.Шапка = Ложь;
ОчиститьТаблицуСкрытьПоказатьКолонки("ТабличныеДанныеОшибка");
Элементы.ГруппаТабличныеДанные.Заголовок = "Ошибки текущей доверенности";
Если ПроблемаСПредставителем Тогда
Ссылка = "Введите информацию";
Действие = "ОбщееДействиеДобавлениеДоверенности";
Подсказка = НайтиОписаниеПоКоду("781", МакетПодсказки);
ИначеЕсли ПроблемаСоСроком Тогда
Ссылка = "Введите информацию";
Действие = "ОбщееДействиеДобавлениеДоверенности";
Подсказка = НайтиОписаниеПоКоду("780", МакетПодсказки);
КонецЕсли;
Подсказка = СтрЗаменить(Подсказка, "%1", Запись.КодПолучателя);
Подсказка = СтрЗаменить(Подсказка, "%2", ?(НЕ Параметры.Отчет.Абонент.ИП, ?(ЗначениеЗаполнено(Запись.КПП), " И КПП " + Запись.КПП, ""), "") );
Подсказка = СтрЗаменить(Подсказка, "%3", ВладелецЭПРп);
ДобавитьНадпись(Подсказка,,, Ссылка, Действие, Истина);
Для Каждого Проблема из Запись.Проблемы Цикл
НоваяЗапись = ТабличныеДанные.Добавить();
НоваяЗапись.ИндексЗаписи = ТабличныеДанные.Количество() - 1;
НоваяЗапись.Ошибка = Проблема.Описание;
КонецЦикла;
КонецЕсли;
ИначеЕсли Проверка = 4 Тогда
ОчиститьТаблицуСкрытьПоказатьКолонки("ТабличныеДанныеОшибка", "ТабличныеДанныеРекомендуемоеДействие");
Элементы.ГруппаТабличныеДанные.Видимость = Истина;
Элементы.ГруппаТабличныеДанные.Заголовок = "отсутствующие доверенности по направлениям";
ЭтаФорма.Заголовок = "нет доверенностей";
ШаблонСообщения = "Нет доверенности по направлению %1";
Для Каждого Индекс из Параметры.Сводка.Фильтр Цикл
Запись = ЧастьОтчета.ИнформацияДоверенности[Индекс];
ИдИФНС = Запись.Направление + " " + Запись.КодПолучателя + ?(НЕ Параметры.Отчет.Абонент.ИП, ?(ЗначениеЗаполнено(Запись.КПП), " И КПП " + Запись.КПП, ""), "");
Сообщение = СтрЗаменить(ШаблонСообщения, "%1", ИдИФНС);
НоваяЗапись = ТабличныеДанные.Добавить();
НоваяЗапись.ИндексЗаписи = ТабличныеДанные.Количество() - 1;
НоваяЗапись.Ошибка = Сообщение;
НоваяЗапись.РекомендуемоеДействие = "Добавить новую";
КонецЦикла;
ИначеЕсли Проверка = 5 Тогда
ОчиститьТаблицуСкрытьПоказатьКолонки("ТабличныеДанныеДокумент", "ТабличныеДанныеОшибка", "ТабличныеДанныеРекомендуемоеДействие");
Элементы.ГруппаТабличныеДанные.Видимость = Истина;
Элементы.ГруппаТабличныеДанные.Заголовок = "Доверенности с ошибками";
ЭтаФорма.Заголовок = "доверенности с ошибками";
ШаблонСообщения = "%1 %2";
Для Каждого Индекс из Параметры.Сводка.Фильтр Цикл
Запись = ЧастьОтчета.ИнформацияДоверенности[Индекс];
ИдИФНС = Запись.Направление + " " + Запись.КодПолучателя + ?(НЕ Параметры.Отчет.Абонент.ИП, ?(ЗначениеЗаполнено(Запись.КПП), " И КПП " + Запись.КПП, ""), "");
ДоверенностьСтрокой = "от "+СокрЛП(Формат(Запись.Доверенность.ДатаВыдачи, "ДЛФ=DD"));
Сообщение = СтрЗаменить(ШаблонСообщения, "%1", ИдИФНС);
Сообщение = СтрЗаменить(Сообщение, "%2", ДоверенностьСтрокой);
ТекстОшибки = "";
Для Каждого Проблема из Запись.Проблемы Цикл
ТекстОшибки = ТекстОшибки +?(ТекстОшибки="", "", "; ")+ Проблема.Описание;
КонецЦикла;
НоваяЗапись = ТабличныеДанные.Добавить();
НоваяЗапись.ИндексЗаписи = ТабличныеДанные.Количество() - 1;
НоваяЗапись.Документ = Сообщение;
НоваяЗапись.Ошибка = ТекстОшибки;
НоваяЗапись.РекомендуемоеДействие = "Добавить новую";
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПодробностиПодключений(Знач Проверка, МакетПодсказки, КонтекстМодуля)
ЧастьОтчета = Параметры.Отчет.Проверки.ПроверкаПодключений;
ВывелЗаголовок = Ложь;
Элементы.ГруппаТабличныеДанные.Видимость = Истина;
ТабличныеДанные.Очистить();
Для Каждого Колонка из Элементы.ТабличныеДанные.ПодчиненныеЭлементы Цикл
Колонка.Видимость = Ложь;
КонецЦикла;
ОчиститьТаблицуСкрытьПоказатьКолонки("ТабличныеДанныеГруппаURL", "ТабличныеДанныеСлужба", "ТабличныеДанныеОшибка", "ТабличныеДанныеСостояние");
Если Проверка = 0 Тогда
ЭтаФорма.Заголовок = "предупреждения проверки подключений";
Сводка = НайтиОписаниеПоКоду("1281_0", МакетПодсказки);
ДобавитьНадпись(Сводка);
ДобавитьНадпись(" ");
Для Каждого Проблема из ЧастьОтчета.Предупреждения Цикл
ДобавитьНадпись(Проблема.Описание,,,,, "•");
КонецЦикла;
ИначеЕсли Проверка = 1 Тогда
ЭтаФорма.Заголовок = "ошибки подключений к сервисам";
Элементы.ГруппаТабличныеДанные.Заголовок = "Направления сдачи отчетности И их недоступные сервисы";
ВсегоНедоступных = 0;
СоСреднимКачеством = 0;
СПлохимКачеством = 0;
СХорошимКачеством = 0;
ДоступныхЧерезШлюз = 0;
НедоступныхПочты = 0;
НедоступныхПрочих = 0;
НедоступнаТолькоПочта = Ложь;
Для Каждого Ресурс из ЧастьОтчета.Ресурсы Цикл
Если Ресурс.Результат Тогда
Продолжить;
КонецЕсли;
ВсегоНедоступных = ВсегоНедоступных + 1;
ПП = Ресурс.ПараметрыПодключения;
Если ПП.Свойство("Адрес") Тогда
НедоступныхПрочих = НедоступныхПрочих + 1;
Иначе
НедоступныхПочты = НедоступныхПочты + 1;
КонецЕсли;
Адрес = ПП.ПредставлениеХоста;
ДоступностьЗаЧас = 0;
ТекстСостояния = "";
Если Ресурс.СервисПроверки.Использовался<>Неопределено И Ресурс.СервисПроверки.Использовался Тогда
Если Ресурс.СервисПроверки.Доступен Тогда
ДоступныхЧерезШлюз = ДоступныхЧерезШлюз + 1;
КонецЕсли;
ДоступностьЗаЧас = Ресурс.СервисПроверки.ДоступностьЗаЧас;
Если ДоступностьЗаЧас>95 Тогда
ТекстСостояния = "Доступен у всех";
СХорошимКачеством = СХорошимКачеством + 1;
ИначеЕсли ДоступностьЗаЧас>40 Тогда
СоСреднимКачеством = СоСреднимКачеством + 1;
ТекстСостояния = "Недоступен у некоторых";
ИначеЕсли ДоступностьЗаЧас>0 Тогда
СПлохимКачеством = СПлохимКачеством + 1;
ТекстСостояния = "Недоступен у большинства";
ИначеЕсли ДоступностьЗаЧас<=0 Тогда
СПлохимКачеством = СПлохимКачеством + 1;
ТекстСостояния = "Недоступен у всех";
КонецЕсли;
КонецЕсли;
НоваяЗапись = ТабличныеДанные.Добавить();
НоваяЗапись.ИндексЗаписи = ТабличныеДанные.Количество() - 1;
НоваяЗапись.URL = Адрес;
НоваяЗапись.URL1 = Адрес;
НоваяЗапись.Служба = ПП.Псевдоним;
НоваяЗапись.Ошибка = Ресурс.Ошибка.Описание;
НоваяЗапись.Состояние = ТекстСостояния;
НоваяЗапись.СостояниеЧислом = ДоступностьЗаЧас;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПодробностиКомпонентов(Знач Проверка, МакетПодсказки, КонтекстМодуля)
ЧастьОтчета = Параметры.Отчет.Проверки.ПроверкаКомпонентов;
ЧастьОтчета2 = Параметры.Отчет.Проверки.ПроверкаКриптоопераций;
ТипКлиента = Параметры.Отчет.ДополнительнаяИнформация["ТипКлиентскогоПодключенияЧислом"];
ЛичныйСертификат = Параметры.Отчет.Проверки.ПроверкаУчетнойЗаписи.ИнформацияЛичногоСертификата;
Если Проверка = 0 Тогда
ЭтаФорма.Заголовок = "проблемы проверки компонентов";
Элементы.ГруппаТабличныеДанные.Заголовок = "Ошибки";
Проблем = 0;
Если НЕ ЧастьОтчета.Криптокомпонент.Подключен Тогда
Проблем = Проблем + 1;
КонецЕсли;
Если НЕ ЧастьОтчета.Криптопровайдеры.Подключен Тогда
Проблем = Проблем + 1;
КонецЕсли;
Если НЕ ЧастьОтчета.РасширениеРаботыСФайлами.Подключен Тогда
Проблем = Проблем + 1;
КонецЕсли;
Если ЛичныйСертификат.СрокГодности>0 Тогда
Проблем = Проблем + 1;
КонецЕсли;
Если ЧастьОтчета.Криптокомпонент.Подключен Тогда
Для Каждого Криптооперация из ЧастьОтчета2 Цикл
Если Криптооперация.Успешно Тогда
Продолжить;
КонецЕсли;
Проблем = Проблем + 1;
Операция = Криптооперация.Операция;
Ошибка = Криптооперация.ОписаниеОшибки;
КонецЦикла;
КонецЕсли;
Сводка = НайтиОписаниеПоКоду("2304_0", МакетПодсказки);
Сводка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Сводка,
КонтекстМодуля.ПростоеСклонение(Проблем, "а", "ы", "ы"),
Проблем,
КонтекстМодуля.ПростоеСклонение(Проблем, "а", "ы", ""));
ДобавитьНадпись(Сводка);
ДобавитьНадпись(" ");
РекомендацийВсего = 0;
Элементы.ТабличныеДанные.Шапка = Ложь;
ТабличныеДанные.Очистить();
Для Каждого Колонка из Элементы.ТабличныеДанные.ПодчиненныеЭлементы Цикл
Колонка.Видимость = Ложь;
КонецЦикла;
СрокГодности = ЛичныйСертификат.СрокГодности;
Если СрокГодности = 1 Тогда
Описание = НайтиОписаниеПоКоду("8448_8", МакетПодсказки);
ДобавитьНадпись(Описание);
ИначеЕсли СрокГодности = 2 Тогда
Описание = НайтиОписаниеПоКоду("8448_6", МакетПодсказки);
ДобавитьНадпись(Описание);
ИначеЕсли СрокГодности = 3 Тогда
Описание = НайтиОписаниеПоКоду("8448_7", МакетПодсказки);
ДобавитьНадпись(Описание);
КонецЕсли;
Если НЕ ЧастьОтчета.Криптопровайдеры.Подключен Тогда
Если ЧастьОтчета.Криптопровайдеры.Состояние = 2 Тогда
ОписаниеПроблемы = НайтиОписаниеПоКоду("2304_7", МакетПодсказки);
ДобавитьНадпись(ОписаниеПроблемы);
ИначеЕсли ЧастьОтчета.Криптопровайдеры.Состояние = 1 Тогда
ОписаниеПроблемы = НайтиОписаниеПоКоду("2304_6", МакетПодсказки);
ДобавитьНадпись(ОписаниеПроблемы);
КонецЕсли;
КонецЕсли;
Если НЕ ЧастьОтчета.РасширениеРаботыСФайлами.Подключен Тогда
ШаблонСообщения = "Не удалось подключить расширение для работы с файлами из-за ошибки ""%1"".";
ОписаниеПроблемы = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСообщения, ЧастьОтчета.РасширениеРаботыСФайлами.ОписаниеОшибки);
ДобавитьНадпись(ОписаниеПроблемы);
КонецЕсли;
Если ЧастьОтчета.Криптокомпонент.Подключен Тогда
Для Каждого Криптооперация из ЧастьОтчета2 Цикл
Если Криптооперация.Успешно Тогда
Продолжить;
КонецЕсли;
Операция = Криптооперация.Операция;
Ошибка = Криптооперация.ОписаниеОшибки;
ОписаниеПроблемы = "Не выполнена операция " +НРег(Операция)+", из-за ошибки: " + Ошибка;
ДобавитьНадпись(ОписаниеПроблемы);
КонецЦикла;
КонецЕсли;
ДобавитьНадпись(" ");
Если СрокГодности = 1 Тогда
Рекомендация = НайтиОписаниеПоКоду("8448_5", МакетПодсказки);
ИмяСсылки = ДобавитьНадпись(Рекомендация,,, "продлить", "ОбщееДействиеПродлениеСертификата", Истина);
ИначеЕсли СрокГодности = 2 Тогда
Рекомендация = НайтиОписаниеПоКоду("8448_3", МакетПодсказки);
ИмяСсылки = ДобавитьНадпись(Рекомендация,,, "продлить", "ОбщееДействиеПродлениеСертификата", Истина);
ИначеЕсли СрокГодности = 3 Тогда
Рекомендация = НайтиОписаниеПоКоду("8448_4", МакетПодсказки);
ИмяСсылки = ДобавитьНадпись(Рекомендация,,,,, Истина);
КонецЕсли;
Если НЕ ЧастьОтчета.Криптокомпонент.Подключен Тогда
КонецЕсли;
Если НЕ ЧастьОтчета.Криптопровайдеры.Подключен Тогда
Если ЧастьОтчета.Криптопровайдеры.Состояние = 2 Тогда
КП = ПолучитьКриптопровайдераОтчета(Параметры.Отчет, Параметры.Автонастройка);
Если КП = Неопределено или КП = Перечисления.ТипыКриптоПровайдеров.VipNet Тогда
Рекомендация = НайтиОписаниеПоКоду("2304_8", МакетПодсказки);
ИмяСсылки = ДобавитьНадпись(Рекомендация,,, "Установите", "ОбщееДействиеУстановкаВипнет", Истина);
КонецЕсли;
Если КП = Неопределено или КП = Перечисления.ТипыКриптоПровайдеров.CryptoPro Тогда
Рекомендация = НайтиОписаниеПоКоду("2304_9", МакетПодсказки);
ИмяСсылки = ДобавитьНадпись(Рекомендация,,, "Перейти на сайт разработчика", "ОбщееДействиеЗагрузкаКриптопро", Истина);
КонецЕсли;
ИначеЕсли ЧастьОтчета.Криптопровайдеры.Состояние = 1 Тогда
ПараметрыКП = Неопределено;
КП_2 = ПолучитьКриптопровайдераОтчета(Параметры.Отчет, Параметры.Автонастройка, ПараметрыКП);
Рекомендация = НайтиОписаниеПоКоду("2304_a", МакетПодсказки);
ИмяСсылки = ДобавитьНадпись(Рекомендация,,,,, Истина);
Если КП_2 <> Неопределено Тогда
ИзвестныеКриптопровайдеры = КриптографияЭДКОКлиентСервер.ИзвестныеКриптопровайдеры();
ИндексКриптопровайдеров = Неопределено;
КП_2 = ПараметрыКП.Представление;
Для каждого Эл из Параметры.Отчет.Криптопровайдеры Цикл
Если Эл.Представление = ПараметрыКП.Имя Тогда
Продолжить;
КонецЕсли;
СвойстваКриптопровайдера = КриптографияЭДКОКлиентСервер.СвойстваКриптопровайдера(
Эл.Представление,,
ИзвестныеКриптопровайдеры,
ИндексКриптопровайдеров);
КП_1 = ?(СвойстваКриптопровайдера <> Неопределено, СвойстваКриптопровайдера.Представление, Эл.Представление);
КонецЦикла;
Рекомендация = НайтиОписаниеПоКоду("2304_d", МакетПодсказки);
Рекомендация = СтрЗаменить(Рекомендация, "%1", КП_1);
Рекомендация = СтрЗаменить(Рекомендация, "%2", КП_2);
ИмяСсылки = ДобавитьНадпись(Рекомендация,,, "отправив заявление", "ОбщееДействиеИнформацияОПодписке", Истина);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если НЕ ЧастьОтчета.РасширениеРаботыСФайлами.Подключен Тогда
Рекомендация = "";
Если ТипКлиента = 3 Тогда
Рекомендация = НайтиОписаниеПоКоду("2304_c", МакетПодсказки);
Иначе
Рекомендация = НайтиОписаниеПоКоду("2304_b", МакетПодсказки);
КонецЕсли;
Если Рекомендация <> "" Тогда
ИмяСсылки = ДобавитьНадпись(Рекомендация,,,,, Истина);
КонецЕсли;
КонецЕсли;
Если ЧастьОтчета.Криптокомпонент.Подключен Тогда
Для Каждого Криптооперация из ЧастьОтчета2 Цикл
Если Криптооперация.Успешно Тогда
Продолжить;
КонецЕсли;
Операция = Криптооперация.Операция;
Ошибка = Криптооперация.ОписаниеОшибки;
Если Найти(Криптооперация.ОписаниеОшибки, "отменена пользователем")>0 Тогда
Рекомендация = НайтиОписаниеПоКоду("8448_1", МакетПодсказки);
ДобавитьНадпись(Рекомендация,,, "Повторить операцию", "ОбщееДействиеПроверитьКриптооперацииПовторно", Истина);
ИначеЕсли Найти(Криптооперация.ОписаниеОшибки, "не найден")>0 Тогда
Рекомендация = НайтиОписаниеПоКоду("8448_2", МакетПодсказки);
ДобавитьНадпись(Рекомендация,,,,, Истина);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПодробностиСертификатов(Знач Проверка, МакетПодсказки, КонтекстМодуля)
ЧастьОтчета = Параметры.Отчет.Проверки.ПроверкаСертификатов;
Если Проверка = 0 Тогда
ТабличныеДанные.Очистить();
Элементы.ГруппаТабличныеДанные.Видимость = Истина;
Для Каждого Колонка из Элементы.ТабличныеДанные.ПодчиненныеЭлементы Цикл
Колонка.Видимость = Ложь;
КонецЦикла;
ОчиститьТаблицуСкрытьПоказатьКолонки("ТабличныеДанныеОтпечатокСертификата", "ТабличныеДанныеХранилище");
НеустановленоСертификатов = 0;
Для Каждого Сертификат из ЧастьОтчета Цикл
Если Сертификат.Найден Тогда
Продолжить;
КонецЕсли;
НеустановленоСертификатов = НеустановленоСертификатов + 1;
КонецЦикла;
Если НеустановленоСертификатов > 0 Тогда
ЭтаФорма.Заголовок = КонтекстМодуля.ПростоеСклонение(НеустановленоСертификатов,
"один сертификат не установлен",
"несколько сертификатов не установлены",
"несколько сертификатов не установлены");
Элементы.ГруппаТабличныеДанные.Заголовок = "Неустановленные сертификаты";
КонецЕсли;
Для Каждого Сертификат из ЧастьОтчета Цикл
Если Сертификат.Найден Тогда
Продолжить;
КонецЕсли;
Если Сертификат.Хранилище = "ROOT" Тогда
Хранилище = "Корневое";
ИначеЕсли Сертификат.Хранилище = "CA" Тогда
Хранилище = "Промежуточных УЦ";
Иначе
Хранилище = "";
КонецЕсли;
НоваяЗапись = ТабличныеДанные.Добавить();
НоваяЗапись.ИндексЗаписи = ТабличныеДанные.Количество() - 1;
НоваяЗапись.ОтпечатокСертификата = Сертификат.Отпечаток;
НоваяЗапись.Хранилище = Хранилище;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПодробностиТестовыхОпераций(Знач Проверка, МакетПодсказки, КонтекстМодуля)
ЧастьОтчета = Параметры.Отчет.Проверки.ПроверкаКриптоопераций;
Если Проверка = 0 Тогда
ТабличныеДанные.Очистить();
Элементы.ГруппаТабличныеДанные.Видимость = Истина;
Для Каждого Колонка из Элементы.ТабличныеДанные.ПодчиненныеЭлементы Цикл
Колонка.Видимость = Ложь;
КонецЦикла;
ОчиститьТаблицуСкрытьПоказатьКолонки("ТабличныеДанныеОперация", "ТабличныеДанныеОшибка");
ЭтаФорма.Заголовок = "результаты выполнения тестовых операций с ключом";
НеудачныхОпераций = 0;
Для Каждого Криптооперация из ЧастьОтчета Цикл
Если Криптооперация.Успешно Тогда
Продолжить;
КонецЕсли;
НеудачныхОпераций = НеудачныхОпераций + 1;
КонецЦикла;
Сводка = НайтиОписаниеПоКоду("8448_0", МакетПодсказки);
Сводка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Сводка,
КонтекстМодуля.ПростоеСклонение(НеудачныхОпераций, "ую", "ые", "ые"),
КонтекстМодуля.ПростоеСклонение(НеудачныхОпераций, "ию", "ии", "ии"));
ДобавитьНадпись(Сводка);
ДобавитьНадпись(" ");
Элементы.ГруппаТабличныеДанные.Заголовок = "Неудавшиеся операции";
Для Каждого Криптооперация из ЧастьОтчета Цикл
Если Криптооперация.Успешно Тогда
Продолжить;
КонецЕсли;
НоваяЗапись = ТабличныеДанные.Добавить();
НоваяЗапись.ИндексЗаписи = ТабличныеДанные.Количество() - 1;
НоваяЗапись.Операция = Криптооперация.Операция;
НоваяЗапись.Ошибка = Криптооперация.ОписаниеОшибки;
Если Найти(Криптооперация.ОписаниеОшибки, "отменена пользователем")>0 Тогда
Рекомендация = НайтиОписаниеПоКоду("8448_1", МакетПодсказки);
ДобавитьНадпись(Рекомендация,,, "Повторить операцию", "ОбщееДействиеПроверитьКриптооперацииПовторно", Истина);
ИначеЕсли Найти(Криптооперация.ОписаниеОшибки, "не найден")>0 Тогда
Рекомендация = НайтиОписаниеПоКоду("8448_2", МакетПодсказки);
ДобавитьНадпись(Рекомендация,,,,, Истина);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьПодробности()
Элементы.ГруппаТабличныеДанные.Заголовок = "";
Элементы.ТабличныеДанные.Шапка = Истина;
ДобавитьНадпись("",, Истина);
Сводка = Параметры.Сводка;
КонтекстМодуля = ДокументооборотСКО.ПолучитьОбработкуЭДО();
Параметры.ТекущаяСсылка = Сводка.Ссылка;
МакетПодсказки = КонтекстМодуля.ПолучитьМакет("ДиагностикаОтчетности_Подсказки");
Если Сводка.Категория = 0 Тогда
ПодробностиУчетнойЗаписи(Сводка.Проверка, МакетПодсказки, КонтекстМодуля);
ИначеЕсли Сводка.Категория = 1 Тогда
ПодробностиПодключений(Сводка.Проверка, МакетПодсказки, КонтекстМодуля);
ИначеЕсли Сводка.Категория = 2 Тогда
ПодробностиКомпонентов(Сводка.Проверка, МакетПодсказки, КонтекстМодуля);
ИначеЕсли Сводка.Категория = 3 Тогда
ПодробностиСертификатов(Сводка.Проверка, МакетПодсказки, КонтекстМодуля);
ИначеЕсли Сводка.Категория = 4 Тогда
ПодробностиТестовыхОпераций(Сводка.Проверка, МакетПодсказки, КонтекстМодуля);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Элементы.ГруппаТабличныеДанные.Видимость = Ложь;
Параметры.СсылкиОбъекты = Новый Соответствие;
Если Параметры.Сводка<>Неопределено Тогда
ЗаполнитьПодробности();
КонецЕсли;
ЭтотОбъект.ЗакрыватьПриЗакрытииВладельца = Истина;
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ТелефонСлужбыПоддержки = "8-800-700-86-68";
ЭтотОбъект.Заголовок = ЭтотОбъект.ВладелецФормы.Заголовок + ": "+ЭтотОбъект.Заголовок;
КонтекстЭДОКлиент = Неопределено;
ОписаниеОповещения = Новый ОписаниеОповещения("ПолучитьКонтекстЭДОРезультат", ЭтотОбъект, Новый Структура);
ДокументооборотСКОКлиент.ПолучитьКонтекстЭДО(ОписаниеОповещения);
Если Параметры.Сводка<>Неопределено Тогда
ЗаполнитьПодробности();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьМастерПервичногоПодключения()
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОткрытьФормуМастераЗаявленияНаПодключение(
Параметры.Организация,
ЭтаФорма,
,
ПредопределенноеЗначение("Перечисление.ТипыЗаявленияАбонентаСпецоператораСвязи.Первичное"));
КонецПроцедуры
&НаКлиенте
Процедура ПолучитьКонтекстЭДОРезультат(Результат, ДополнительныеПараметры) Экспорт
Если Результат.Свойство("КонтекстЭДО") Тогда
КонтекстЭДОКлиент = Результат.КонтекстЭДО;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПолучитьКонтекстЭДОИОткрытьЖурналЗаявлений(Результат, ДополнительныеПараметры) Экспорт
Если Результат.Свойство("КонтекстЭДО") Тогда
КонтекстЭДОКлиент = Результат.КонтекстЭДО;
ОбщееДействиеСписокЗаявлений(Неопределено, Неопределено, Неопределено);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПолучитьКонтекстЭДОИПродлитьСертификат(Результат, ДополнительныеПараметры) Экспорт
Если Результат.Свойство("КонтекстЭДО") Тогда
КонтекстЭДОКлиент = Результат.КонтекстЭДО;
ОбщееДействиеПродлениеСертификата(Неопределено, ДополнительныеПараметры, Неопределено);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПолучитьКонтекстЭДОИПродлитьЛицензию(Результат, ДополнительныеПараметры) Экспорт
Если Результат.Свойство("КонтекстЭДО") Тогда
КонтекстЭДОКлиент = Результат.КонтекстЭДО;
ОбщееДействиеПродлениеЛицензии(Неопределено, ДополнительныеПараметры, Неопределено);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПолучитьКонтекстЭДОИНастроитьНерасшифровываемые(Результат, ДополнительныеПараметры) Экспорт
Если Результат.Свойство("КонтекстЭДО") Тогда
КонтекстЭДОКлиент = Результат.КонтекстЭДО;
ОбщееДействиеНастройкаНерасшифровываемых(Неопределено, ДополнительныеПараметры, Неопределено);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПолучитьКонтекстЭДОИЗапуститьМастер(Результат, ДополнительныеПараметры) Экспорт
Если Результат.Свойство("КонтекстЭДО") Тогда
КонтекстЭДОКлиент = Результат.КонтекстЭДО;
ОткрытьМастерПервичногоПодключения();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьСертификат(Результат, ВхПараметры) Экспорт
Если Не Результат.Выполнено Тогда
ПоказатьОповещениеПользователя("Ошибка открытия",, "Не удалось записать сертификат перед открытием", БиблиотекаКартинок.Ошибка32);
Иначе
ИсхПараметры = Новый Структура("Адрес", Результат.ИмяФайла);
КриптографияЭДКОКлиент.ПоказатьСертификат(ИсхПараметры, ЭтаФорма);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗаписатьВФайлИОткрытьСертификат(Отпечаток, СертификатBase64)
Оповещение = Новый ОписаниеОповещения("ОткрытьСертификат", ЭтотОбъект, Неопределено);
ОперацииСФайламиЭДКОСлужебныйКлиент.Base64ВФайл(Оповещение, СертификатBase64, ".cer", Ложь, Неопределено);
КонецПроцедуры
&НаКлиенте
Процедура ТабличныеДанныеВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Если Поле.Имя = "ТабличныеДанныеURL" Тогда
СтандартнаяОбработка = Ложь;
URL = Элемент.ТекущиеДанные.URL;
Если Лев(URL, 4)<>"http" Тогда
Возврат;
КонецЕсли;
ПерейтиПоНавигационнойСсылке(URL);
Возврат;
КонецЕсли;
Если Поле.Имя = "ТабличныеДанныеРекомендуемоеДействие" Тогда
Индекс = Параметры.Сводка.Фильтр[Элементы.ТабличныеДанные.ТекущиеДанные.ИндексЗаписи];
Параметры.Сводка.Вставить("ИндексЗаписи", Индекс);
ОбщееДействиеДобавлениеДоверенности(Элемент, Неопределено, Ложь);
Возврат;
КонецЕсли;
Если Поле.Имя = "ТабличныеДанныеОтпечатокСертификата" Тогда
Отпечаток = Элементы.ТабличныеДанные.ТекущиеДанные.ОтпечатокСертификата;
Сертификат = Параметры.Автонастройка.СертификатыCA.Получить(Отпечаток);
Если Сертификат = Неопределено Тогда
Сертификат = Параметры.Автонастройка.СертификатыROOT.Получить(Отпечаток);
КонецЕсли;
Если Сертификат = Неопределено Тогда
ПоказатьОповещениеПользователя("Ошибка открытия",, "Сертификат по отпечатку не обнаружен", БиблиотекаКартинок.Ошибка32);
Иначе
ЗаписатьВФайлИОткрытьСертификат(Отпечаток, Сертификат);
КонецЕсли;
Возврат;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ПрограммныйИнтерфейс
&НаКлиенте
Процедура ДействиеНастроитьПрокси(Результат, ВхКонтекст) Экспорт
ОбщееДействиеНастроитьПрокси(Неопределено, Неопределено, Неопределено);
КонецПроцедуры
&НаКлиенте
Процедура ДействиеАвтонастройка(Результат, ВхКонтекст) Экспорт
ОбщееДействиеАвтонастройка(Неопределено, Неопределено, Неопределено);
КонецПроцедуры
&НаКлиенте
Процедура ДействиеСписокЗаявлений(Результат, ВхКонтекст) Экспорт
Если КонтекстЭДОКлиент = Неопределено Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ПолучитьКонтекстЭДОИОткрытьЖурналЗаявлений", ЭтотОбъект, ВхКонтекст);
ДокументооборотСКОКлиент.ПолучитьКонтекстЭДО(ОписаниеОповещения);
Возврат;
КонецЕсли;
ОбщееДействиеСписокЗаявлений(Неопределено, Неопределено, Неопределено);
КонецПроцедуры
&НаКлиенте
Процедура ДействиеПродлениеЛицензии(Результат, ВхКонтекст) Экспорт
Если КонтекстЭДОКлиент = Неопределено Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ПолучитьКонтекстЭДОИПродлитьЛицензию", ЭтотОбъект, ВхКонтекст);
ДокументооборотСКОКлиент.ПолучитьКонтекстЭДО(ОписаниеОповещения);
Возврат;
КонецЕсли;
ОбщееДействиеПродлениеЛицензии(Неопределено, ВхКонтекст, Неопределено);
КонецПроцедуры
&НаКлиенте
Процедура ДействиеНастройкаРасшифровки(Результат, ВхКонтекст) Экспорт
Если КонтекстЭДОКлиент = Неопределено Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ПолучитьКонтекстЭДОИНастроитьНерасшифровываемые", ЭтотОбъект, ВхКонтекст);
ДокументооборотСКОКлиент.ПолучитьКонтекстЭДО(ОписаниеОповещения);
Возврат;
КонецЕсли;
ОбщееДействиеНастройкаНерасшифровываемых(Неопределено, ВхКонтекст, Неопределено);
КонецПроцедуры
&НаКлиенте
Процедура ДействиеПроверитьКриптооперацииПовторно(Результат, ВхКонтекст) Экспорт
ОбщееДействиеПроверитьКриптооперацииПовторно(Неопределено, Неопределено, Неопределено);
КонецПроцедуры
&НаКлиенте
Процедура ДействиеЗагрузкаКриптопро(Результат, ВхКонтекст) Экспорт
ОбщееДействиеЗагрузкаКриптопро(Неопределено, Неопределено, Неопределено);
КонецПроцедуры
&НаКлиенте
Процедура ДействиеПродлениеСертификата(Результат, ВхКонтекст) Экспорт
Если КонтекстЭДОКлиент = Неопределено Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ПолучитьКонтекстЭДОИПродлитьСертификат", ЭтотОбъект, ВхКонтекст);
ДокументооборотСКОКлиент.ПолучитьКонтекстЭДО(ОписаниеОповещения);
Возврат;
КонецЕсли;
ОбщееДействиеПродлениеСертификата(Неопределено, ВхКонтекст, Неопределено);
КонецПроцедуры
&НаКлиенте
Процедура ДействиеДобавлениеДоверенности(Результат, ВхКонтекст) Экспорт
Параметры.Сводка = Новый Структура("Категория, Проверка, Ссылка, ИндексЗаписи", 0, 3,,);
Параметры.Сводка.Вставить("Ссылка", ВхКонтекст.НавигационнаяСсылкаФорматированнойСтроки);
Параметры.Сводка.Вставить("ИндексЗаписи", Число(Результат));
Параметры.Автонастройка = ВхКонтекст.Автонастройка;
Параметры.Отчет = ВхКонтекст.Отчет;
ОбщееДействиеДобавлениеДоверенности(Неопределено, Неопределено, Неопределено)
КонецПроцедуры
&НаКлиенте
Процедура ДействиеУстановкаВипнет(Результат, ВхКонтекст) Экспорт
ОбщееДействиеУстановкаВипнет(Неопределено, Неопределено, Неопределено);
КонецПроцедуры
&НаКлиенте
Процедура ДействиеУстановкаРасширения(Результат, ВхКонтекст) Экспорт
ОбщееДействиеУстановкаРасширения(Неопределено, Неопределено, Неопределено);
КонецПроцедуры
&НаКлиенте
Процедура ДействиеУстановкаКК(Результат, ВхКонтекст) Экспорт
ОбщееДействиеУстановкаКК(Неопределено, Неопределено, Неопределено);
КонецПроцедуры
&НаКлиенте
Процедура ДействиеИнформацияОПодписке(Результат, ВхКонтекст) Экспорт
ОбщееДействиеИнформацияОПодписке(Результат, Неопределено, Неопределено);
КонецПроцедуры
#КонецОбласти