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