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