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