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