Документооборот с контролирующими органами / Предупреждение об ошибке расшифровки ЭДОК / Модуль формы

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

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Пропускаем инициализацию, чтобы гарантировать получение формы при передаче параметра "АвтоТест".
	Если Параметры.Свойство("АвтоТест") Тогда
		Возврат;
	КонецЕсли;
	
	Если РегламентированнаяОтчетностьВызовСервера.ИспользуетсяОднаОрганизация() Тогда
		Элементы.ОтчетыОрганизация.Видимость = Ложь;
	КонецЕсли;
	
	АдресОтчетов = Параметры.АдресОтчетов;
	Если ЭтоАдресВременногоХранилища(АдресОтчетов) Тогда
		ПереданныеОтчеты = ПолучитьИзВременногоХранилища(АдресОтчетов);
		УдалитьИзВременногоХранилища(АдресОтчетов);
		
		Для каждого ПереданныйОтчет Из ПереданныеОтчеты Цикл
			Если (ПереданныйОтчет.РежимАвтонастройки = Перечисления.РежимыАвтонастройкиУчетнойЗаписиНалогоплательщика.Отключена
				ИЛИ НЕ ЗначениеЗаполнено(ПереданныйОтчет.РежимАвтонастройки))
				И УчетныеЗаписи.НайтиПоЗначению(ПереданныйОтчет.УчетнаяЗапись) = Неопределено Тогда
				
				УчетныеЗаписи.Добавить(ПереданныйОтчет.УчетнаяЗапись);
			КонецЕсли;
		КонецЦикла;
		
		Отчеты.Загрузить(ПереданныеОтчеты);
		
		ТекстТехническиеРаботыНаСервереСФР =
			НСтр("ru = 'По причине внеплановых технических работ на сервере СФР следующие отчеты не были приняты.'");
		ТекстПовторнаяОтправкаОтчета = НСтр("ru = 'Необходимо отправить перечисленные ниже отчеты повторно.'");
		
		Если УчетныеЗаписи.Количество() = 0 Тогда
			Элементы.Пояснение.Заголовок = ТекстТехническиеРаботыНаСервереСФР + "
				|" + ТекстПовторнаяОтправкаОтчета;
			
		ИначеЕсли УчетныеЗаписи.Количество() = 1 Тогда
			СсылкаУчетнойЗаписиДокументооборота = Новый ФорматированнаяСтрока(
				НСтр("ru = 'учетной записи документооборота'"),,,, "УчетнаяЗаписьДокументооборота");
			
			Элементы.Пояснение.Заголовок = Новый ФорматированнаяСтрока(
				ТекстТехническиеРаботыНаСервереСФР + "
				|" + ТекстПовторнаяОтправкаОтчета + "
				|" + НСтр("ru = 'Перед этим установите в'") + " ",
				СсылкаУчетнойЗаписиДокументооборота,
				" " + НСтр("ru = 'реквизит ""Автонастройка"" в значение ""Включена в тихом режиме"".'"));
			
		Иначе
			СсылкаУчетныхЗаписейДокументооборота = Новый ФорматированнаяСтрока(
				НСтр("ru = 'учетных записях документооборота'"),,,, "УчетныеЗаписиДокументооборота");
			
			Элементы.Пояснение.Заголовок = Новый ФорматированнаяСтрока(
				ТекстТехническиеРаботыНаСервереСФР + "
				|" + ТекстПовторнаяОтправкаОтчета + "
				|" + НСтр("ru = 'Перед этим установите в'") + " ",
				СсылкаУчетныхЗаписейДокументооборота,
				" " + НСтр("ru = 'реквизит ""Автонастройка"" в значение ""Включена в тихом режиме"".'"));
		КонецЕсли;
		
		НапомнитьПозжеОшибкиРасшифровкиЭДОК(Истина);
		
	Иначе
		Отказ = Истина;
	КонецЕсли;
	
КонецПроцедуры

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

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

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

&НаКлиенте
Процедура ПояснениеОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
	
	Если НавигационнаяСсылкаФорматированнойСтроки = "УчетнаяЗаписьДокументооборота" Тогда
		СтандартнаяОбработка = Ложь;
		ПоказатьЗначение(, УчетныеЗаписи[0].Значение);
		
	ИначеЕсли НавигационнаяСсылкаФорматированнойСтроки = "УчетныеЗаписиДокументооборота" Тогда
		СтандартнаяОбработка = Ложь;
		
		ПараметрыОткрытияФормы = Новый Структура;
		ПараметрыОткрытияФормы.Вставить("ЗаголовокСписка", НСтр("ru = 'Учетные записи документооборота'"));
		ПараметрыОткрытияФормы.Вставить("СписокЗначенийСсылок", УчетныеЗаписи);
		
		ОткрытьФорму(
			КонтекстЭДОКлиент.ПутьКОбъекту + ".Форма.ПоказатьСписокЗначений",
			ПараметрыОткрытияФормы);
	КонецЕсли;
	
КонецПроцедуры

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

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

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

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

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

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

&НаКлиенте
Процедура НапомнитьПозжеКоманда(Команда)
	
	НапомнитьПозжеОшибкиРасшифровкиЭДОК(Истина);
	Закрыть();
	
КонецПроцедуры

&НаКлиенте
Процедура БольшеНеПоказыватьКоманда(Команда)
	
	НапомнитьПозжеОшибкиРасшифровкиЭДОК(Ложь);
	Закрыть();
	
КонецПроцедуры

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

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

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

&НаСервере
Процедура НапомнитьПозжеОшибкиРасшифровкиЭДОК(НапомнитьПозже)
	
	ХранилищеОбщихНастроек.Сохранить("ДокументооборотСКонтролирующимиОрганами_ОшибкиРасшифровкиЭДОКНапомнитьПозже",,
		НапомнитьПозже);
	
КонецПроцедуры

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

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