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