#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Параметры, "Заголовок,ФизическоеЛицоСсылка,ГоловнаяОрганизация,ТекущаяОрганизация,СтудентРаботающийВСтудотряде");
СотрудникСсылка = Параметры.СотрудникСсылка;
Если ЗначениеЗаполнено(СотрудникСсылка) Тогда
ИзФормыСотрудника = Истина;
КонецЕсли;
ЗначениеВРеквизитФормы(СотрудникиФормы.ФизическоеЛицоФормыСотрудника(ФизическоеЛицоСсылка), "ФизическоеЛицо");
СозданиеНового = Параметры.СозданиеНового И НЕ ЗначениеЗаполнено(ФизическоеЛицо.Ссылка);
ДоступноИзменениеДанныхФизическихЛиц = Пользователи.РолиДоступны("ДобавлениеИзменениеДанныхФизическихЛицЗарплатаКадры");
СотрудникиФормы.ПрочитатьДанныеИзХранилищаВФорму(
ЭтотОбъект,
СотрудникиКлиентСервер.ОписаниеДополнительнойФормы(ИмяФормы),
Параметры.АдресВХранилище);
ПроинициализироватьФорму();
ТекстПодсказкиКПоляДатаРегистрации = УчетСтраховыхВзносовКлиентСервер.ТекстПодсказкиПоляДатаРегистрацииПериодическихРегистров();
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений",
"Подсказка",
ТекстПодсказкиКПоляДатаРегистрации);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"СведенияОбИнвалидностиФизическихЛицНаборЗаписейДатаРегистрацииИзмененийСтрокой",
"Подсказка",
ТекстПодсказкиКПоляДатаРегистрации);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамДатаРегистрацииИзменений",
"Подсказка",
ТекстПодсказкиКПоляДатаРегистрации);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
СотрудникиКлиент.ЗарегистрироватьОткрытиеФормы(ЭтотОбъект, ИмяФормы);
СотрудникиКлиент.ПроверитьРежимТолькоПросмотраДополнительнойФормы(ЭтотОбъект, ИзФормыСотрудника);
КонецПроцедуры
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
Оповещение = Новый ОписаниеОповещения("СохранитьИЗакрыть", ЭтотОбъект);
ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияФормы(Оповещение, Отказ, ЗавершениеРаботы, ТекстПредупреждения);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
СотрудникиКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник);
Если ИмяСобытия = "ОтредактированаИстория" И ФизическоеЛицоСсылка = Источник Тогда
Если Параметр.ИмяРегистра = "СтатусыЗастрахованныхФизическихЛиц" Тогда
Если СтатусыЗастрахованныхФизическихЛицНаборЗаписейПрочитан Тогда
РедактированиеПериодическихСведенийКлиент.ОбработкаОповещения(
ЭтотОбъект,
ФизическоеЛицоСсылка,
ИмяСобытия,
Параметр,
Источник);
ОбновитьПолеСтатусыЗастрахованныхФизическихЛицПериод(ЭтотОбъект, ОбщегоНазначенияКлиент.ДатаСеанса());
ОбновитьПолеСтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений(ЭтотОбъект, ОбщегоНазначенияКлиент.ДатаСеанса());
УстановитьОтображениеОсобенностиРасчетаСтраховыхВзносов();
КонецЕсли;
ИначеЕсли Параметр.ИмяРегистра = "СведенияОбИнвалидностиФизическихЛиц" Тогда
Если СведенияОбИнвалидностиФизическихЛицНаборЗаписейПрочитан Тогда
РедактированиеПериодическихСведенийКлиент.ОбработкаОповещения(
ЭтотОбъект,
ФизическоеЛицоСсылка,
ИмяСобытия,
Параметр,
Источник);
ОбновитьПолеСведенияОбИнвалидностиПериод(ЭтотОбъект, ОбщегоНазначенияКлиент.ДатаСеанса());
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
РедактированиеПериодическихСведений.ПроверитьЗаписьВФорме(ЭтотОбъект, "СведенияОбИнвалидностиФизическихЛиц", ФизическоеЛицоСсылка, Отказ);
РедактированиеПериодическихСведений.ПроверитьЗаписьВФорме(ЭтотОбъект, "СтатусыЗастрахованныхФизическихЛиц", ФизическоеЛицоСсылка, Отказ);
Если ЛьготаПрименяется И НЕ ЗначениеЗаполнено(ФизическоеЛицо.ЛьготаПриНачисленииПособий) Тогда
ОбщегоНазначения.СообщитьПользователю(
НСтр("ru='Не заполнена льгота при начислении пособий'"),
,
"ЛьготаПриНачисленииПособий",
,
Отказ);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ФизическоеЛицоПрименяетсяФЗ_20_2023ПриИзменении(Элемент)
Если Не ЗаблокироватьОбъектВФормеВладельце()Тогда
ФизическоеЛицо.ПрименяетсяФЗ_20_2023 = ПрименяетсяФЗ_20_2023Прежнее;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ФизическоеЛицоПостоянноПроживалВКрыму18Марта2014ГодаПриИзменении(Элемент)
Если Не ЗаблокироватьОбъектВФормеВладельце()Тогда
ФизическоеЛицо.ПостоянноПроживалВКрыму18Марта2014Года = ПостоянноПроживалВКрыму18Марта2014ГодаПрежнее;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ФизическоеЛицоФактПроживанияДНРЛНРЗОХОПриИзменении(Элемент)
Если Не ЗаблокироватьОбъектВФормеВладельце()Тогда
ФизическоеЛицо.ФактПроживанияДНРЛНРЗОХО = ФактПроживанияДНРЛНРЗОХОПрежнее;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ФизическоеЛицоФактПроживанияДНРЛНРПриИзменении(Элемент)
Если Не ЗаблокироватьОбъектВФормеВладельце()Тогда
ФизическоеЛицо.ФактПроживанияДНРЛНР = ФактПроживанияДНРЛНРПрежнее;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ФизическоеЛицоФактПроживанияЗОХОПриИзменении(Элемент)
Если Не ЗаблокироватьОбъектВФормеВладельце()Тогда
ФизическоеЛицо.ФактПроживанияЗОХО = ФактПроживанияЗОХОПрежнее;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СведенияОЛьготахФизическихЛицПострадавшихВАварииЧАЭСКоличествоДнейОтпускаПриИзменении(Элемент)
Если Не ЗаблокироватьОбъектВФормеВладельце()Тогда
ЗаполнитьЗначенияСвойств(СведенияОЛьготахФизическихЛицПострадавшихВАварииЧАЭС, СведенияОЛьготахФизическихЛицПострадавшихВАварииЧАЭСПрежняя);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СтудентРаботающийВСтудотрядеПриИзменении(Элемент)
Если ЗаблокироватьОбъектВФормеВладельце()Тогда
ВладелецФормы.Сотрудник.СтудентРаботающийВСтудотряде = СтудентРаботающийВСтудотряде;
КонецЕсли;
КонецПроцедуры
#Область РедактированиеСтатусаЗастрахованногоЛица
&НаКлиенте
Процедура СтатусыЗастрахованныхФизическихЛицВидЗастрахованногоЛицаПриИзменении(Элемент)
Если Не СтатусыЗастрахованныхФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
Возврат;
КонецЕсли;
ОбновитьПолеСтатусыЗастрахованныхФизическихЛицПериод(ЭтотОбъект, ОбщегоНазначенияКлиент.ДатаСеанса());
ОбновитьПолеСтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений(ЭтотОбъект, ОбщегоНазначенияКлиент.ДатаСеанса());
УстановитьОтображениеОсобенностиРасчетаСтраховыхВзносов();
КонецПроцедуры
&НаКлиенте
Процедура СтатусыЗастрахованныхФизическихЛицВидЗастрахованногоЛицаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если Не СтатусыЗастрахованныхФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СтатусыЗастрахованныхФизическихЛицПериодНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если Не СтатусыЗастрахованныхФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
Оповещение = Новый ОписаниеОповещения("СтатусыЗастрахованныхФизическихЛицПериодНачалоВыбораЗавершение", ЭтотОбъект);
ЗарплатаКадрыКлиент.ВводМесяцаНачалоВыбора(
ЭтотОбъект,
ЭтотОбъект,
"СтатусыЗастрахованныхФизическихЛицПериод",
"СтатусыЗастрахованныхФизическихЛицПериодСтрокой", ,
Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура СтатусыЗастрахованныхФизическихЛицПериодНачалоВыбораЗавершение(ЗначениеВыбрано, ДополнительныеПараметры) Экспорт
Если Не СтатусыЗастрахованныхФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
Возврат;
КонецЕсли;
СтатусыЗастрахованныхФизическихЛиц.Период = СтатусыЗастрахованныхФизическихЛицПериод;
СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений = СтатусыЗастрахованныхФизическихЛицПериод;
СтатусыЗастрахованныхФизическихЛиц.ДатаРегистрацииИзменений = СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений;
ОбновитьПолеСтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений(ЭтотОбъект, ОбщегоНазначенияКлиент.ДатаСеанса());
КонецПроцедуры
&НаКлиенте
Процедура СтатусыЗастрахованныхФизическихЛицПериодРегулирование(Элемент, Направление, СтандартнаяОбработка)
Если Не СтатусыЗастрахованныхФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
ЗарплатаКадрыКлиент.ВводМесяцаРегулирование(
ЭтотОбъект,
"СтатусыЗастрахованныхФизическихЛицПериод",
"СтатусыЗастрахованныхФизическихЛицПериодСтрокой",
Направление,
Модифицированность);
СтатусыЗастрахованныхФизическихЛиц.Период = СтатусыЗастрахованныхФизическихЛицПериод;
ОбновитьПолеСтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений(ЭтотОбъект, ОбщегоНазначенияКлиент.ДатаСеанса());
КонецПроцедуры
&НаКлиенте
Процедура СтатусыЗастрахованныхФизическихЛицПериодАвтоПодбор(Элемент, Текст, ДанныеВыбора, Ожидание, СтандартнаяОбработка)
Если Не СтатусыЗастрахованныхФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
ЗарплатаКадрыКлиент.ВводМесяцаАвтоПодборТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура СтатусыЗастрахованныхФизическихЛицПериодОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка)
Если Не СтатусыЗастрахованныхФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
ЗарплатаКадрыКлиент.ВводМесяцаОкончаниеВводаТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);
СтатусыЗастрахованныхФизическихЛиц.Период = СтатусыЗастрахованныхФизическихЛицПериод;
КонецПроцедуры
&НаКлиенте
Процедура СтатусыЗастрахованныхФизическихЛицПериодПриИзменении(Элемент)
Если Не СтатусыЗастрахованныхФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
Возврат;
КонецЕсли;
ЗарплатаКадрыКлиент.ВводМесяцаПриИзменении(
ЭтотОбъект,
"СтатусыЗастрахованныхФизическихЛицПериод",
"СтатусыЗастрахованныхФизическихЛицПериодСтрокой",
Модифицированность);
СтатусыЗастрахованныхФизическихЛиц.Период = СтатусыЗастрахованныхФизическихЛицПериод;
СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений = СтатусыЗастрахованныхФизическихЛицПериод;
СтатусыЗастрахованныхФизическихЛиц.ДатаРегистрацииИзменений = СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений;
ОбновитьПолеСтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений(ЭтотОбъект, ОбщегоНазначенияКлиент.ДатаСеанса());
КонецПроцедуры
&НаКлиенте
Процедура СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзмененийПриИзменении(Элемент)
Если Не СтатусыЗастрахованныхФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
Возврат;
КонецЕсли;
СтатусыЗастрахованныхФизическихЛиц.ДатаРегистрацииИзменений = СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений;
ОбновитьПолеСтатусыЗастрахованныхФизическихЛицПериод(ЭтотОбъект, ОбщегоНазначенияКлиент.ДатаСеанса());
КонецПроцедуры
&НаКлиенте
Процедура СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзмененийНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если Не СтатусыЗастрахованныхФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
Оповещение = Новый ОписаниеОповещения("СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзмененийНачалоВыбораЗавершение", ЭтотОбъект);
ЗарплатаКадрыКлиент.ВводМесяцаНачалоВыбора(
ЭтотОбъект,
ЭтотОбъект,
"СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений",
"СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзмененийСтрокой", ,
Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзмененийНачалоВыбораЗавершение(ЗначениеВыбрано, ДополнительныеПараметры) Экспорт
СтатусыЗастрахованныхФизическихЛиц.ДатаРегистрацииИзменений = СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений;
КонецПроцедуры
&НаКлиенте
Процедура СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзмененийРегулирование(Элемент, Направление, СтандартнаяОбработка)
Если Не СтатусыЗастрахованныхФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
ЗарплатаКадрыКлиент.ВводМесяцаРегулирование(
ЭтотОбъект,
"СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений",
"СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзмененийСтрокой",
Направление,
Модифицированность);
СтатусыЗастрахованныхФизическихЛиц.ДатаРегистрацииИзменений = СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений;
КонецПроцедуры
&НаКлиенте
Процедура СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзмененийАвтоПодбор(Элемент, Текст, ДанныеВыбора, Параметры, Ожидание, СтандартнаяОбработка)
Если Не СтатусыЗастрахованныхФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
ЗарплатаКадрыКлиент.ВводМесяцаАвтоПодборТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзмененийОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка)
Если Не СтатусыЗастрахованныхФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
ЗарплатаКадрыКлиент.ВводМесяцаОкончаниеВводаТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#Область РедактированиеСведенийОбИнвалидности
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицДатаВыдачиПриИзменении(Элемент)
Если Не СведенияОбИнвалидностиФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
Возврат;
КонецЕсли;
ОбновитьПолеСведенияОбИнвалидностиПериод(ЭтотОбъект, ОбщегоНазначенияКлиент.ДатаСеанса());
КонецПроцедуры
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицДатаВыдачиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если Не СведенияОбИнвалидностиФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицСрокДействияСправкиПриИзменении(Элемент)
Если Не СведенияОбИнвалидностиФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
Возврат;
КонецЕсли;
ОбновитьПолеСведенияОбИнвалидностиПериод(ЭтотОбъект, ОбщегоНазначенияКлиент.ДатаСеанса());
КонецПроцедуры
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицСрокДействияСправкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если Не СведенияОбИнвалидностиФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицИнвалидностьПриИзменении(Элемент)
Если Не СведенияОбИнвалидностиФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
Возврат;
КонецЕсли;
ОбновитьПолеСведенияОбИнвалидностиПериод(ЭтотОбъект, ОбщегоНазначенияКлиент.ДатаСеанса());
КонецПроцедуры
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицПериодСтрокойПриИзменении(Элемент)
Если Не СведенияОбИнвалидностиФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
Возврат;
КонецЕсли;
ЗарплатаКадрыКлиент.ВводМесяцаПриИзменении(ЭтотОбъект, "СведенияОбИнвалидностиФизическихЛиц.Период", "СведенияОбИнвалидностиФизическихЛицПериодСтрокой", Модифицированность);
УстановитьДатуРегистрацииСведенийОбИнвалидностиПоПериоду();
КонецПроцедуры
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицПериодСтрокойНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если Не СведенияОбИнвалидностиФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
Оповещение = Новый ОписаниеОповещения("СведенияОбИнвалидностиФизическихЛицПериодСтрокойНачалоВыбораЗавершение", ЭтотОбъект);
ЗарплатаКадрыКлиент.ВводМесяцаНачалоВыбора(ЭтотОбъект, ЭтотОбъект, "СведенияОбИнвалидностиФизическихЛиц.Период", "СведенияОбИнвалидностиФизическихЛицПериодСтрокой", ,Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицПериодСтрокойНачалоВыбораЗавершение(Результат = Истина, Параметр = Неопределено) Экспорт
УстановитьДатуРегистрацииСведенийОбИнвалидностиПоПериоду();
КонецПроцедуры
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицПериодСтрокойРегулирование(Элемент, Направление, СтандартнаяОбработка)
Если Не СведенияОбИнвалидностиФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
ЗарплатаКадрыКлиент.ВводМесяцаРегулирование(ЭтотОбъект, "СведенияОбИнвалидностиФизическихЛиц.Период", "СведенияОбИнвалидностиФизическихЛицПериодСтрокой", Направление, Модифицированность);
УстановитьДатуРегистрацииСведенийОбИнвалидностиПоПериоду();
КонецПроцедуры
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицПериодСтрокойАвтоПодбор(Элемент, Текст, ДанныеВыбора, Ожидание, СтандартнаяОбработка)
Если Не СведенияОбИнвалидностиФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
ЗарплатаКадрыКлиент.ВводМесяцаАвтоПодборТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицПериодСтрокойОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка)
Если Не СведенияОбИнвалидностиФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
ЗарплатаКадрыКлиент.ВводМесяцаОкончаниеВводаТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицНаборЗаписейДатаРегистрацииИзмененийСтрокойПриИзменении(Элемент)
Если Не СведенияОбИнвалидностиФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
Возврат;
КонецЕсли;
ЗарплатаКадрыКлиент.ВводМесяцаПриИзменении(ЭтотОбъект, "СведенияОбИнвалидностиФизическихЛиц.ДатаРегистрацииИзменений", "СведенияОбИнвалидностиФизическихДатаРегистрацииИзмененийСтрокой", Модифицированность);
КонецПроцедуры
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицНаборЗаписейДатаРегистрацииИзмененийСтрокойНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если Не СведенияОбИнвалидностиФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
ЗарплатаКадрыКлиент.ВводМесяцаНачалоВыбора(ЭтотОбъект, ЭтотОбъект, "СведенияОбИнвалидностиФизическихЛиц.ДатаРегистрацииИзменений", "СведенияОбИнвалидностиФизическихДатаРегистрацииИзмененийСтрокой");
КонецПроцедуры
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицНаборЗаписейДатаРегистрацииИзмененийСтрокойРегулирование(Элемент, Направление, СтандартнаяОбработка)
Если Не СведенияОбИнвалидностиФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
ЗарплатаКадрыКлиент.ВводМесяцаРегулирование(ЭтотОбъект, "СведенияОбИнвалидностиФизическихЛиц.ДатаРегистрацииИзменений", "СведенияОбИнвалидностиФизическихДатаРегистрацииИзмененийСтрокой", Направление, Модифицированность);
КонецПроцедуры
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицНаборЗаписейДатаРегистрацииИзмененийСтрокойАвтоПодбор(Элемент, Текст, ДанныеВыбора, Параметры, Ожидание, СтандартнаяОбработка)
Если Не СведенияОбИнвалидностиФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
ЗарплатаКадрыКлиент.ВводМесяцаАвтоПодборТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицНаборЗаписейДатаРегистрацииИзмененийСтрокойОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка)
Если Не СведенияОбИнвалидностиФизическихЛицЗаблокироватьФизическоеЛицо() Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
ЗарплатаКадрыКлиент.ВводМесяцаАвтоПодборТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#Область ЛьготыПриНачисленииПособий
&НаКлиенте
Процедура ЛьготаПрименяетсяПриИзменении(Элемент)
Если Не ЗаблокироватьОбъектВФормеВладельце()Тогда
ФизическоеЛицо.ЛьготаПриНачисленииПособий = ЛьготаПриНачисленииПособийПрежняя;
ФизическоеЛицо.ОтношениеКОсобойЗоне = ОтношениеКОсобойЗонеДоИзменения;
ФизическоеЛицо.ВидОсобойЗоны = ВидОсобойЗоныДоИзменения;
Возврат;
КонецЕсли;
ЛьготаПрименяетсяПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ЛьготаПриНачисленииПособийПриИзменении(Элемент)
Если Не ЗаблокироватьОбъектВФормеВладельце()Тогда
ФизическоеЛицо.ЛьготаПриНачисленииПособий = ЛьготаПриНачисленииПособийПрежняя;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтношениеКОсобойЗонеИспользуетсяПриИзменении(Элемент)
Если Не ЗаблокироватьОбъектВФормеВладельце()Тогда
ФизическоеЛицо.ОтношениеКОсобойЗоне = ОтношениеКОсобойЗонеДоИзменения;
ФизическоеЛицо.ВидОсобойЗоны = ВидОсобойЗоныДоИзменения;
Возврат;
КонецЕсли;
ОтношениеКОсобойЗонеИспользуетсяПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ОтношениеКОсобойЗонеПриИзменении(Элемент)
Если Не ЗаблокироватьОбъектВФормеВладельце()Тогда
ФизическоеЛицо.ОтношениеКОсобойЗоне = ОтношениеКОсобойЗонеДоИзменения;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВидОсобойЗоныПриИзменении(Элемент)
Если Не ЗаблокироватьОбъектВФормеВладельце()Тогда
ФизическоеЛицо.ВидОсобойЗоны = ВидОсобойЗоныДоИзменения;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыНаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
Если Не ЗаблокироватьОбъектВФормеВладельце() Тогда
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамПередНачаломИзменения(Элемент, Отказ)
Если Не ЗаблокироватьОбъектВФормеВладельце() Тогда
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамПередУдалением(Элемент, Отказ)
Если Не ЗаблокироватьОбъектВФормеВладельце() Тогда
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
Если НоваяСтрока Тогда
СтрокаНаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам = НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.НайтиПоИдентификатору(Элементы.НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ТекущаяСтрока);
СтрокаНаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.Период = НачалоМесяца(ОбщегоНазначенияКлиент.ДатаСеанса());
Если ЗначениеЗаполнено(ГоловнаяОрганизация) Тогда
СтрокаНаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ГоловнаяОрганизация = ГоловнаяОрганизация;
КонецЕсли;
СтрокаНаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ПринятПоДолгосрочномуДоговору = Истина;
ЗарплатаКадрыКлиентСервер.ЗаполнитьМесяцПоДате(Элемент.ТекущиеДанные, "Период", "ПериодСтрокой");
НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамУстановитьДатуРегистрацииПоПериоду();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)
Если ОтменаРедактирования Тогда
Возврат;
КонецЕсли;
СтрокаНаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам = НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.НайтиПоИдентификатору(Элементы.НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ТекущаяСтрока);
Если НоваяСтрока Тогда
СтрокаНаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ФизическоеЛицо = ФизическоеЛицоСсылка;
СтруктураПоиска = Новый Структура("ГоловнаяОрганизация,Период", СтрокаНаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ГоловнаяОрганизация, СтрокаНаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.Период);
Если НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.НайтиСтроки(СтруктураПоиска).Количество() > 1 Тогда
Отказ = Истина;
ТекстПредупреждения = НСтр("ru = 'Уже есть запись о долгосрочном договоре с организацией %1, период %2'");
ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПредупреждения,
СтрокаНаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ГоловнаяОрганизация,
Формат(СтрокаНаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.Период, "ДФ='ММММ гггг'"));
ПоказатьПредупреждение(, ТекстПредупреждения, , НСтр("ru = 'Ошибка'"));
Возврат;
КонецЕсли;
КонецЕсли;
Отказ = Отказ Или НЕ ПериодыВведеныВерно(СтрокаНаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.Период, СтрокаНаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ДействуетДо);
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамПериодСтрокойПриИзменении(Элемент)
ЗарплатаКадрыКлиент.ВводМесяцаПриИзменении(Элементы.НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ТекущиеДанные, "Период", "ПериодСтрокой", Модифицированность);
НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамУстановитьДатуРегистрацииПоПериоду();
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамПериодСтрокойНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Оповещение = Новый ОписаниеОповещения("НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамУстановитьДатуРегистрацииПоПериоду", ЭтотОбъект);
ЗарплатаКадрыКлиент.ВводМесяцаНачалоВыбора(ЭтотОбъект, Элементы.НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ТекущиеДанные, "Период", "ПериодСтрокой", , Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамПериодСтрокойРегулирование(Элемент, Направление, СтандартнаяОбработка)
ЗарплатаКадрыКлиент.ВводМесяцаРегулирование(Элементы.НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ТекущиеДанные, "Период", "ПериодСтрокой", Направление, Модифицированность);
НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамУстановитьДатуРегистрацииПоПериоду();
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамПериодСтрокойАвтоПодбор(Элемент, Текст, ДанныеВыбора, Ожидание, СтандартнаяОбработка)
ЗарплатаКадрыКлиент.ВводМесяцаАвтоПодборТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамПериодСтрокойОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка)
ЗарплатаКадрыКлиент.ВводМесяцаОкончаниеВводаТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамДействуетДоСтрокойПриИзменении(Элемент)
ЗарплатаКадрыКлиент.ВводМесяцаПриИзменении(Элементы.НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ТекущиеДанные, "ДействуетДо", "ДействуетДоСтрокой", Модифицированность);
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамДействуетДоСтрокойНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ЗарплатаКадрыКлиент.ВводМесяцаНачалоВыбора(
ЭтотОбъект,
Элементы.НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ТекущиеДанные,
"ДействуетДо",
"ДействуетДоСтрокой");
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамДействуетДоСтрокойРегулирование(Элемент, Направление, СтандартнаяОбработка)
ЗарплатаКадрыКлиент.ВводМесяцаРегулирование(Элементы.НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ТекущиеДанные, "ДействуетДо", "ДействуетДоСтрокой", Направление, Модифицированность);
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамДействуетДоСтрокойАвтоПодбор(Элемент, Текст, ДанныеВыбора, Ожидание, СтандартнаяОбработка)
ЗарплатаКадрыКлиент.ВводМесяцаАвтоПодборТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамДействуетДоСтрокойОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка)
ЗарплатаКадрыКлиент.ВводМесяцаОкончаниеВводаТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамДатаРегистрацииИзмененийПриИзменении(Элемент)
ЗарплатаКадрыКлиент.ВводМесяцаПриИзменении(
Элементы.НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ТекущиеДанные,
"ДатаРегистрацииИзменений",
"ДатаРегистрацииИзмененийСтрокой",
Модифицированность);
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамДатаРегистрацииИзмененийНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ЗарплатаКадрыКлиент.ВводМесяцаНачалоВыбора(
ЭтотОбъект,
Элементы.НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ТекущиеДанные,
"ДатаРегистрацииИзменений",
"ДатаРегистрацииИзмененийСтрокой");
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамДатаРегистрацииИзмененийРегулирование(Элемент, Направление, СтандартнаяОбработка)
ЗарплатаКадрыКлиент.ВводМесяцаРегулирование(
Элементы.НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ТекущиеДанные,
"ДатаРегистрацииИзменений",
"ДатаРегистрацииИзмененийСтрокой",
Направление,
Модифицированность);
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамДатаРегистрацииИзмененийАвтоПодбор(Элемент, Текст, ДанныеВыбора, Параметры, Ожидание, СтандартнаяОбработка)
ЗарплатаКадрыКлиент.ВводМесяцаАвтоПодборТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамДатаРегистрацииИзмененийОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка)
ЗарплатаКадрыКлиент.ВводМесяцаОкончаниеВводаТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамУстановитьДатуРегистрацииПоПериоду(Результат = Истина, Параметр = Неопределено) Экспорт
ДанныеТекущейСтроки = Элементы.НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ТекущиеДанные;
Если ДанныеТекущейСтроки <> Неопределено Тогда
ДанныеТекущейСтроки.ДатаРегистрацииИзменений = НачалоМесяца(ДанныеТекущейСтроки.Период);
ЗарплатаКадрыКлиентСервер.ЗаполнитьМесяцПоДате(ДанныеТекущейСтроки, "ДатаРегистрацииИзменений", "ДатаРегистрацииИзмененийСтрокой");
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура СтатусыЗастрахованныхФизическихЛицИстория(Команда)
СотрудникиКлиент.ОткрытьФормуРедактированияИстории("СтатусыЗастрахованныхФизическихЛиц", ФизическоеЛицоСсылка, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура СведенияОбИнвалидностиФизическихЛицИстория(Команда)
СотрудникиКлиент.ОткрытьФормуРедактированияИстории("СведенияОбИнвалидностиФизическихЛиц", ФизическоеЛицоСсылка, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Ок(Команда)
СохранитьИЗакрытьНаКлиенте();
КонецПроцедуры
&НаКлиенте
Процедура Отмена(Команда)
Модифицированность = Ложь;
Закрыть();
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура ПроинициализироватьФорму()
ПрименяетсяФЗ_20_2023Прежнее = ФизическоеЛицо.ПрименяетсяФЗ_20_2023;
ПостоянноПроживалВКрыму18Марта2014ГодаПрежнее = ФизическоеЛицо.ПостоянноПроживалВКрыму18Марта2014Года;
ЛьготаПриНачисленииПособийПрежняя = ФизическоеЛицо.ЛьготаПриНачисленииПособий;
ОтношениеКОсобойЗонеДоИзменения = ФизическоеЛицо.ОтношениеКОсобойЗоне;
ВидОсобойЗоныДоИзменения = ФизическоеЛицо.ВидОсобойЗоны;
ФактПроживанияДНРЛНРЗОХОПрежнее = ФизическоеЛицо.ФактПроживанияДНРЛНРЗОХО;
ФактПроживанияДНРЛНРПрежнее = ФизическоеЛицо.ФактПроживанияДНРЛНР;
ФактПроживанияЗОХОПрежнее = ФизическоеЛицо.ФактПроживанияЗОХО;
Если СтатусыЗастрахованныхФизическихЛицПрежняя = Неопределено Тогда
РедактированиеПериодическихСведений.ПрочитатьЗаписьДляРедактированияВФорме(ЭтотОбъект, "СтатусыЗастрахованныхФизическихЛиц", ФизическоеЛицоСсылка);
КонецЕсли;
ОбновитьПолеСтатусыЗастрахованныхФизическихЛицПериод(ЭтотОбъект, ТекущаяДатаСеанса(), Ложь);
ОбновитьПолеСтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений(ЭтотОбъект, ТекущаяДатаСеанса(), Ложь);
Если СведенияОбИнвалидностиФизическихЛицПрежняя = Неопределено Тогда
РедактированиеПериодическихСведений.ПрочитатьЗаписьДляРедактированияВФорме(ЭтотОбъект, "СведенияОбИнвалидностиФизическихЛиц", ФизическоеЛицоСсылка);
КонецЕсли;
ОбновитьПолеСведенияОбИнвалидностиПериод(ЭтотОбъект, ТекущаяДатаСеанса());
ОбновитьПолеСведенияОбИнвалидностиДатаРегистрацииИзменений(ЭтотОбъект);
Если НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамПрочитан = Ложь Тогда
ПрочитатьДанныеОДолгосрочныхДоговорах(ТекущаяОрганизация, ЗначениеЗаполнено(ТекущаяОрганизация));
КонецЕсли;
Если СведенияОЛьготахФизическихЛицПострадавшихВАварииЧАЭСПрочитан = Ложь Тогда
Запись = РегистрыСведений.СведенияОЛьготахФизическихЛицПострадавшихВАварииЧАЭС.СоздатьМенеджерЗаписи();
Запись.ФизическоеЛицо = ФизическоеЛицоСсылка;
Запись.Прочитать();
Если НЕ ЗначениеЗаполнено(Запись.ФизическоеЛицо) Тогда
Запись.ФизическоеЛицо = ФизическоеЛицоСсылка;
КонецЕсли;
ЗначениеВРеквизитФормы(Запись, "СведенияОЛьготахФизическихЛицПострадавшихВАварииЧАЭС");
СведенияОЛьготахФизическихЛицПострадавшихВАварииЧАЭСПрочитан = Истина;
СведенияОЛьготахФизическихЛицПострадавшихВАварииЧАЭСПрежняя = ОбщегоНазначения.СтруктураПоМенеджеруЗаписи(СведенияОЛьготахФизическихЛицПострадавшихВАварииЧАЭС,
Метаданные.РегистрыСведений.СведенияОЛьготахФизическихЛицПострадавшихВАварииЧАЭС);
КонецЕсли;
ЛьготаПрименяется = ЗначениеЗаполнено(ФизическоеЛицо.ЛьготаПриНачисленииПособий);
ОтношениеКОсобойЗонеИспользуется = ЛьготаПрименяется
И Элементы.ОтношениеКОсобойЗоне.СписокВыбора.НайтиПоЗначению(ФизическоеЛицо.ОтношениеКОсобойЗоне) <> Неопределено;
ОбновитьДоступностьПрименяемойЛьготы();
УстановитьПривилегированныйРежим(Истина);
ПараметрыПолученияСотрудников = КадровыйУчет.ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц();
ПараметрыПолученияСотрудников.СписокФизическихЛиц = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ФизическоеЛицоСсылка);
ПараметрыПолученияСотрудников.КадровыеДанные = "ОформленПоТрудовомуДоговору";
СотрудникиФизическогоЛица = КадровыйУчет.СотрудникиОрганизации(Истина, ПараметрыПолученияСотрудников);
ОформленныеСотрудники = СотрудникиФизическогоЛица.НайтиСтроки(Новый Структура("ОформленПоТрудовомуДоговору", Истина));
ТолькоСтрахование = ОформленныеСотрудники.Количество() = 0;
УстановитьПривилегированныйРежим(Ложь);
УстановитьОтображениеОсобенностиРасчетаСтраховыхВзносов();
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"Льгота",
"Видимость",
НЕ ТолькоСтрахование);
ЗарплатаКадрыКлиентСервер.ЗаполнитьМесяцПоДатеВТабличнойЧасти(
НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам,
"ДатаРегистрацииИзменений",
"ДатаРегистрацииИзмененийСтрокой");
СтудентРаботающийВСтудотрядеОтображениеПредупреждения = ОтображениеПредупрежденияПриРедактировании.НеОтображать;
СтудентРаботающийВСтудотрядеПредупреждениеПриРедактировании = "";
Если СотрудникиФизическогоЛица.НайтиСтроки(Новый Структура("Сотрудник,ОформленПоТрудовомуДоговору", СотрудникСсылка,Истина)).Количество() > 0 Тогда
СтудентРаботающийВСтудотрядеОтображениеПредупреждения = ОтображениеПредупрежденияПриРедактировании.Отображать;
СтудентРаботающийВСтудотрядеПредупреждениеПриРедактировании = НСтр("ru = 'После изменения флага ""Студент работающий в студотряде"" возможно, потребуется пересчитать взносы'");
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"СтудентРаботающийВСтудотряде",
"Видимость",
ИзФормыСотрудника);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"СтудентРаботающийВСтудотряде",
"ОтображениеПредупрежденияПриРедактировании",
СтудентРаботающийВСтудотрядеОтображениеПредупреждения);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"СтудентРаботающийВСтудотряде",
"ПредупреждениеПриРедактировании",
СтудентРаботающийВСтудотрядеПредупреждениеПриРедактировании);
КонецПроцедуры
&НаКлиенте
Процедура СохранитьДанные(Отказ, ОповещениеЗавершения = Неопределено) Экспорт
Если Не Модифицированность Тогда
Если ОповещениеЗавершения <> Неопределено Тогда
ВыполнитьОбработкуОповещения(ОповещениеЗавершения, Отказ);
КонецЕсли;
Возврат;
КонецЕсли;
Если Не СозданиеНового Тогда
ЗапроситьРежимИзмененияСтраховогоСтатуса(Отказ, ОповещениеЗавершения);
Иначе
СохранитьДанныеЗавершение(Отказ, ОповещениеЗавершения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СохранитьДанныеЗавершение(Отказ, ОповещениеЗавершения) Экспорт
Если Не Отказ Тогда
Если ПроверитьЗаполнение() Тогда
ВозвращаемыйПараметр = Новый Структура;
ВозвращаемыйПараметр.Вставить("ИмяФормы", ИмяФормы);
ВозвращаемыйПараметр.Вставить("АдресВХранилище", АдресДанныхДополнительнойФормыНаСервере(СотрудникиКлиентСервер.ОписаниеДополнительнойФормы(ИмяФормы)));
Оповестить(
"ИзмененыДанныеДополнительнойФормы",
ВозвращаемыйПараметр,
ВладелецФормы);
Иначе
Отказ = Истина;
КонецЕсли;
КонецЕсли;
Если ОповещениеЗавершения <> Неопределено Тогда
ВыполнитьОбработкуОповещения(ОповещениеЗавершения, Отказ);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СохранитьИЗакрыть(Результат, ДополнительныеПараметры) Экспорт
СохранитьИЗакрытьНаКлиенте();
КонецПроцедуры
&НаКлиенте
Процедура СохранитьИЗакрытьНаКлиенте(ЗакрытьФорму = Истина) Экспорт
Если НЕ ТолькоПросмотр Тогда
ТекущийЭлемент = Элементы.ФормаОк;
КонецЕсли;
ДополнительныеПараметры = Новый Структура("ЗакрытьФорму", ЗакрытьФорму);
Оповещение = Новый ОписаниеОповещения("СохранитьИЗакрытьНаКлиентеЗавершение", ЭтотОбъект, ДополнительныеПараметры);
СохранитьДанные(Ложь, Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура СохранитьИЗакрытьНаКлиентеЗавершение(Отказ, ДополнительныеПараметры) Экспорт
Если Не Отказ И Открыта() Тогда
Модифицированность = Ложь;
Если ДополнительныеПараметры.ЗакрытьФорму Тогда
Закрыть();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПрочитатьНаборЗаписейПериодическихСведений(ИмяРегистра, ВедущийОбъект) Экспорт
РедактированиеПериодическихСведений.ПрочитатьНаборЗаписей(ЭтотОбъект, ИмяРегистра, ВедущийОбъект);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьПолеСтатусыЗастрахованныхФизическихЛицПериод(Форма, ДатаСеанса, УстанавливатьПериод = Истина)
РедактированиеПериодическихСведенийКлиентСервер.ОбновитьОтображениеПолейВвода(Форма, "СтатусыЗастрахованныхФизическихЛиц", Форма.ФизическоеЛицоСсылка);
Если ЗарплатаКадрыКлиентСервер.СтатусыЗастрахованныхФизическихЛицПоУмолчанию(Форма.СтатусыЗастрахованныхФизическихЛиц)
И (Форма.СтатусыЗастрахованныхФизическихЛицПрежняя.Период = НачалоМесяца(ЗарплатаКадрыКлиентСервер.ДатаОтсчетаПериодическихСведенийСПериодомМесяц())
Или Форма.СтатусыЗастрахованныхФизическихЛицПрежняя.Период = '00010101')
Или Не Форма.ДоступноИзменениеДанныхФизическихЛиц Тогда
Форма.Элементы.СтатусыЗастрахованныхФизическихЛицПериод.АвтоОтметкаНезаполненного = Ложь;
Форма.Элементы.СтатусыЗастрахованныхФизическихЛицПериод.ОтметкаНезаполненного = Ложь;
Иначе
Если Форма.СтатусыЗастрахованныхФизическихЛиц.Период = НачалоМесяца(ЗарплатаКадрыКлиентСервер.ДатаОтсчетаПериодическихСведенийСПериодомМесяц())
И Не ЗарплатаКадрыКлиентСервер.СтатусыЗастрахованныхФизическихЛицПоУмолчанию(Форма.СтатусыЗастрахованныхФизическихЛиц) Тогда
Если УстанавливатьПериод Тогда
Форма.СтатусыЗастрахованныхФизическихЛиц.Период = НачалоМесяца(ДатаСеанса);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если Форма.СтатусыЗастрахованныхФизическихЛиц.Период = НачалоМесяца(ЗарплатаКадрыКлиентСервер.ДатаОтсчетаПериодическихСведенийСПериодомМесяц()) Тогда
Форма.СтатусыЗастрахованныхФизическихЛицПериод = '00010101';
Форма.Элементы.СтатусыЗастрахованныхФизическихЛицПериод.АвтоОтметкаНезаполненного = Форма.Модифицированность;
Форма.Элементы.СтатусыЗастрахованныхФизическихЛицПериод.ОтметкаНезаполненного = Форма.Модифицированность;
Иначе
Форма.СтатусыЗастрахованныхФизическихЛицПериод = Форма.СтатусыЗастрахованныхФизическихЛиц.Период;
КонецЕсли;
ЗарплатаКадрыКлиентСервер.ЗаполнитьМесяцПоДате(Форма, "СтатусыЗастрахованныхФизическихЛицПериод", "СтатусыЗастрахованныхФизическихЛицПериодСтрокой");
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьПолеСтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений(Форма, ДатаСеанса, УстанавливатьПериод = Истина)
Форма.Элементы.СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений.АвтоОтметкаНезаполненного = Истина;
Форма.Элементы.СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений.ОтметкаНезаполненного = Истина;
Если ЗарплатаКадрыКлиентСервер.СтатусыЗастрахованныхФизическихЛицПоУмолчанию(Форма.СтатусыЗастрахованныхФизическихЛиц)
И ((Форма.СтатусыЗастрахованныхФизическихЛицПрежняя.ДатаРегистрацииИзменений = НачалоМесяца(ЗарплатаКадрыКлиентСервер.ДатаОтсчетаПериодическихСведенийСПериодомМесяц())
И Форма.СтатусыЗастрахованныхФизическихЛиц.Период = НачалоМесяца(ЗарплатаКадрыКлиентСервер.ДатаОтсчетаПериодическихСведенийСПериодомМесяц()))
Или (Форма.СтатусыЗастрахованныхФизическихЛицПрежняя.ДатаРегистрацииИзменений = НачалоМесяца(ЗарплатаКадрыКлиентСервер.ДатаОтсчетаПериодическихСведенийСПериодомМесяц())
И Форма.СтатусыЗастрахованныхФизическихЛиц.Период = '00010101'))
Или Не Форма.ДоступноИзменениеДанныхФизическихЛиц Тогда
Форма.Элементы.СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений.АвтоОтметкаНезаполненного = Ложь;
Форма.Элементы.СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений.ОтметкаНезаполненного = Ложь;
Иначе
Если Форма.СтатусыЗастрахованныхФизическихЛиц.ДатаРегистрацииИзменений = НачалоМесяца(ЗарплатаКадрыКлиентСервер.ДатаОтсчетаПериодическихСведенийСПериодомМесяц())
И Не ЗарплатаКадрыКлиентСервер.СтатусыЗастрахованныхФизическихЛицПоУмолчанию(Форма.СтатусыЗастрахованныхФизическихЛиц) Тогда
Если УстанавливатьПериод Тогда
Форма.СтатусыЗастрахованныхФизическихЛиц.ДатаРегистрацииИзменений = НачалоМесяца(ДатаСеанса);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если Форма.СтатусыЗастрахованныхФизическихЛиц.ДатаРегистрацииИзменений = НачалоМесяца(ЗарплатаКадрыКлиентСервер.ДатаОтсчетаПериодическихСведенийСПериодомМесяц()) Тогда
Форма.СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений = '00010101';
Форма.Элементы.СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений.АвтоОтметкаНезаполненного = Форма.Модифицированность;
Форма.Элементы.СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений.ОтметкаНезаполненного = Форма.Модифицированность;
Иначе
Форма.СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений = Форма.СтатусыЗастрахованныхФизическихЛиц.ДатаРегистрацииИзменений
КонецЕсли;
ЗарплатаКадрыКлиентСервер.ЗаполнитьМесяцПоДате(Форма, "СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзменений", "СтатусыЗастрахованныхФизическихЛицДатаРегистрацииИзмененийСтрокой");
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьПолеСведенияОбИнвалидностиПериод(Форма, ДатаСеанса) Экспорт
Если ЗарплатаКадрыКлиентСервер.СведенияОбИнвалидностиПоУмолчанию(Форма.СведенияОбИнвалидностиФизическихЛиц) И
НЕ ЗначениеЗаполнено(Форма.СведенияОбИнвалидностиФизическихЛицПрежняя.Период) Тогда
Если ЗначениеЗаполнено(Форма.СведенияОбИнвалидностиФизическихЛиц.Период) Тогда
Форма.СведенияОбИнвалидностиФизическихЛиц.Период = '00010101';
КонецЕсли;
Иначе
Если НЕ ЗначениеЗаполнено(Форма.СведенияОбИнвалидностиФизическихЛиц.Период) Тогда
Если ЗначениеЗаполнено(Форма.СведенияОбИнвалидностиФизическихЛиц.ДатаВыдачи) Тогда
Форма.СведенияОбИнвалидностиФизическихЛиц.Период = НачалоМесяца(Форма.СведенияОбИнвалидностиФизическихЛиц.ДатаВыдачи);
Иначе
Форма.СведенияОбИнвалидностиФизическихЛиц.Период = НачалоМесяца(ДатаСеанса);
КонецЕсли;
КонецЕсли;
КонецЕсли;
ОбновитьПолеСведенияОбИнвалидностиДатаРегистрацииИзменений(Форма);
РедактированиеПериодическихСведенийКлиентСервер.ОбновитьОтображениеПолейВвода(Форма, "СведенияОбИнвалидностиФизическихЛиц", Форма.ФизическоеЛицоСсылка);
ЗарплатаКадрыКлиентСервер.ЗаполнитьМесяцПоДате(Форма, "СведенияОбИнвалидностиФизическихЛиц.Период", "СведенияОбИнвалидностиФизическихЛицПериодСтрокой");
Если ЗначениеЗаполнено(Форма.СведенияОбИнвалидностиФизическихЛиц.СрокДействияСправки) Тогда
Форма.СведенияОбИнвалидностиФизическихЛиц.ДействуетДо = КонецДня(Форма.СведенияОбИнвалидностиФизическихЛиц.СрокДействияСправки) + 1;
Иначе
Форма.СведенияОбИнвалидностиФизическихЛиц.ДействуетДо = "";
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьПолеСведенияОбИнвалидностиДатаРегистрацииИзменений(Форма) Экспорт
Форма.Элементы.СведенияОбИнвалидностиФизическихЛицНаборЗаписейДатаРегистрацииИзмененийСтрокой.АвтоОтметкаНезаполненного = Истина;
Если ЗарплатаКадрыКлиентСервер.СведенияОбИнвалидностиПоУмолчанию(Форма.СведенияОбИнвалидностиФизическихЛиц) И
НЕ ЗначениеЗаполнено(Форма.СведенияОбИнвалидностиФизическихЛицПрежняя.Период) Тогда
Форма.Элементы.СведенияОбИнвалидностиФизическихЛицНаборЗаписейДатаРегистрацииИзмененийСтрокой.АвтоОтметкаНезаполненного = Ложь;
Если ЗначениеЗаполнено(Форма.СведенияОбИнвалидностиФизическихЛиц.ДатаРегистрацииИзменений) Тогда
Форма.СведенияОбИнвалидностиФизическихЛиц.ДатаРегистрацииИзменений = '00010101';
КонецЕсли;
Иначе
Если НЕ ЗначениеЗаполнено(Форма.СведенияОбИнвалидностиФизическихЛиц.ДатаРегистрацииИзменений) Тогда
Форма.СведенияОбИнвалидностиФизическихЛиц.ДатаРегистрацииИзменений = НачалоМесяца(Форма.СведенияОбИнвалидностиФизическихЛиц.Период);
КонецЕсли;
КонецЕсли;
ЗарплатаКадрыКлиентСервер.ЗаполнитьМесяцПоДате(Форма, "СведенияОбИнвалидностиФизическихЛиц.ДатаРегистрацииИзменений", "СведенияОбИнвалидностиФизическихДатаРегистрацииИзмененийСтрокой");
КонецПроцедуры
&НаКлиенте
Процедура УстановитьДатуРегистрацииСведенийОбИнвалидностиПоПериоду()
СведенияОбИнвалидностиФизическихЛиц.ДатаРегистрацииИзменений = НачалоМесяца(СведенияОбИнвалидностиФизическихЛиц.Период);
ЗарплатаКадрыКлиентСервер.ЗаполнитьМесяцПоДате(ЭтотОбъект, "СведенияОбИнвалидностиФизическихЛиц.ДатаРегистрацииИзменений", "СведенияОбИнвалидностиФизическихДатаРегистрацииИзмененийСтрокой");
КонецПроцедуры
&НаКлиенте
Процедура ЗапроситьРежимИзмененияСтраховогоСтатуса(Отказ, ОповещениеЗавершения)
ТекстКнопкиДа = НСтр("ru = 'Изменился страховой статус'");
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'При редактировании изменены сведения о страховом статусе.
|Если исправлена прежняя запись о страховом статусе (она была ошибочной), нажмите ""Исправлена ошибка"".
|Если у сотрудника изменился страховой статус с %1, нажмите'") + " ""%2""",
Формат(СтатусыЗастрахованныхФизическихЛиц.Период, "ДФ='д ММММ гггг ""г""'"),
ТекстКнопкиДа);
Оповещение = Новый ОписаниеОповещения("ЗапроситьРежимИзмененияИнвалидности", ЭтотОбъект, ОповещениеЗавершения);
РедактированиеПериодическихСведенийКлиент.ЗапроситьРежимИзмененияРегистра(ЭтотОбъект, "СтатусыЗастрахованныхФизическихЛиц", ТекстВопроса, ТекстКнопкиДа, Отказ, Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура ЗапроситьРежимИзмененияИнвалидности(Отказ, ОповещениеЗавершения) Экспорт
Если Отказ Тогда
Возврат;
КонецЕсли;
ТекстКнопкиДа = НСтр("ru = 'Изменилась инвалидность'");
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'При редактировании изменены сведения об инвалидности.
|Если исправлена прежняя запись об инвалидности (она была ошибочной), нажмите ""Исправлена ошибка"".
|Если у сотрудника изменилась инвалидность с %1, нажмите'") + " ""%2""",
Формат(СведенияОбИнвалидностиФизическихЛиц.Период, "ДФ='д ММММ гггг ""г""'"),
ТекстКнопкиДа);
Оповещение = Новый ОписаниеОповещения("СохранитьДанныеЗавершение", ЭтотОбъект, ОповещениеЗавершения);
РедактированиеПериодическихСведенийКлиент.ЗапроситьРежимИзмененияРегистра(ЭтотОбъект, "СведенияОбИнвалидностиФизическихЛиц", ТекстВопроса, ТекстКнопкиДа, Отказ, Оповещение);
КонецПроцедуры
&НаСервере
Процедура ПрочитатьДанныеОДолгосрочныхДоговорах(Организация, ИзФормыСотрудника) Экспорт
Если НЕ ИзФормыСотрудника ИЛИ ЗначениеЗаполнено(ФизическоеЛицоСсылка) Тогда
Набор = РегистрыСведений.ВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.СоздатьНаборЗаписей();
Набор.Отбор.ФизическоеЛицо.Установить(ФизическоеЛицоСсылка);
Если ИзФормыСотрудника Тогда
Набор.Отбор.ГоловнаяОрганизация.Установить(ЗарплатаКадры.ГоловнаяОрганизация(Организация));
КонецЕсли;
Набор.Прочитать();
НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.Загрузить(Набор.Выгрузить());
НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорамПрочитан = Истина;
КонецЕсли;
УстановитьОтображениеОсобенностиРасчетаСтраховыхВзносов();
КонецПроцедуры
&НаКлиенте
Функция ПериодыВведеныВерно(НачалоПериода, ОкончаниеПериода)
Если ЗначениеЗаполнено(ОкончаниеПериода) И ОкончаниеПериода < НачалоПериода Тогда
ТекстПредупреждения = НСтр("ru = 'Окончание периода должно быть позднее начала'");
ПоказатьПредупреждение(, ТекстПредупреждения, , НСтр("ru = 'Ошибка'"));
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
&НаСервере
Процедура УстановитьОтображениеОсобенностиРасчетаСтраховыхВзносов()
ИнформационнаяНадписьКПолюВидЗастрахованногоЛица =
УчетСтраховыхВзносовКлиентСервер.ОписаниеВидаЗастрахованногоЛица(СтатусыЗастрахованныхФизическихЛиц.ВидЗастрахованногоЛица);
ИнформационнаяНадписьОкончаниеПериодаПребывания = "";
ТаблицаСКадровымиДанными = КадровыйУчет.КадровыеДанныеФизическихЛиц(Истина, ФизическоеЛицоСсылка, "ФамилияИО", ТекущаяДатаСеанса());
ВидимостьНабораЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам = Ложь;
Если СтатусыЗастрахованныхФизическихЛиц.ВидЗастрахованногоЛица = Перечисления.ВидыЗастрахованныхЛицОбязательногоСтрахования.ВременноПребывающиеИностранцы Или СтатусыЗастрахованныхФизическихЛиц.ВидЗастрахованногоЛица = Перечисления.ВидыЗастрахованныхЛицОбязательногоСтрахования.ВременноПребывающиеИностранцыПризнанныеБеженцами Тогда
Если ЗначениеЗаполнено(ГоловнаяОрганизация) ИЛИ НЕ ИзФормыСотрудника Тогда
ИнформационнаяНадписьОкончаниеПериодаПребывания = НСтр("ru = 'Периоды работы, в которые заключены долгосрочные трудовые договоры с сотрудником %1'");
Иначе
ИнформационнаяНадписьОкончаниеПериодаПребывания = НСтр("ru = 'Сотрудник %1 имеет статус временно пребывающего иностранного гражданина. Для указания периодов работы, в которых заключены долгосрочные трудовые договоры, в сотруднике необходимо заполнить организацию'");
КонецЕсли;
ВидимостьНабораЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам = Истина;
Иначе
Запрос = Новый Запрос;
Если СтатусыЗастрахованныхФизическихЛицНаборЗаписейПрочитан Тогда
Запрос.Текст =
"ВЫБРАТЬ
| СтатусыЗастрахованныхФизическихЛиц.Период,
| СтатусыЗастрахованныхФизическихЛиц.ФизическоеЛицо,
| СтатусыЗастрахованныхФизическихЛиц.ВидЗастрахованногоЛица
|ПОМЕСТИТЬ ВТСтатусыЗастрахованныхФизическихЛиц
|ИЗ
| &СтатусыЗастрахованныхФизическихЛиц КАК СтатусыЗастрахованныхФизическихЛиц";
Запрос.УстановитьПараметр("СтатусыЗастрахованныхФизическихЛиц", СтатусыЗастрахованныхФизическихЛицНаборЗаписей.Выгрузить());
Иначе
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СтатусыЗастрахованныхФизическихЛиц.Период,
| СтатусыЗастрахованныхФизическихЛиц.ФизическоеЛицо,
| СтатусыЗастрахованныхФизическихЛиц.ВидЗастрахованногоЛица
|ПОМЕСТИТЬ ВТСтатусыЗастрахованныхФизическихЛиц
|ИЗ
| РегистрСведений.СтатусыЗастрахованныхФизическихЛиц КАК СтатусыЗастрахованныхФизическихЛиц";
КонецЕсли;
Запрос.Текст = Запрос.Текст +
";
|
|////////////////////////////////////////////////////////////////////////////////
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
| СтатусыЗастрахованныхФизическихЛицВременноПребывал.ФизическоеЛицо,
| СтатусыЗастрахованныхФизическихЛицВременноПребывал.Период КАК ПериодНачалаПребывания,
| МИНИМУМ(ЕСТЬNULL(СтатусыЗастрахованныхФизическихЛиц.Период, ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))) КАК ПериодОкончанияПребывания
|ИЗ
| ВТСтатусыЗастрахованныхФизическихЛиц КАК СтатусыЗастрахованныхФизическихЛицВременноПребывал
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСтатусыЗастрахованныхФизическихЛиц КАК СтатусыЗастрахованныхФизическихЛиц
| ПО СтатусыЗастрахованныхФизическихЛицВременноПребывал.ФизическоеЛицо = СтатусыЗастрахованныхФизическихЛиц.ФизическоеЛицо
| И СтатусыЗастрахованныхФизическихЛицВременноПребывал.ВидЗастрахованногоЛица <> СтатусыЗастрахованныхФизическихЛиц.ВидЗастрахованногоЛица
| И СтатусыЗастрахованныхФизическихЛицВременноПребывал.Период < СтатусыЗастрахованныхФизическихЛиц.Период
|ГДЕ
| СтатусыЗастрахованныхФизическихЛицВременноПребывал.ФизическоеЛицо = &ФизическоеЛицо
| И СтатусыЗастрахованныхФизическихЛицВременноПребывал.ВидЗастрахованногоЛица В (ЗНАЧЕНИЕ(Перечисление.ВидыЗастрахованныхЛицОбязательногоСтрахования.ВременноПребывающиеИностранцыПризнанныеБеженцами), ЗНАЧЕНИЕ(Перечисление.ВидыЗастрахованныхЛицОбязательногоСтрахования.ВременноПребывающиеИностранцы))
|
|СГРУППИРОВАТЬ ПО
| СтатусыЗастрахованныхФизическихЛицВременноПребывал.ФизическоеЛицо,
| СтатусыЗастрахованныхФизическихЛицВременноПребывал.Период
|
|УПОРЯДОЧИТЬ ПО
| ПериодНачалаПребывания УБЫВ";
Запрос.УстановитьПараметр("ФизическоеЛицо", ФизическоеЛицоСсылка);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
ИнформационнаяНадписьОкончаниеПериодаПребывания = НСтр("ru = 'Сотрудник %1 по %2 г. имел статус временно пребывающего иностранного гражданина. Периоды работы, в которые были заключены долгосрочные трудовые договоры'");
Если СтатусыЗастрахованныхФизическихЛиц.Период > Выборка.ПериодОкончанияПребывания Тогда
ПериодОкончанияПребывания = СтатусыЗастрахованныхФизическихЛиц.Период;
Иначе
ПериодОкончанияПребывания = Выборка.ПериодОкончанияПребывания;
КонецЕсли;
ИнформационнаяНадписьОкончаниеПериодаПребывания = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ИнформационнаяНадписьОкончаниеПериодаПребывания,
"%1",
НРег(Формат(ПериодОкончанияПребывания, "ДФ='ММММ гггг'")));
ВидимостьНабораЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам = Истина;
Элементы.ИнформационнаяНадписьОкончаниеПериодаПребывания.Высота = 2;
КонецЕсли;
КонецЕсли;
Если ТаблицаСКадровымиДанными.Количество() > 0 Тогда
ФамилияИО = ТаблицаСКадровымиДанными[0].ФамилияИО;
Иначе
ФамилияИО = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ФизическоеЛицоСсылка, "ФИО");
КонецЕсли;
ИнформационнаяНадписьОкончаниеПериодаПребывания = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ИнформационнаяНадписьОкончаниеПериодаПребывания,
ФамилияИО);
Если ВидимостьНабораЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам Тогда
Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаСтраницаДолгосрочныеДоговоры;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"ГруппаСтраницы",
"Видимость",
НЕ ТолькоСтрахование);
Иначе
Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаСтраницаПусто;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"ГруппаСтраницы",
"Видимость",
Ложь);
Возврат;
КонецЕсли;
Если ИзФормыСотрудника Тогда
Элементы.НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.ТолькоПросмотр = НЕ ЗначениеЗаполнено(ГоловнаяОрганизация);
НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.Отбор.ГоловнаяОрганизация.Значение = ГоловнаяОрганизация;
НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам.Отбор.ГоловнаяОрганизация.Использование = Истина;
КонецЕсли;
ЗарплатаКадрыКлиентСервер.ЗаполнитьМесяцПоДатеВТабличнойЧасти(НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам, "Период", "ПериодСтрокой");
ЗарплатаКадрыКлиентСервер.ЗаполнитьМесяцПоДатеВТабличнойЧасти(НаборЗаписейВременноПребывающиеПринятыеПоДолгосрочнымДоговорам, "ДействуетДо", "ДействуетДоСтрокой");
КонецПроцедуры
&НаСервере
Функция АдресДанныхДополнительнойФормыНаСервере(ОписаниеДополнительнойФормы)
Возврат СотрудникиФормы.АдресДанныхДополнительнойФормы(ОписаниеДополнительнойФормы, ЭтотОбъект);
КонецФункции
#Область ЛьготыПриНачисленииПособий
&НаСервере
Процедура ЛьготаПрименяетсяПриИзмененииНаСервере()
ОтношениеКОсобойЗонеИспользуется = ЛьготаПрименяется;
Если НЕ ЛьготаПрименяется Тогда
ФизическоеЛицо.ЛьготаПриНачисленииПособий = ПредопределенноеЗначение("Перечисление.ОснованияФинансированияПособияФедеральнымБюджетом.ПустаяСсылка");
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"ЛьготаПриНачисленииПособий",
"ОтметкаНезаполненного",
ЛьготаПрименяется);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"ЛьготаПриНачисленииПособий",
"АвтоОтметкаНезаполненного",
ЛьготаПрименяется);
Модифицированность = Истина;
ОбновитьДоступностьПрименяемойЛьготы();
КонецПроцедуры
&НаСервере
Процедура ОтношениеКОсобойЗонеИспользуетсяПриИзмененииНаСервере()
Модифицированность = Истина;
ОбновитьДоступностьПрименяемойЛьготы();
КонецПроцедуры
&НаСервере
Процедура ОбновитьДоступностьПрименяемойЛьготы()
Если Не ОтношениеКОсобойЗонеИспользуется Тогда
ФизическоеЛицо.ОтношениеКОсобойЗоне = ?(ЛьготаПрименяется, Перечисления.ОтношениеКОсобойЗоне.Нет, Неопределено);
ФизическоеЛицо.ВидОсобойЗоны = Неопределено;
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"ЛьготаПриНачисленииПособий",
"Доступность",
ЛьготаПрименяется);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"ГруппаОтношениеКОсобойЗоне",
"Доступность",
ЛьготаПрименяется);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"ОтношениеКОсобойЗоне",
"Доступность",
ОтношениеКОсобойЗонеИспользуется);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"ВидОсобойЗоны",
"АвтоОтметкаНезаполненного",
ОтношениеКОсобойЗонеИспользуется);
КонецПроцедуры
#КонецОбласти
&НаКлиенте
Функция СтатусыЗастрахованныхФизическихЛицЗаблокироватьФизическоеЛицо()
Если Не ЗаблокироватьОбъектВФормеВладельце() Тогда
ЗаполнитьЗначенияСвойств(СтатусыЗастрахованныхФизическихЛиц, СтатусыЗастрахованныхФизическихЛицПрежняя);
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
&НаКлиенте
Функция СведенияОбИнвалидностиФизическихЛицЗаблокироватьФизическоеЛицо()
Если Не ЗаблокироватьОбъектВФормеВладельце() Тогда
ЗаполнитьЗначенияСвойств(СведенияОбИнвалидностиФизическихЛиц, СведенияОбИнвалидностиФизическихЛицПрежняя);
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
&НаКлиенте
Функция ЗаблокироватьОбъектВФормеВладельце() Экспорт
Возврат СотрудникиКлиент.ЗаблокироватьОбъектВФормеВладельцеДополнительнойФормы(ЭтотОбъект, ИзФормыСотрудника);
КонецФункции
#КонецОбласти