Физические лица / Справки / Модуль формы

файл

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

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

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	Если Не НеРегистрироватьОткрытиеФормы Тогда
		СотрудникиКлиент.ЗарегистрироватьОткрытиеФормы(ЭтаФорма, ИмяФормы);
	КонецЕсли; 
	
КонецПроцедуры

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

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

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

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

&НаКлиенте
Процедура Ок(Команда)
	
	СохранитьИЗакрытьНаКлиенте();
	
КонецПроцедуры

&НаКлиенте
Процедура Отмена(Команда)
	
	Модифицированность = Ложь;
	Закрыть();
	
КонецПроцедуры

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

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

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

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

&НаКлиенте
Процедура СохранитьИЗакрыть(Результат, ДополнительныеПараметры) Экспорт 
	
	СохранитьИЗакрытьНаКлиенте();
	
КонецПроцедуры

&НаКлиенте
Процедура СохранитьИЗакрытьНаКлиенте(ЗакрытьФорму = Истина) Экспорт 

	Если НЕ ТолькоПросмотр Тогда
		ТекущийЭлемент = Элементы.ФормаОк;
	КонецЕсли; 
	
	Отказ = Ложь;
	СохранитьДанные(Отказ);
	
	Если НЕ Отказ Тогда
		
		Модифицированность = Ложь;
		Если ЗакрытьФорму И Открыта() Тогда
			Закрыть();
		КонецЕсли;
		
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
Функция АдресДанныхДополнительнойФормыНаСервере(ОписаниеДополнительнойФормы)
	
	Возврат СотрудникиФормы.АдресДанныхДополнительнойФормы(ОписаниеДополнительнойФормы, ЭтаФорма);
	
КонецФункции

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

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