Документооборот с контролирующими органами / Мастер конфликт криптопровайдеров / Модуль формы

файл
&НаКлиенте
Перем КонтекстЭДОКлиент Экспорт;

#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Пропускаем инициализацию, чтобы гарантировать получение формы при передаче параметра "АвтоТест".
	Если Параметры.Свойство("АвтоТест") Тогда
		Возврат;
	КонецЕсли;
	
	Параметры.Свойство("КриптопровайдерПриКонфликте", КриптопровайдерПриКонфликте);

	Если Параметры.Свойство("Параметры") Тогда
		ПараметрыОткрытияМастера = Параметры.Параметры;
	Иначе
		ПараметрыОткрытияМастера = Новый Структура;
	КонецЕсли;
	
	ИзменитьОформлениеФормы(Параметры);
	
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	ОписаниеОповещения = Новый ОписаниеОповещения("ПриОткрытииЗавершение", ЭтотОбъект);
	ДокументооборотСКОКлиент.ПолучитьКонтекстЭДО(ОписаниеОповещения);

КонецПроцедуры

#КонецОбласти

#Область ОбработчикиСобытийЭлементовШапкиФормы

&НаКлиенте
Процедура ТребуетсяПомощьНажатие(Элемент)
	
	ОбработкаЗаявленийАбонентаКлиент.ОткрытьФормуПомощи(ЭтотОбъект,,,"https://help.astral.ru/v/129674256");
	
КонецПроцедуры

&НаКлиенте
Процедура ПродолжитьПодключение(Команда)
	
	ОписаниеОповещения = Новый ОписаниеОповещения(
		"ПродолжитьПодключениеПослеВопроса", 
		ЭтотОбъект);
		
	ДополнительныеПараметры = Новый Структура();
	ДополнительныеПараметры.Вставить("КриптопровайдерПриКонфликте", КриптопровайдерПриКонфликте);
	
	ОткрытьФорму(КонтекстЭДОКлиент.ПутьКОбъекту + ".Форма.Мастер_ПодтверждениеПриКонфликте",
		ДополнительныеПараметры,
		,
		,
		,
		,
		ОписаниеОповещения);
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиСобытийЭлементовТаблицыФормы

#КонецОбласти

#Область ОбработчикиКомандФормы

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

&НаСервере
Процедура ИзменитьОформлениеФормы(Параметры)

	Параметры.Свойство("ЭтоЗаявлениеНаИзменение", ЭтоЗаявлениеНаИзменение);
	
	Если ЭтоЗаявлениеНаИзменение Тогда
		Заголовок = НСтр("ru = 'Изменение подключения к 1С-Отчетности'");
		Элементы.УстранитеПроблему.Заголовок = НСтр("ru = 'Чтобы продолжить действие устраните следующую проблему:'");
		Элементы.ЧтоДелатьДальше.Заголовок   = НСтр("ru = 'После устранения проблемы повторите текущее действие.'");
		Элементы.ЗаголовокСовета3.Заголовок  = Новый ФорматированнаяСтрока(
			НСтр("ru = 'Настройте отправку 1С-Отчетности с другого компьютера по '"),
			Новый ФорматированнаяСтрока(НСтр("ru = 'инструкции'"),,,, "http://its.1c.ru/bmk/elreps/comp2/"))
	КонецЕсли;

КонецПроцедуры

&НаКлиенте
Процедура ПродолжитьПодключениеПослеВопроса(КриптопровайдерПриКонфликте, ВходящийКонтекст) Экспорт
	
	Если КриптопровайдерПриКонфликте = Неопределено Тогда
		
		Закрыть();
		
	Иначе
		
		// Чтобы после закрытия формы конфликта заново открыть мастер со всеми теми же параметрами.
		НовыеПараметрыОткрытияМастера = ДокументооборотСКОКлиентСервер.ПараметрыОткрытияМастера();
		ЗаполнитьЗначенияСвойств(НовыеПараметрыОткрытияМастера, ПараметрыОткрытияМастера);
		
		Если ПараметрыОткрытияМастера.Свойство("Реквизит") Тогда
			НовыеПараметрыОткрытияМастера.Вставить("ЗначениеКопирования", ПараметрыОткрытияМастера.Реквизит);
		КонецЕсли;
		
		НовыеПараметрыОткрытияМастера.Вставить("СоздатьНовоеЗаявление", 		Истина);
		НовыеПараметрыОткрытияМастера.Вставить("ИгнорироватьКонфликт",  		Истина);
		НовыеПараметрыОткрытияМастера.Вставить("КриптопровайдерПриКонфликте",  	КриптопровайдерПриКонфликте);
		
		Закрыть(НовыеПараметрыОткрытияМастера);
		
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытииЗавершение(Результат, ДополнительныеПараметры) Экспорт
	
	КонтекстЭДОКлиент = Результат.КонтекстЭДО;
	
	ДлительнаяОтправкаКлиент.ЗакрытьФормуОжиданияЗагрузкиМодуля();
	ТекущийЭлемент = Элементы.ФормаЗакрыть;
	
КонецПроцедуры

#КонецОбласти

Связанные материалы