Военкоматы / Форма элемента / Модуль формы

файл
#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// СтандартныеПодсистемы.Свойства
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("ИмяЭлементаДляРазмещения", "ГруппаДополнительныеРеквизиты");
	УправлениеСвойствами.ПриСозданииНаСервере(ЭтотОбъект, ДополнительныеПараметры);
	// Конец СтандартныеПодсистемы.Свойства
	
	НаименованияДляОбмена = Новый ФиксированныйМассив(Справочники.Военкоматы.СписокВоенкоматов());
	УстановитьСвойстваЭлементовФормы();
	
КонецПроцедуры

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
	
	// СтандартныеПодсистемы.Свойства
	УправлениеСвойствами.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
	// Конец СтандартныеПодсистемы.Свойства
	
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	// СтандартныеПодсистемы.Свойства
	УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.Свойства
	
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	
	// СтандартныеПодсистемы.Свойства
	УправлениеСвойствами.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект);
	// Конец СтандартныеПодсистемы.Свойства
	
КонецПроцедуры

&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
	
	// СтандартныеПодсистемы.Свойства
	УправлениеСвойствами.ОбработкаПроверкиЗаполнения(ЭтотОбъект, Отказ, ПроверяемыеРеквизиты);
	// Конец СтандартныеПодсистемы.Свойства
	
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	
	// СтандартныеПодсистемы.Свойства
	Если УправлениеСвойствамиКлиент.ОбрабатыватьОповещения(ЭтотОбъект, ИмяСобытия, Параметр) Тогда
		ОбновитьЭлементыДополнительныхРеквизитов();
		УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
	КонецЕсли;
	// Конец СтандартныеПодсистемы.Свойства
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиСобытийЭлементовШапкиФормы

&НаКлиенте
Процедура НаименованиеПриИзменении(Элемент)
	
	УстановитьСвойстваЭлементовФормы();
	
КонецПроцедуры

&НаКлиенте
Процедура АдресПриИзменении(Элемент)
	
	Текст = Элемент.ТекстРедактирования;
	Если ПустаяСтрока(Текст) Тогда
		// Очистка данных.
		// Сбрасываем как представления, 
		// так и внутренние значения полей.
		Объект.Адрес = "";
		Объект.АдресВнутреннееПредставление = "";
		Возврат;
	КонецЕсли;

	// Формируем внутренние значения полей по тексту 
	// и параметрам.
	Объект.Адрес = Текст;
	Объект.АдресВнутреннееПредставление = ЗначенияПолейКонтактнойИнформацииСервер(Текст);
	
КонецПроцедуры

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

&НаКлиенте
Процедура АдресОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	
	Если ТипЗнч(ВыбранноеЗначение) <> Тип("Структура") Тогда
		// Отказ от выбора, данные неизменны
		Возврат;
	КонецЕсли;
	
	Объект.Адрес = ВыбранноеЗначение.Представление;
	Объект.АдресВнутреннееПредставление = ВыбранноеЗначение.КонтактнаяИнформация;
	
КонецПроцедуры

&НаКлиенте
Процедура АдресОчистка(Элемент, СтандартнаяОбработка)
	
	Объект.Адрес = "";
	Объект.АдресВнутреннееПредставление = "";
	
КонецПроцедуры

&НаКлиенте
Процедура НаименованиеДляЭлектронногоОбменаНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
	
	ПараметрыФормы = Новый Структура("СписокВоенкоматов", НаименованияДляОбмена);
	ОткрытьФорму("Справочник.Военкоматы.Форма.ПодборНаименованияИзКлассификатора", ПараметрыФормы, Элемент);
	
КонецПроцедуры

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

&НаКлиенте
Процедура НаименованиеДляЭлектронногоОбменаПриИзменении(Элемент)
	
	УстановитьСвойстваЭлементовФормы();
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиКомандФормы

// СтандартныеПодсистемы.Свойства
&НаКлиенте
Процедура Подключаемый_СвойстваВыполнитьКоманду(ЭлементИлиКоманда, НавигационнаяСсылка = Неопределено, СтандартнаяОбработка = Неопределено)
	УправлениеСвойствамиКлиент.ВыполнитьКоманду(ЭтотОбъект, ЭлементИлиКоманда, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.Свойства

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

// СтандартныеПодсистемы.Свойства 
&НаСервере
Процедура ОбновитьЭлементыДополнительныхРеквизитов()
	УправлениеСвойствами.ОбновитьЭлементыДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры

&НаКлиенте
Процедура ОбновитьЗависимостиДополнительныхРеквизитов()
	УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ПриИзмененииДополнительногоРеквизита(Элемент)
	УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.Свойства

&НаСервереБезКонтекста
Функция ЗначенияПолейКонтактнойИнформацииСервер(Знач Представление)
	
	Возврат УправлениеКонтактнойИнформацией.КонтактнаяИнформацияXMLПоПредставлению(Представление, ПредопределенноеЗначение("Справочник.ВидыКонтактнойИнформации.АдресПоПропискеФизическиеЛица"));
	
КонецФункции

&НаСервере
Процедура УстановитьСвойстваЭлементовФормы()
	
	НаименованиеДляЭлектронногоОбмена = ?(ЗначениеЗаполнено(Объект.НаименованиеДляЭлектронногоОбмена),
		Объект.НаименованиеДляЭлектронногоОбмена, Объект.Наименование);
	СоответствуетКлассификатору = НаименованияДляОбмена.Найти(НаименованиеДляЭлектронногоОбмена) <> Неопределено;
	
	ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, 
		"НаименованиеДляЭлектронногоОбменаПредупреждениеКартинка", "Видимость", Не СоответствуетКлассификатору);
	
	ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, 
		"НаименованиеДляЭлектронногоОбменаПредупреждениеНадпись", "Видимость", Не СоответствуетКлассификатору);
		
КонецПроцедуры

#КонецОбласти

Связанные материалы