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