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