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