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

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

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

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

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

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

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

&НаКлиенте
Процедура ПолеHTMLДокументаПриНажатии(Элемент, ДанныеСобытия, СтандартнаяОбработка)
	
	Если ДанныеСобытия.Href <> Неопределено Тогда
		Если СтрНайти(ДанныеСобытия.Href, "&УстановитьКриптоПроCSP") > 0 Тогда
			СтандартнаяОбработка = Ложь;
			
			Оповещение = Новый ОписаниеОповещения("СкачатьCryptoProПослеУстановки", ЭтотОбъект);
			ОбщегоНазначенияЭДКОКлиент.УстановитьCryptoProCSP(Оповещение, ЭтаФорма);
			
			Возврат;
			
		ИначеЕсли СтрНайти(ДанныеСобытия.Href, "&УстановитьViPNetCSP") > 0 Тогда
			СтандартнаяОбработка = Ложь;
			
			Оповещение = Новый ОписаниеОповещения("СкачатьCryptoProПослеУстановки", ЭтотОбъект);
			ОбщегоНазначенияЭДКОКлиент.УстановитьViPNetCSP(Оповещение, ЭтаФорма);
			
			Возврат;
		КонецЕсли;
	КонецЕсли;
	
КонецПроцедуры

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

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

&НаКлиенте
Процедура Отложить(Команда)
	
	СохранитьДатуНапоминания();
	
	Закрыть();
	
КонецПроцедуры

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

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

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

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

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

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

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