#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Объект.Ссылка.Пустая() Тогда
Если Не ЗначениеЗаполнено(Объект.ИсправленныйДокумент) Тогда
Объект.ПорядокРасчетаСреднегоЗаработка = Перечисления.СпособыРасчетаСреднегоЗаработкаДляОплатыПособия.СреднийЗаработок;
Объект.ВерсияДокумента = Документы.ЗаявлениеСотрудникаНаВыплатуПособия.АктуальнаяВерсия();
ЗначенияДляЗаполнения = Новый Структура("Организация, Ответственный", "Объект.Организация", "Объект.Ответственный");
ЗарплатаКадры.ЗаполнитьПервоначальныеЗначенияВФорме(ЭтотОбъект, ЗначенияДляЗаполнения);
Объект.ОтношениеКОсобойЗоне = Перечисления.ОтношениеКОсобойЗоне.Нет;
Объект.ДокументОснование = ОбщегоНазначенияБЗК.ЗначениеСвойства(Параметры, "Основание");
Объект.ИдентификаторСтрокиОснования = ОбщегоНазначенияБЗК.ЗначениеСвойства(Параметры, "ИдентификаторСтроки");
КонецЕсли;
ПриПолученииДанныхНаСервере("Объект");
КонецЕсли;
ПорядокРасчетаСреднийЗаработок = (Объект.ПорядокРасчетаСреднегоЗаработка = Перечисления.СпособыРасчетаСреднегоЗаработкаДляОплатыПособия.СреднийЗаработок);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ПорядокРасчетаСреднегоЗаработка", "Видимость", Не ПорядокРасчетаСреднийЗаработок);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "СчитатьПоПравилам2010Года", "Видимость", Объект.СчитатьПоПравилам2010Года);
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ИмяЭлементаДляРазмещения", "ГруппаДополнительныеРеквизиты");
УправлениеСвойствами.ПриСозданииНаСервере(ЭтотОбъект, ДополнительныеПараметры);
Если Параметры.Свойство("ТекущаяСтраница") Тогда
Страница = Элементы.Найти(Параметры.ТекущаяСтраница);
Если Страница <> Неопределено И Страница.Родитель = Элементы.Страницы Тогда
Элементы.Страницы.ТекущаяСтраница = Страница;
КонецЕсли;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначения.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплата");
МодульПроцессыОбработкиДокументовЗарплата.ПриСозданииНаСервере(ЭтотОбъект, Объект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если УправлениеСвойствамиКлиент.ОбрабатыватьОповещения(ЭтотОбъект, ИмяСобытия, Параметр) Тогда
ОбновитьЭлементыДополнительныхРеквизитов();
УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
КонецЕсли;
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыРасширеннаяПодсистемы.ИсправленияДокументов") Тогда
МодульИсправлениеДокументовЗарплатаКадрыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ИсправлениеДокументовЗарплатаКадрыКлиент");
МодульИсправлениеДокументовЗарплатаКадрыКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник);
КонецЕсли;
Если ИмяСобытия = "Запись_НастройкиПрямыхВыплатФСССотрудников"
И Параметр.ФизическоеЛицо = Объект.ФизическоеЛицо Тогда
ОбновитьВторичныеДанныеИВидимостьДоступность();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
ПриПолученииДанныхНаСервере(ТекущийОбъект);
ДатыЗапретаИзменения.ОбъектПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
УправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
УправлениеСвойствами.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначения.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплата");
МодульПроцессыОбработкиДокументовЗарплата.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
РежимЗаписи = ОбщегоНазначенияБЗККлиентСервер.ЗначениеСвойства(ПараметрыЗаписи, "РежимЗаписи");
Если РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
ОбновитьВторичныеДанныеДокумента();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
ТекущийОбъект = РеквизитФормыВЗначение("Объект");
Если Не ТекущийОбъект.ПроверитьЗаполнение() Тогда
Отказ = Истина;
ОбработатьСообщенияПользователю();
КонецЕсли;
ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Объект"));
УправлениеСвойствами.ОбработкаПроверкиЗаполнения(ЭтотОбъект, Отказ, ПроверяемыеРеквизиты);
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Сообщения = ПолучитьСообщенияПользователю(Ложь);
Для Каждого Сообщение Из Сообщения Цикл
Сообщение.КлючДанных = Объект.Ссылка;
Сообщение.ПутьКДанным = "Объект";
Отказ = Истина;
КонецЦикла;
ФиксацияВторичныхДанныхВДокументахКлиентСервер.СохранитьРеквизитыФормыФикс(ЭтотОбъект, ТекущийОбъект);
УправлениеСвойствами.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект);
Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначения.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплата");
МодульПроцессыОбработкиДокументовЗарплата.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи, Отказ);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
УправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
ФиксацияВторичныхДанныхВДокументахФормы.УстановитьМодифицированность(ЭтотОбъект, Ложь);
ФиксацияВторичныхДанныхВДокументахФормы.УстановитьОбъектЗафиксирован(ЭтотОбъект);
ФиксацияВторичныхДанныхВДокументахФормы.ЗаполнитьРеквизитыФормыФикс(ЭтотОбъект, ЭтотОбъект.Объект);
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОбновитьФорму(ЭтотОбъект);
Если Документы.ЗаявлениеСотрудникаНаВыплатуПособия.ЭтоОтпускСверхЕжегодногоНаПериодЛечения(Объект.ВидПособия) Тогда
ЗарплатаКадрыКлиентСервер.ЗаполнитьМесяцПоДатеВТабличнойЧасти(Объект.СреднийЗаработок, "Период", "ПериодСтрокой");
КонецЕсли;
ПодписиДокументов.ПослеЗаписиНаСервере(ЭтотОбъект);
Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначения.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплата");
МодульПроцессыОбработкиДокументовЗарплата.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыРасширеннаяПодсистемы.ИсправленияДокументов") Тогда
МодульИсправлениеДокументовЗарплатаКадры = ОбщегоНазначения.ОбщийМодуль("ИсправлениеДокументовЗарплатаКадры");
МодульИсправлениеДокументовЗарплатаКадры.ПрочитатьРеквизитыИсправления(ЭтотОбъект, "ПериодическиеСведения", "Дата", Ложь);
УстановитьПоляИсправления(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
Оповестить("Запись_ЗаявлениеСотрудникаНаВыплатуПособия", ПараметрыЗаписи, Объект.Ссылка);
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыРасширеннаяПодсистемы.ИсправленияДокументов") Тогда
МодульИсправлениеДокументовЗарплатаКадрыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ИсправлениеДокументовЗарплатаКадрыКлиент");
МодульИсправлениеДокументовЗарплатаКадрыКлиент.ПослеЗаписи(ЭтотОбъект, ПараметрыЗаписи);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначенияКлиент.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплатаКлиент");
МодульПроцессыОбработкиДокументовЗарплата.ПередЗакрытием(ЭтотОбъект, Объект, Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ДатаПриИзменении(Элемент)
ОбновитьВторичныеДанныеИВидимостьДоступность();
КонецПроцедуры
&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)
ОрганизацияПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура СотрудникПриИзменении(Элемент)
СотрудникПриИзмененииНаСервере("СотрудникПриИзменении");
КонецПроцедуры
&НаКлиенте
Процедура ПервичныйДокументПриИзменении(Элемент)
Объект.ИдентификаторСтрокиОснования = Неопределено;
ПервичныйДокументПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура РебенокЗаКоторымОсуществляетсяУходПриИзменении(Элемент)
ПервичныйДокументПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ПолучательНеЯвляетсяЗаявителемПриИзменении(Элемент)
УстановитьВидимостьГруппыЗаявитель(Элементы, Объект);
КонецПроцедуры
&НаКлиенте
Процедура ВидПособияПриИзменении(Элемент)
ВидПособияПриИзмененииНаСервере()
КонецПроцедуры
&НаКлиенте
Процедура ГражданствоПриИзменении(Элемент)
ГражданствоПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура СпособВыплатыПособияПриИзменении(Элемент)
СпособВыплатыПособияПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура БанкПриИзменении(Элемент)
БанкПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ВидАдресаПочтовогоПереводаПриИзменении(Элемент)
ВидАдресаПочтовогоПереводаПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ДокументыФизическихЛицСерияПриИзменении(Элемент)
СотрудникиКлиентСервер.ОбработатьОтображениеСерияДокументаФизическогоЛица(Объект.ВидДокументаУдостоверяющегоЛичностьПолучателя, Объект.СерияДокументаУдостоверяющегоЛичностьПолучателя, Элемент, ЭтотОбъект);
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "СерияДокументаУдостоверяющегоЛичностьПолучателя");
КонецПроцедуры
&НаКлиенте
Процедура ДокументыФизическихЛицНомерПриИзменении(Элемент)
СотрудникиКлиентСервер.ОбработатьОтображениеНомерДокументаФизическогоЛица(Объект.ВидДокументаУдостоверяющегоЛичностьПолучателя, Объект.НомерДокументаУдостоверяющегоЛичностьПолучателя, Элемент, ЭтотОбъект);
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "НомерДокументаУдостоверяющегоЛичностьПолучателя");
КонецПроцедуры
&НаКлиенте
Процедура ДокументНаПроживаниеСерияПриИзменении(Элемент)
СотрудникиКлиентСервер.ОбработатьОтображениеСерияДокументаФизическогоЛица(Объект.ВидДокументаНаПроживание, Объект.СерияДокументаНаПроживание, Элемент, ЭтотОбъект);
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "СерияДокументаНаПроживание");
КонецПроцедуры
&НаКлиенте
Процедура ДокументНаПроживаниеНомерПриИзменении(Элемент)
СотрудникиКлиентСервер.ОбработатьОтображениеНомерДокументаФизическогоЛица(Объект.ВидДокументаНаПроживание, Объект.НомерДокументаНаПроживание, Элемент, ЭтотОбъект);
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "НомерДокументаНаПроживание");
КонецПроцедуры
&НаКлиенте
Процедура СправкаОНеполученииПособияПриИзменении(Элемент)
УстановитьТекущуюСтраницуСправкаОНеполученииПособия(Элементы, Объект.СправкаОНеполученииПособия)
КонецПроцедуры
&НаКлиенте
Процедура СправкаОНеполученииПособияЕжемесячноеПособиеПриИзменении(Элемент)
УстановитьТекущуюСтраницуСправкаОНеполученииПособияЕжемесячноеПособие(Элементы, Объект.СправкаОНеполученииПособия)
КонецПроцедуры
&НаКлиенте
Процедура ОтношениеКОсобойЗонеПриИзменении(Элемент)
НастроитьОтношениеКОсобойЗоне(Элементы, Объект)
КонецПроцедуры
&НаКлиенте
Процедура ПорядокРасчетаСреднегоЗаработкаПриИзменении(Элемент)
УстановитьТекущуюСтраницуРасчетСреднегоЗаработка(Элементы,Объект.ПорядокРасчетаСреднегоЗаработка);
КонецПроцедуры
&НаКлиенте
Процедура СчитатьПоПравилам2010ГодаПриИзменении(Элемент)
УстановитьТекущуюСтраницуПравилаРасчетаСреднего(Элементы, Объект.СчитатьПоПравилам2010Года);
КонецПроцедуры
&НаКлиенте
Процедура ЗамененыКалендарныеГодыРасчетаСреднегоЗаработкаПриИзменении(Элемент)
УстановитьТекущуюСтраницуЗаменаКалендарныхГодов(Элементы, Объект.ЗамененыКалендарныеГодыРасчетаСреднегоЗаработка);
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "ЗамененыКалендарныеГодыРасчетаСреднегоЗаработка");
КонецПроцедуры
&НаКлиенте
Процедура НаименованиеТерриториальногоОрганаФССПриИзменении(Элемент)
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "НаименованиеТерриториальногоОрганаФСС");
КонецПроцедуры
&НаКлиенте
Процедура ПредставлениеФактическогоАдресаПолучателяНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Оповещение = Новый ОписаниеОповещения("ПредставлениеФактическогоАдресаПолучателяЗавершениеВыбора", ЭтотОбъект);
ПараметрыОткрытия = УправлениеКонтактнойИнформациейКлиент.ПараметрыФормыКонтактнойИнформации(
ПредопределенноеЗначение("Справочник.ВидыКонтактнойИнформации.АдресМестаПроживанияФизическиеЛица"),
Объект.АдресПолучателяФактический);
УправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации(ПараметрыОткрытия, ЭтотОбъект, Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура ПредставлениеАдресаРегистрацииПолучателяНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Оповещение = Новый ОписаниеОповещения("ПредставлениеАдресаРегистрацииПолучателяЗавершениеВыбора", ЭтотОбъект);
ПараметрыОткрытия = УправлениеКонтактнойИнформациейКлиент.ПараметрыФормыКонтактнойИнформации(
ПредопределенноеЗначение("Справочник.ВидыКонтактнойИнформации.АдресПоПропискеФизическиеЛица"),
Объект.АдресПолучателяРегистрации);
УправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации(ПараметрыОткрытия, ЭтотОбъект, Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура ПредставлениеТелефонаПолучателяНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Оповещение = Новый ОписаниеОповещения("ПредставлениеТелефонаПолучателяЗавершениеВыбора", ЭтотОбъект);
ПараметрыОткрытия = УправлениеКонтактнойИнформациейКлиент.ПараметрыФормыКонтактнойИнформации(
ПредопределенноеЗначение("Справочник.ВидыКонтактнойИнформации.ТелефонДомашнийФизическиеЛица"),
Объект.ТелефонПолучателя);
УправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации(ПараметрыОткрытия, ЭтотОбъект, Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура ПредставлениеТелефонаУполномоченногоПредставителяНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Оповещение = Новый ОписаниеОповещения("ПредставлениеТелефонаУполномоченногоПредставителяЗавершениеВыбора", ЭтотОбъект);
ПараметрыОткрытия = УправлениеКонтактнойИнформациейКлиент.ПараметрыФормыКонтактнойИнформации(
ПредопределенноеЗначение("Справочник.ВидыКонтактнойИнформации.ТелефонОрганизации"),
Объект.ТелефонУполномоченногоПредставителя);
УправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации(ПараметрыОткрытия, ЭтотОбъект, Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура КартаМИРПриИзменении(Элемент)
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "КартаМИР");
КонецПроцедуры
&НаКлиенте
Процедура ПерерасчетПриИзменении(Элемент)
ПерерасчетПриИзмененииСервере();
КонецПроцедуры
&НаКлиенте
Процедура КодПричиныПерерасчетаПриИзменении(Элемент)
КодПричиныПерерасчетаПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ОписаниеПричиныПерерасчетаПриИзменении(Элемент)
ОписаниеПричиныПерерасчетаПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ОписаниеПричиныПерерасчетаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияКомментария(
Элемент.ТекстРедактирования, ЭтотОбъект, "Объект.ОписаниеПричиныПерерасчета", Элемент.ПодсказкаВвода);
КонецПроцедуры
&НаКлиенте
Процедура ИнаяИнформацияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ЗарплатаКадрыКлиент.КомментарийНачалоВыбора(
ЭтаФорма,
Элемент,
ДанныеВыбора,
СтандартнаяОбработка,
"Объект.ИнаяИнформация",
НСтр("ru = 'Иная информация, влияющая на право получения пособия'"))
КонецПроцедуры
&НаКлиенте
Процедура КомментарийНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ЗарплатаКадрыКлиент.КомментарийНачалоВыбора(ЭтаФорма, Элемент, ДанныеВыбора, СтандартнаяОбработка)
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСреднийЗаработок
&НаКлиенте
Процедура СреднийЗаработокПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
СтрокаТаблицы = Элемент.ТекущиеДанные;
Если СтрокаТаблицы = Неопределено Тогда
Возврат;
КонецЕсли;
Если Копирование Тогда
СтрокаТаблицы.Период = ДобавитьМесяц(СтрокаТаблицы.Период, 1);
ИначеЕсли НоваяСтрока Тогда
Количество = Объект.СреднийЗаработок.Количество();
Если Количество > 1 Тогда
СтрокаТаблицы.Период = ДобавитьМесяц(Объект.СреднийЗаработок[Количество-2].Период, 1);
Иначе
СтрокаТаблицы.Период = НачалоМесяца(ОбщегоНазначенияКлиент.ДатаСеанса());
КонецЕсли;
КонецЕсли;
СтрокаТаблицы.ПериодДоНачалаРедактирования = СтрокаТаблицы.Период;
ЗарплатаКадрыКлиентСервер.ЗаполнитьМесяцПоДате(СтрокаТаблицы, "Период", "ПериодСтрокой");
КонецПроцедуры
&НаКлиенте
Процедура СреднийЗаработокПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)
СтрокаТаблицы = Элемент.ТекущиеДанные;
Если СтрокаТаблицы = Неопределено Тогда
Возврат;
КонецЕсли;
Если ОтменаРедактирования Тогда
СтрокаТаблицы.Период = СтрокаТаблицы.ПериодДоНачалаРедактирования;
ЗарплатаКадрыКлиентСервер.ЗаполнитьМесяцПоДате(СтрокаТаблицы, "Период", "ПериодСтрокой");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СреднийЗаработокПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
Если ОтменаРедактирования Тогда
Возврат;
КонецЕсли;
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "СреднийЗаработок");
ТекущаяСтрока = Элемент.ТекущиеДанные;
Если ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
Таблица = Объект.СреднийЗаработок;
ТекущийИндекс = Таблица.Индекс(ТекущаяСтрока);
ТребуемыйИндекс = Таблица.Количество();
Для Каждого СтрокаТаблицы Из Таблица Цикл
Если ТекущаяСтрока.Период < СтрокаТаблицы.Период Тогда
ТребуемыйИндекс = Таблица.Индекс(СтрокаТаблицы);
Прервать;
КонецЕсли;
КонецЦикла;
Если ТребуемыйИндекс > ТекущийИндекс Тогда
ТребуемыйИндекс = ТребуемыйИндекс - 1;
КонецЕсли;
Если ТекущийИндекс <> ТребуемыйИндекс Тогда
Таблица.Сдвинуть(ТекущийИндекс, ТребуемыйИндекс - ТекущийИндекс);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СреднийЗаработокПериодСтрокойНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ТекущаяСтрока = Элементы.СреднийЗаработок.ТекущиеДанные;
Обработчик = Новый ОписаниеОповещения("СреднийЗаработокПериодСтрокойОкончаниеВыбора", ЭтотОбъект);
ЗарплатаКадрыКлиент.ВводМесяцаНачалоВыбора(ЭтотОбъект, ТекущаяСтрока, "Период", "ПериодСтрокой", , Обработчик);
КонецПроцедуры
&НаКлиенте
Процедура СреднийЗаработокПериодСтрокойРегулирование(Элемент, Направление, СтандартнаяОбработка)
ТекущаяСтрока = Элементы.СреднийЗаработок.ТекущиеДанные;
ЗарплатаКадрыКлиент.ВводМесяцаРегулирование(ТекущаяСтрока, "Период", "ПериодСтрокой", Направление, Модифицированность);
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "СреднийЗаработок");
КонецПроцедуры
&НаКлиенте
Процедура СреднийЗаработокПериодСтрокойАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
ЗарплатаКадрыКлиент.ВводМесяцаАвтоПодборТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура СреднийЗаработокПериодСтрокойОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
ЗарплатаКадрыКлиент.ВводМесяцаОкончаниеВводаТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура СреднийЗаработокПриИзменении(Элемент)
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "СреднийЗаработок");
КонецПроцедуры
&НаКлиенте
Процедура СреднийЗаработокПериодСтрокойПриИзменении(Элемент)
ЗарплатаКадрыКлиент.ВводМесяцаПриИзменении(Элементы.СреднийЗаработок.ТекущиеДанные, "Период", "ПериодСтрокой", Модифицированность);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Подключаемый_СвойстваВыполнитьКоманду(ЭлементИлиКоманда, НавигационнаяСсылка = Неопределено, СтандартнаяОбработка = Неопределено)
УправлениеСвойствамиКлиент.ВыполнитьКоманду(ЭтотОбъект, ЭлементИлиКоманда, СтандартнаяОбработка);
КонецПроцедуры
#Область ОбработчикиСобытийПроцессыОбработкиДокументов
&НаКлиенте
Процедура Подключаемый_ВыполнитьЗадачуПоОбработкеДокумента(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначенияКлиент.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплатаКлиент");
МодульПроцессыОбработкиДокументовЗарплата.ВыполнитьЗадачу(ЭтотОбъект, Команда, Объект)
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьЗадачуПоОбработкеДокументаОповещение(Контекст, ДополнительныеПараметры) Экспорт
ВыполнитьЗадачуПоОбработкеДокументаНаСервере(Контекст);
ВыполнитьОбработкуОповещения(ДополнительныеПараметры, Контекст);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьЗадачуПоОбработкеДокументаНаСервере(Контекст)
Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначения.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплата");
МодульПроцессыОбработкиДокументовЗарплата.ВыполнитьЗадачу(ЭтотОбъект, Контекст, Объект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КомментарийНаправившегоОткрытие(Элемент, СтандартнаяОбработка)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначенияКлиент.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплатаКлиент");
МодульПроцессыОбработкиДокументовЗарплата.КомментарийНаправившегоОткрытие(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КомментарийСледующемуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначенияКлиент.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплатаКлиент");
МодульПроцессыОбработкиДокументовЗарплата.КомментарийСледующемуНачалоВыбора(ЭтотОбъект, Элемент, ДанныеВыбора, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
&НаКлиенте
Процедура Подключаемый_ПояснениеНажатие(Элемент, СтандартнаяОбработка = Ложь)
СотрудникиКлиент.ПояснениеНажатие(Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьВторичныеДанные(Команда)
ОбновитьВторичныеДанныеНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ОтменитьИзменения(Команда)
ОтменитьИзмененияНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ОтменитьИзмененияСпособаВыплатыПособия(Команда)
ОтменитьИзмененияСпособаВыплатыПособияНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ОтменитьИсправленияСотрудника(Команда)
СотрудникПриИзмененииНаСервере("ОтменитьИсправленияСотрудника");
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьСпособВыплатыПособия(Команда)
УчетПособийСоциальногоСтрахованияКлиент.НастроитьСпособПрямыхВыплатФизическогоЛица(
Объект.Организация,
Объект.ФизическоеЛицо,
ЭтотОбъект,
Ложь);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура ОбновитьЭлементыДополнительныхРеквизитов()
УправлениеСвойствами.ОбновитьЭлементыДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьЗависимостиДополнительныхРеквизитов()
УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПриИзмененииДополнительногоРеквизита(Элемент)
УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
#Область ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
&НаСервере
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат) Экспорт
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Объект, Результат);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
#КонецОбласти
#Область ПодписиДокументов
&НаКлиенте
Процедура Подключаемый_ПодписиДокументовЭлементПриИзменении(Элемент)
ПодписиДокументовКлиент.ПриИзмененииПодписывающегоЛица(ЭтотОбъект, Элемент.Имя);
Если Элемент.Имя = ПодписиДокументовКлиентСервер.ИмяЭлементаФормыПоРолиПодписанта("ПредставительСФР") Тогда
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "ПредставительСФР");
КонецЕсли;
ОбновитьВторичныеДанныеИВидимостьДоступность();
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПодписиДокументовЭлементНажатие(Элемент)
ПодписиДокументовКлиент.РасширеннаяПодсказкаНажатие(ЭтотОбъект, Элемент.Имя);
КонецПроцедуры
#КонецОбласти
#Область ИсправлениеДокументов
&НаКлиенте
Процедура Подключаемый_Исправить(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыРасширеннаяПодсистемы.ИсправленияДокументов") Тогда
МодульИсправлениеДокументовЗарплатаКадрыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ИсправлениеДокументовЗарплатаКадрыКлиент");
МодульИсправлениеДокументовЗарплатаКадрыКлиент.Исправить(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_Сторнировать(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыРасширеннаяПодсистемы.ИсправленияДокументов") Тогда
МодульИсправлениеДокументовЗарплатаКадрыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ИсправлениеДокументовЗарплатаКадрыКлиент");
МодульИсправлениеДокументовЗарплатаКадрыКлиент.Сторнировать(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПерейтиКИсправлению(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыРасширеннаяПодсистемы.ИсправленияДокументов") Тогда
МодульИсправлениеДокументовЗарплатаКадрыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ИсправлениеДокументовЗарплатаКадрыКлиент");
МодульИсправлениеДокументовЗарплатаКадрыКлиент.ПерейтиКИсправлению(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПерейтиКИсправленному(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыРасширеннаяПодсистемы.ИсправленияДокументов") Тогда
МодульИсправлениеДокументовЗарплатаКадрыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ИсправлениеДокументовЗарплатаКадрыКлиент");
МодульИсправлениеДокументовЗарплатаКадрыКлиент.ПерейтиКИсправленному(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПерейтиКСторно(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыРасширеннаяПодсистемы.ИсправленияДокументов") Тогда
МодульИсправлениеДокументовЗарплатаКадрыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ИсправлениеДокументовЗарплатаКадрыКлиент");
МодульИсправлениеДокументовЗарплатаКадрыКлиент.ПерейтиКСторно(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьПоляИсправленияНаКлиенте() Экспорт
УстановитьПоляИсправления(ЭтаФорма);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьПоляИсправления(Форма)
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыРасширеннаяПодсистемы.ИсправленияДокументов") Тогда
МодульИсправлениеДокументовЗарплатаКадрыКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ИсправлениеДокументовЗарплатаКадрыКлиентСервер");
МодульИсправлениеДокументовЗарплатаКадрыКлиентСервер.УстановитьПоляИсправления(Форма, "ПериодическиеСведения", "Дата");
КонецЕсли;
#Иначе
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыРасширеннаяПодсистемы.ИсправленияДокументов") Тогда
МодульИсправлениеДокументовЗарплатаКадрыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ИсправлениеДокументовЗарплатаКадрыКлиентСервер");
МодульИсправлениеДокументовЗарплатаКадрыКлиентСервер.УстановитьПоляИсправления(Форма, "ПериодическиеСведения", "Дата");
КонецЕсли;
#КонецЕсли
КонецПроцедуры
#КонецОбласти
#Область ФиксацияВторичныхДанныхВДокументах
&НаСервере
Функция ПараметрыФиксацииВторичныхДанных() Экспорт
ПараметрыФиксации = Документы.ЗаявлениеСотрудникаНаВыплатуПособия.ПараметрыФиксацииВторичныхДанных(РеквизитФормыВЗначение("Объект"));
ПараметрыФиксации.Вставить("ОписаниеФормы", ФиксацияВторичныхДанныхВДокументахФормы.ОписаниеФормы());
ОписаниеЭлементовФормы = Новый Соответствие;
ОписаниеПутиКРеквизитамОбъекта = ФиксацияВторичныхДанныхВДокументахФормы.ОписаниеЭлементаФормы();
ОписаниеПутиКРеквизитамОбъекта.ПрефиксПути = "Объект";
Для Каждого ОписаниеФиксацииРеквизита Из ПараметрыФиксации.ОписаниеФиксацииРеквизитов Цикл
ОписаниеЭлементовФормы.Вставить(ОписаниеФиксацииРеквизита.Ключ, ОписаниеПутиКРеквизитамОбъекта);
КонецЦикла;
ОписаниеПутиКРеквизитамФормы = ФиксацияВторичныхДанныхВДокументахФормы.ОписаниеЭлементаФормы();
ОписаниеЭлементовФормы.Вставить("ПредставлениеФактическогоАдресаПолучателя", ОписаниеПутиКРеквизитамФормы);
ОписаниеЭлементовФормы.Вставить("ПредставлениеАдресаРегистрацииПолучателя", ОписаниеПутиКРеквизитамФормы);
ОписаниеЭлементовФормы.Вставить("ПредставлениеТелефонаПолучателя", ОписаниеПутиКРеквизитамФормы);
ОписаниеЭлементовФормы.Вставить("ПредставлениеТелефонаУполномоченногоПредставителя", ОписаниеПутиКРеквизитамФормы);
ПараметрыФиксации.ОписаниеФормы.ОписаниеЭлементовФормы = ОписаниеЭлементовФормы;
Возврат ПараметрыФиксации;
КонецФункции
&НаСервере
Функция ФиксацияБыстрыйПоискРеквизитов()
БыстрыйПоискРеквизитов = Новый Соответствие;
ПараметрыФиксации = ЭтотОбъект["ПараметрыФиксацииВторичныхДанных"];
Для Каждого КлючИЗначение Из ПараметрыФиксации.ОписаниеФиксацииРеквизитов Цикл
ИмяРеквизита = КлючИЗначение.Значение.ИмяРеквизита;
Если Элементы.Найти(ИмяРеквизита) <> Неопределено Тогда
БыстрыйПоискРеквизитов.Вставить(ИмяРеквизита, ИмяРеквизита);
КонецЕсли;
Если Элементы.Найти(ИмяРеквизита + "ЕжемесячноеПособие") <> Неопределено Тогда
БыстрыйПоискРеквизитов.Вставить(ИмяРеквизита + "ЕжемесячноеПособие", ИмяРеквизита);
КонецЕсли;
Если Элементы.Найти(ИмяРеквизита + "БезЗамены") <> Неопределено Тогда
БыстрыйПоискРеквизитов.Вставить(ИмяРеквизита + "БезЗамены", ИмяРеквизита);
КонецЕсли;
КонецЦикла;
БыстрыйПоискРеквизитов.Вставить("ДатаВыдачиДокументаНаПроживание", "ДатаВыдачиДокументаНаПроживание");
БыстрыйПоискРеквизитов.Вставить("ДатаСправкиОПостановкеНаУчетВРанниеСрокиБеременности", "ДатаСправкиОПостановкеНаУчетВРанниеСрокиБеременности");
БыстрыйПоискРеквизитов.Вставить("НомерСправкиОПостановкеНаУчетВРанниеСрокиБеременности", "НомерСправкиОПостановкеНаУчетВРанниеСрокиБеременности");
БыстрыйПоискРеквизитов.Вставить("ДатаНачалаОтпускаПоБеременностиИРодам", "ДатаНачалаОтпускаПоУходуЗаРебенком");
БыстрыйПоискРеквизитов.Вставить("ДатаОкончанияОтпускаПоБеременностиИРодам", "ДатаОкончанияОтпускаПоУходуЗаРебенком");
БыстрыйПоискРеквизитов.Вставить("ДатаПриказаОбОтпускеПоБеременностиИРодам", "ДатаПриказаОПредоставленииОтпускаПоУходуЗаРебенком");
БыстрыйПоискРеквизитов.Вставить("НомерПриказаОбОтпускеПоБеременностиИРодам", "НомерПриказаОПредоставленииОтпускаПоУходуЗаРебенком");
БыстрыйПоискРеквизитов.Вставить("ФинансированиеФедеральнымБюджетомВБольничном", "ФинансированиеФедеральнымБюджетом");
Возврат БыстрыйПоискРеквизитов;
КонецФункции
&НаСервере
Процедура ФиксацияСброситьФиксациюИзмененийПоОснованиюЗаполнения(ОснованиеЗаполнения, ТекущаяСтрока = 0)
ФиксацияВторичныхДанныхВДокументахКлиентСервер.СброситьФиксациюИзмененийРеквизитовПоОснованиюЗаполнения(ЭтотОбъект, ОснованиеЗаполнения, ТекущаяСтрока);
КонецПроцедуры
&НаСервере
Процедура ОбновитьВторичныеДанныеДокумента()
Если ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОбъектФормыЗафиксирован(ЭтотОбъект) Тогда
Возврат;
КонецЕсли;
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗаполнитьИдентификаторыСтрок(ЭтотОбъект);
ДокументОбъект = РеквизитФормыВЗначение("Объект");
ФиксацияВторичныхДанныхВДокументахКлиентСервер.СохранитьРеквизитыФормыФикс(ЭтотОбъект, ДокументОбъект);
Если ДокументОбъект.ОбновитьВторичныеДанныеДокумента() Тогда
Если ТолькоПросмотр Или Не ПравоДоступа("Изменение", ДокументОбъект.Метаданные()) Тогда
ФиксацияВторичныхДанныхВДокументахФормы.ВывестиПредупреждениеОНаличииИзмененийВИсходныхДанныхКоторыеНельзяПрименить(
ЭтотОбъект);
Иначе
Если Не ДокументОбъект.ЭтоНовый() Тогда
ФиксацияВторичныхДанныхВДокументахФормы.УстановитьМодифицированность(ЭтотОбъект, Истина);
КонецЕсли;
ЗначениеВРеквизитФормы(ДокументОбъект, "Объект");
ФиксацияВторичныхДанныхВДокументахФормы.ЗаполнитьРеквизитыФормыФикс(ЭтотОбъект, Объект);
КонецЕсли;
КонецЕсли;
ПодписиДокументовКлиентСервер.УстановитьПредставлениеПодписей(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ЗафиксироватьИзменениеРеквизитаВФорме(Элемент, СтандартнаяОбработка = Ложь) Экспорт
Подключаемый_ЗафиксироватьИзменениеРеквизитаНаСервере(Элемент.Имя);
КонецПроцедуры
&НаСервере
Процедура Подключаемый_ЗафиксироватьИзменениеРеквизитаНаСервере(ИмяЭлемента)
Элемент = Элементы[ИмяЭлемента];
ОписаниеЭлементов = ФиксацияБыстрыйПоискРеквизитов();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.Подключаемый_ЗафиксироватьИзменениеРеквизитаВФорме(ЭтотОбъект, Элемент, ОписаниеЭлементов);
ОбновитьВидимостьДоступность();
КонецПроцедуры
&НаСервере
Функция ОбъектЗафиксирован() Экспорт
Возврат РеквизитФормыВЗначение("Объект").ОбъектЗафиксирован();
КонецФункции
#КонецОбласти
#Область Адреса
&НаКлиенте
Процедура ПредставлениеФактическогоАдресаПолучателяЗавершениеВыбора(РезультатВыбора, ПараметрыОповещения) Экспорт
Если ТипЗнч(РезультатВыбора) = Тип("Структура")Тогда
ПослеВыбораАдресаИлиТелефонаНаСервере("АдресПолучателяФактический", РезультатВыбора.Значение);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПредставлениеАдресаРегистрацииПолучателяЗавершениеВыбора(РезультатВыбора, ПараметрыОповещения) Экспорт
Если ТипЗнч(РезультатВыбора) = Тип("Структура") Тогда
ПослеВыбораАдресаИлиТелефонаНаСервере("АдресПолучателяРегистрации", РезультатВыбора.Значение);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПредставлениеТелефонаПолучателяЗавершениеВыбора(РезультатВыбора, ПараметрыОповещения) Экспорт
Если ТипЗнч(РезультатВыбора) = Тип("Структура") Тогда
ПослеВыбораАдресаИлиТелефонаНаСервере("ТелефонПолучателя", РезультатВыбора.Значение);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПредставлениеТелефонаУполномоченногоПредставителяЗавершениеВыбора(РезультатВыбора, ПараметрыОповещения) Экспорт
Если ТипЗнч(РезультатВыбора) = Тип("Структура") Тогда
ПослеВыбораАдресаИлиТелефонаНаСервере("ТелефонУполномоченногоПредставителя", РезультатВыбора.Значение);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПослеВыбораАдресаИлиТелефонаНаСервере(Знач ИмяРеквизитаАдреса, Знач ЗначениеАдреса)
Объект[ИмяРеквизитаАдреса] = ЗначениеАдреса;
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, ИмяРеквизитаАдреса);
ОбновитьВторичныеДанныеИВидимостьДоступность();
КонецПроцедуры
#КонецОбласти
&НаСервере
Процедура ОбновитьВторичныеДанныеИВидимостьДоступность()
ОбновитьВторичныеДанныеДокумента();
ОбновитьВидимостьДоступность();
КонецПроцедуры
&НаСервере
Процедура УстановитьТекущуюСтраницуВыплатыПособий()
СпособВыплатыПособия = Объект.СпособВыплатыПособия;
Если СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.НаКартуМИР Тогда
УстановитьСтраницу(Элементы.СтраницыСпособВыплатыПособия, Элементы.СтраницаВыплатитьНаКартуМИР);
ИначеЕсли СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.ЧерезБанк Тогда
УстановитьСтраницу(Элементы.СтраницыСпособВыплатыПособия, Элементы.СтраницаВыплатитьЧерезБанк);
ИначеЕсли СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.ПочтовымПереводом Тогда
УстановитьСтраницу(Элементы.СтраницыСпособВыплатыПособия, Элементы.СтраницаВыплатитьПочтовымПереводом);
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьСтраницу(Страницы, ТекущаяСтраница)
Для Каждого Страница Из Страницы.ПодчиненныеЭлементы Цикл
Страница.Видимость = (Страница = ТекущаяСтраница);
КонецЦикла;
Страницы.ТекущаяСтраница = ТекущаяСтраница;
КонецПроцедуры
&НаСервере
Процедура УстановитьТекущуюСтраницуПредоставляемыхДокументов()
Если Документы.ЗаявлениеСотрудникаНаВыплатуПособия.ЭтоЕдиновременноеПособиеПриРожденииРебенка(Объект.ВидПособия) Тогда
Элементы.СтраницыПрилагаемыеДокументы.ТекущаяСтраница = Элементы.СтраницаЕдиновременноеПособиеПриРождении;
ИначеЕсли Документы.ЗаявлениеСотрудникаНаВыплатуПособия.ЭтоУходЗаРебенком(Объект.ВидПособия) Тогда
Элементы.СтраницыПрилагаемыеДокументы.ТекущаяСтраница = Элементы.СтраницаЕжемесячноеПособиеПоУходу;
ИначеЕсли Объект.ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеПоБеременностиИРодамВставшимНаУчетВРанниеСроки Тогда
Элементы.СтраницыПрилагаемыеДокументы.ТекущаяСтраница = Элементы.СтраницаПособиеПоВременнойНетрудоспособности;
Элементы.ГруппаНомерДатаЛисткаНетрудоспособности.Видимость = Истина;
Элементы.ГруппаСправкаОПостановкеНаУчетВРанниеСрокиБеременности.Видимость = Истина;
Элементы.ГруппаПериодОтпускаПоБеременностиИРодам.Видимость = Истина;
Элементы.ГруппаПериодПриказаОбОтпускеПоБеременностиИРодам.Видимость = Истина;
ИначеЕсли Объект.ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеВставшимНаУчетВРанниеСроки Тогда
Элементы.СтраницыПрилагаемыеДокументы.ТекущаяСтраница = Элементы.СтраницаПособиеПоВременнойНетрудоспособности;
Элементы.ГруппаНомерДатаЛисткаНетрудоспособности.Видимость = Ложь;
Элементы.ГруппаСправкаОПостановкеНаУчетВРанниеСрокиБеременности.Видимость = Истина;
Элементы.ГруппаПериодОтпускаПоБеременностиИРодам.Видимость = Ложь;
Элементы.ГруппаПериодПриказаОбОтпускеПоБеременностиИРодам.Видимость = Ложь;
ИначеЕсли Объект.ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеПоБеременностиИРодам Тогда
Элементы.СтраницыПрилагаемыеДокументы.ТекущаяСтраница = Элементы.СтраницаПособиеПоВременнойНетрудоспособности;
Элементы.ГруппаНомерДатаЛисткаНетрудоспособности.Видимость = Истина;
Элементы.ГруппаСправкаОПостановкеНаУчетВРанниеСрокиБеременности.Видимость = Ложь;
Элементы.ГруппаПериодОтпускаПоБеременностиИРодам.Видимость = Истина;
Элементы.ГруппаПериодПриказаОбОтпускеПоБеременностиИРодам.Видимость = Истина;
ИначеЕсли Документы.ЗаявлениеСотрудникаНаВыплатуПособия.ЭтоОтпускСверхЕжегодногоНаПериодЛечения(Объект.ВидПособия) Тогда
Элементы.СтраницыПрилагаемыеДокументы.ТекущаяСтраница = Элементы.СтраницаОтпускНаПериодЛечения;
Иначе
Элементы.СтраницыПрилагаемыеДокументы.ТекущаяСтраница = Элементы.СтраницаПособиеПоВременнойНетрудоспособности;
Элементы.ГруппаНомерДатаЛисткаНетрудоспособности.Видимость = Истина;
Элементы.ГруппаСправкаОПостановкеНаУчетВРанниеСрокиБеременности.Видимость = Ложь;
Элементы.ГруппаПериодОтпускаПоБеременностиИРодам.Видимость = Ложь;
Элементы.ГруппаПериодПриказаОбОтпускеПоБеременностиИРодам.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьТекущуюСтраницуСправкаОНеполученииПособияЕжемесячноеПособие(Элементы, СправкаОНеполученииПособия)
Если СправкаОНеполученииПособия = ПредопределенноеЗначение("Перечисление.РодителиПредоставившиеСправкуОНеполученииПособия.Мать") Тогда
Элементы.СтраницыСправкиОНеполученииПособияЕжемесячноеПособие.ТекущаяСтраница = Элементы.СтраницыСправкиОНеполученииПособияЕжемесячноеПособие.ПодчиненныеЭлементы.СтраницаСправкаОтМатериОНеполученииПособияЕжемесячноеПособие;
ИначеЕсли СправкаОНеполученииПособия = ПредопределенноеЗначение("Перечисление.РодителиПредоставившиеСправкуОНеполученииПособия.ОбаРодителя") Тогда
Элементы.СтраницыСправкиОНеполученииПособияЕжемесячноеПособие.ТекущаяСтраница = Элементы.СтраницыСправкиОНеполученииПособияЕжемесячноеПособие.ПодчиненныеЭлементы.СтраницаСправкаОтОбоихОНеполученииПособияЕжемесячноеПособие;
Иначе
Элементы.СтраницыСправкиОНеполученииПособияЕжемесячноеПособие.ТекущаяСтраница = Элементы.СтраницыСправкиОНеполученииПособияЕжемесячноеПособие.ПодчиненныеЭлементы.СтраницаСправкаОтОтцаОНеполученииПособияЕжемесячноеПособие;
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьТекущуюСтраницуСправкаОНеполученииПособия(Элементы, СправкаОНеполученииПособия)
Если СправкаОНеполученииПособия = ПредопределенноеЗначение("Перечисление.РодителиПредоставившиеСправкуОНеполученииПособия.Мать") Тогда
Элементы.СтраницыСправкиОНеполученииПособия.ТекущаяСтраница = Элементы.СтраницыСправкиОНеполученииПособия.ПодчиненныеЭлементы.СтраницаСправкаОтМатериОНеполученииПособия;
Иначе
Элементы.СтраницыСправкиОНеполученииПособия.ТекущаяСтраница = Элементы.СтраницыСправкиОНеполученииПособия.ПодчиненныеЭлементы.СтраницаСправкаОтОтцаОНеполученииПособия;
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьТекущуюСтраницуРасчетСреднегоЗаработка(Элементы, ПорядокРасчетаСреднегоЗаработка)
Если ПорядокРасчетаСреднегоЗаработка = ПредопределенноеЗначение("Перечисление.СпособыРасчетаСреднегоЗаработкаДляОплатыПособия.СреднийЗаработок") Тогда
Элементы.СтраницыРасчетСреднегоЗаработка.ТекущаяСтраница = Элементы.СтраницыРасчетСреднегоЗаработка.ПодчиненныеЭлементы.СтраницаСреднийЗаработок;
ИначеЕсли ПорядокРасчетаСреднегоЗаработка = ПредопределенноеЗначение("Перечисление.СпособыРасчетаСреднегоЗаработкаДляОплатыПособия.ИсходяИзТарифнойСтавки") Тогда
Элементы.СтраницыРасчетСреднегоЗаработка.ТекущаяСтраница = Элементы.СтраницыРасчетСреднегоЗаработка.ПодчиненныеЭлементы.СтраницаТарифнаяСтавка;
Иначе
Элементы.СтраницыРасчетСреднегоЗаработка.ТекущаяСтраница = Элементы.СтраницыРасчетСреднегоЗаработка.ПодчиненныеЭлементы.СтраницаМРОТ;
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьТекущуюСтраницуПравилаРасчетаСреднего(Элементы, СчитатьПоПравилам2010Года)
Если СчитатьПоПравилам2010Года Тогда
Элементы.СтраницыПравилаРасчетаСреднего.ТекущаяСтраница = Элементы.СтраницыПравилаРасчетаСреднего.ПодчиненныеЭлементы.СтраницаПоПравилам2010;
Иначе
Элементы.СтраницыПравилаРасчетаСреднего.ТекущаяСтраница = Элементы.СтраницыПравилаРасчетаСреднего.ПодчиненныеЭлементы.СтраницаПоПравилам2011;
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьТекущуюСтраницуЗаменаКалендарныхГодов(Элементы, ЗамененыКалендарныеГодыРасчетаСреднегоЗаработка)
Если ЗамененыКалендарныеГодыРасчетаСреднегоЗаработка Тогда
Элементы.СтраницыЗаменаКалендарныхГодов.ТекущаяСтраница = Элементы.СтраницыЗаменаКалендарныхГодов.ПодчиненныеЭлементы.СтраницаКалендарныеГодыЗаменены;
Иначе
Элементы.СтраницыЗаменаКалендарныхГодов.ТекущаяСтраница = Элементы.СтраницыЗаменаКалендарныхГодов.ПодчиненныеЭлементы.СтраницаКалендарныеГодыНеЗаменены;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура НастроитьПолеРебенокЗаКоторымОсуществляетсяУход()
ЭтоУходЗаРебенком = Документы.ЗаявлениеСотрудникаНаВыплатуПособия.ЭтоУходЗаРебенком(Объект.ВидПособия);
Элементы.ИдентификаторСтрокиОснования.Видимость = ЭтоУходЗаРебенком И ЗначениеЗаполнено(Объект.ДокументОснование);
Если Элементы.ИдентификаторСтрокиОснования.Видимость Тогда
Менеджер = ОбщегоНазначения.МенеджерОбъектаПоСсылке(Объект.ДокументОснование);
Менеджер.НастроитьПолеВыбораРебенка(Объект.ДокументОснование, Элементы.ИдентификаторСтрокиОснования);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УстановитьДоступностьРасчетаСреднегоЗаработка(Элементы, ВидПособия)
ПособиеЗависитОтСреднего = Документы.ЗаявлениеСотрудникаНаВыплатуПособия.ПособиеЗависитОтСреднего(ВидПособия);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ГруппаРасчетПособия", "Видимость", ПособиеЗависитОтСреднего);
КонецПроцедуры
&НаСервере
Процедура ПриПолученииДанныхНаСервере(ТекущийОбъект)
МетаданныеДокумента = Метаданные.Документы.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий;
МетаданныеТабличнойЧасти = МетаданныеДокумента.ТабличныеЧасти.СведенияНеобходимыеДляНазначенияПособий;
Элементы.ГруппаДатаПредставленияПакетаДокументов.РасширеннаяПодсказка.Заголовок =
МетаданныеТабличнойЧасти.Реквизиты.ДатаПредставленияПакетаДокументов.Подсказка;
ЦветСтиляПоясняющийТекст = ЦветаСтиля.ПоясняющийТекст;
ЦветСтиляПоясняющийОшибкуТекст = ЦветаСтиля.ПоясняющийОшибкуТекст;
ЦветСтиляЦветТекстаПоля = ЦветаСтиля.ЦветТекстаПоля;
ПрямыеВыплатыПособийСоциальногоСтрахования.КодыПричинИсправления(Элементы.КодПричиныПерерасчета.СписокВыбора);
ПодписиДокументов.ПриСозданииНаСервере(ЭтотОбъект);
СтраныМираРоссия = ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.СтраныМира.Россия");
ТекстПредупреждения = ФиксацияВторичныхДанныхВДокументах.ОписаниеФиксируемогоРеквизита().СтрокаПредупреждения;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ВидЗаявления", "ПредупреждениеПриРедактировании", ТекстПредупреждения);
ФиксацияВторичныхДанныхВДокументахФормы.ИнициализироватьМеханизмФиксацииРеквизитов(ЭтотОбъект, ТекущийОбъект, ПараметрыФиксацииВторичныхДанных());
ОписаниеЭлементов = ФиксацияБыстрыйПоискРеквизитов();
ФиксацияВторичныхДанныхВДокументахФормы.ПодключитьОбработчикиФиксацииИзмененийРеквизитов(ЭтотОбъект, ОписаниеЭлементов);
ФиксацияВторичныхДанныхВДокументахФормы.УстановитьМодифицированность(ЭтотОбъект, Ложь);
ОбновитьВторичныеДанныеДокумента();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОбновитьФорму(ЭтотОбъект);
Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыРасширеннаяПодсистемы.ИсправленияДокументов") Тогда
МодульИсправлениеДокументовЗарплатаКадры = ОбщегоНазначения.ОбщийМодуль("ИсправлениеДокументовЗарплатаКадры");
МодульИсправлениеДокументовЗарплатаКадры.ГруппаИсправлениеДополнитьФорму(ЭтотОбъект);
МодульИсправлениеДокументовЗарплатаКадры.ПрочитатьРеквизитыИсправления(ЭтотОбъект, "ПериодическиеСведения", "Дата", Ложь);
УстановитьПоляИсправления(ЭтотОбъект);
КонецЕсли;
УстановитьТекущиеСтраницы();
УстановитьВидимостьГруппыЗаявитель(Элементы, Объект);
НастроитьОтношениеКОсобойЗоне(Элементы, Объект);
УстановитьДоступностьРасчетаСреднегоЗаработка(Элементы, Объект.ВидПособия);
ОбновитьЭлементыПодписей();
ОбновитьВидимостьДоступность();
ЗаполнитьРеестр();
НастроитьФормуПоСтатусуДокумента();
УстановитьФункциональныеОпцииФормы();
КонецПроцедуры
&НаСервере
Процедура ПервичныйДокументПриИзмененииНаСервере()
ЭтотОбъект.ПараметрыФиксацииВторичныхДанных = ПараметрыФиксацииВторичныхДанных();
ФиксацияСброситьФиксациюИзмененийПоОснованиюЗаполнения("ДокументОснование");
ФиксацияСброситьФиксациюИзмененийПоОснованиюЗаполнения("Организация");
ФиксацияСброситьФиксациюИзмененийПоОснованиюЗаполнения("Сотрудник");
ФиксацияСброситьФиксациюИзмененийПоОснованиюЗаполнения("Банк");
ОбновитьВторичныеДанныеДокумента();
УстановитьТекущиеСтраницы();
ОбновитьВидимостьДоступность();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОбновитьФорму(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ОрганизацияПриИзмененииНаСервере()
ПодписиДокументов.ЗаполнитьПодписиПоОрганизации(ЭтотОбъект);
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "Организация");
ФиксацияСброситьФиксациюИзмененийПоОснованиюЗаполнения("Организация");
ОбновитьВторичныеДанныеДокумента();
ОбновитьВидимостьДоступность();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОбновитьФорму(ЭтотОбъект);
УстановитьФункциональныеОпцииФормы();
КонецПроцедуры
&НаСервере
Процедура СотрудникПриИзмененииНаСервере(Знач Событие)
Если Событие = "СотрудникПриИзменении" Тогда
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "Сотрудник");
КонецЕсли;
ФиксацияСброситьФиксациюИзмененийПоОснованиюЗаполнения("Сотрудник");
ФиксацияСброситьФиксациюИзмененийПоОснованиюЗаполнения("Банк");
ОбновитьВторичныеДанныеДокумента();
ОбновитьВидимостьДоступность();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОбновитьФорму(ЭтотОбъект);
Модифицированность = Истина;
КонецПроцедуры
&НаСервере
Процедура СпособВыплатыПособияПриИзмененииНаСервере()
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "СпособВыплатыПособия");
ФиксацияСброситьФиксациюИзмененийПоОснованиюЗаполнения("СпособВыплатыПособия");
ОбновитьВторичныеДанныеДокумента();
ОбновитьВидимостьДоступность();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОбновитьФорму(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура БанкПриИзмененииНаСервере()
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "Банк");
ФиксацияСброситьФиксациюИзмененийПоОснованиюЗаполнения("Банк");
ОбновитьВторичныеДанныеДокумента();
ОбновитьВидимостьДоступность();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОбновитьФорму(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ВидАдресаПочтовогоПереводаПриИзмененииНаСервере()
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "ВидАдресаПочтовогоПеревода");
ФиксацияСброситьФиксациюИзмененийПоОснованиюЗаполнения("ВидАдресаПочтовогоПеревода");
ОбновитьВторичныеДанныеДокумента();
ОбновитьВидимостьДоступность();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОбновитьФорму(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ОбновитьВторичныеДанныеНаСервере()
Если Модифицированность Или Объект.Ссылка.Пустая() Тогда
ОбновитьВторичныеДанныеДокумента();
УстановитьТекущиеСтраницы();
ОбновитьВидимостьДоступность();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОбновитьФорму(ЭтотОбъект);
Иначе
Прочитать();
Надпись = Элементы.Найти("ПредупреждениеОбновленияВторичныхДанных");
Если Надпись <> Неопределено И Надпись.Видимость Тогда
Модифицированность = Истина;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОтменитьИзмененияНаСервере()
ФиксацияСброситьФиксациюИзмененийПоОснованиюЗаполнения("ДокументОснование");
ФиксацияСброситьФиксациюИзмененийПоОснованиюЗаполнения("Организация");
ФиксацияСброситьФиксациюИзмененийПоОснованиюЗаполнения("Сотрудник");
ФиксацияСброситьФиксациюИзмененийПоОснованиюЗаполнения("Банк");
ОбновитьВторичныеДанныеДокумента();
УстановитьТекущиеСтраницы();
ОбновитьВидимостьДоступность();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОбновитьФорму(ЭтотОбъект);
Модифицированность = Истина;
КонецПроцедуры
&НаСервере
Процедура ОтменитьИзмененияСпособаВыплатыПособияНаСервере()
ФиксацияВторичныхДанныхВДокументахКлиентСервер.СброситьФиксациюИзмененийРеквизитовПоИмениГруппы(
ЭтотОбъект,
"СпособВыплатыПособия");
ОбновитьВторичныеДанныеДокумента();
УстановитьТекущиеСтраницы();
ОбновитьВидимостьДоступность();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОбновитьФорму(ЭтотОбъект);
Модифицированность = Истина;
КонецПроцедуры
&НаСервере
Процедура ПерерасчетПриИзмененииСервере()
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "Перерасчет");
ОбновитьВидимостьДоступность();
КонецПроцедуры
&НаСервере
Процедура КодПричиныПерерасчетаПриИзмененииНаСервере()
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "КодПричиныПерерасчета");
НаименованиеПричиныПерерасчета = НаименованиеПричиныПерерасчета();
Если Не ЗначениеЗаполнено(НаименованиеПричиныПерерасчета) Тогда
Объект.КодПричиныПерерасчета = "";
КонецЕсли;
Если Не ЗначениеЗаполнено(Объект.ОписаниеПричиныПерерасчета)
Или Лев(Объект.ОписаниеПричиныПерерасчета, 108) = Лев(Элементы.КодПричиныПерерасчета.Подсказка, 108) Тогда
Если Объект.КодПричиныПерерасчета = "06" Тогда
Объект.ОписаниеПричиныПерерасчета = "";
Иначе
Объект.ОписаниеПричиныПерерасчета = НаименованиеПричиныПерерасчета;
КонецЕсли;
КонецЕсли;
ОбновитьВидимостьДоступность();
КонецПроцедуры
&НаСервере
Функция НаименованиеПричиныПерерасчета()
Если Не ЗначениеЗаполнено(Объект.КодПричиныПерерасчета) Тогда
Возврат "";
КонецЕсли;
ЭлементСписка = Элементы.КодПричиныПерерасчета.СписокВыбора.НайтиПоЗначению(Объект.КодПричиныПерерасчета);
Если ЭлементСписка = Неопределено Тогда
Возврат "";
КонецЕсли;
Если КодСимвола(ЭлементСписка.Представление, 3) = КодСимвола(".") Тогда
Возврат СокрЛП(Сред(ЭлементСписка.Представление, 4));
Иначе
Возврат СокрЛП(ЭлементСписка.Представление)
КонецЕсли;
КонецФункции
&НаСервере
Процедура УстановитьТекущиеСтраницы()
УстановитьТекущуюСтраницуСправкаОНеполученииПособияЕжемесячноеПособие(Элементы, Объект.СправкаОНеполученииПособия);
УстановитьТекущуюСтраницуСправкаОНеполученииПособия(Элементы, Объект.СправкаОНеполученииПособия);
УстановитьТекущуюСтраницуВыплатыПособий();
УстановитьТекущуюСтраницуПредоставляемыхДокументов();
УстановитьТекущуюСтраницуРасчетСреднегоЗаработка(Элементы,Объект.ПорядокРасчетаСреднегоЗаработка);
УстановитьТекущуюСтраницуПравилаРасчетаСреднего(Элементы, Объект.СчитатьПоПравилам2010Года);
УстановитьТекущуюСтраницуЗаменаКалендарныхГодов(Элементы, Объект.ЗамененыКалендарныеГодыРасчетаСреднегоЗаработка);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьВидимостьГруппыЗаявитель(Элементы, Объект);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "СтраницаСведенияОЗаявителе", "Видимость", Объект.ПолучательНеЯвляетсяЗаявителем);
КонецПроцедуры
&НаСервере
Процедура ВидПособияПриИзмененииНаСервере()
Если Не ЗначениеЗаполнено(Объект.ВидПособия) Тогда
Объект.ДокументОснование = Неопределено;
Объект.ИдентификаторСтрокиОснования = Неопределено;
КонецЕсли;
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "ВидПособия");
УстановитьТекущуюСтраницуПредоставляемыхДокументов();
УстановитьДоступностьРасчетаСреднегоЗаработка(Элементы, Объект.ВидПособия);
ОбновитьВидимостьДоступность();
КонецПроцедуры
&НаСервере
Процедура ГражданствоПриИзмененииНаСервере()
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "Гражданство");
ОбновитьВторичныеДанныеДокумента();
ОбновитьВидимостьДоступность();
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура НастроитьОтношениеКОсобойЗоне(Элементы, Объект)
Если Объект.ОтношениеКОсобойЗоне = ПредопределенноеЗначение("Перечисление.ОтношениеКОсобойЗоне.Нет") Тогда
Объект.ВидОсобойЗоныПроживанияРаботы = ПредопределенноеЗначение("Перечисление.ВидыОсобойЗоныПроживанияРаботы.ПустаяСсылка");
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ВидОсобойЗоныПроживанияРаботы", "Доступность", Ложь);
Иначе
Если НЕ ЗначениеЗаполнено(Объект.ВидОсобойЗоныПроживанияРаботы) Тогда
Объект.ВидОсобойЗоныПроживанияРаботы = ПредопределенноеЗначение("Перечисление.ВидыОсобойЗоныПроживанияРаботы.ЗонаСПравомНаОтселение");
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ВидОсобойЗоныПроживанияРаботы", "Доступность", Истина);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура НастроитьФормуПоСтатусуДокумента()
ЭтотОбъект.ТолькоПросмотр = ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОбъектФормыЗафиксирован(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьРеестр()
СведенияОРеестре = ПрямыеВыплатыПособийСоциальногоСтрахования.РеестрПоЗаявлению(Объект.Ссылка);
Реестр = ОбщегоНазначенияБЗККлиентСервер.ЗначениеСвойства(СведенияОРеестре, "Ссылка");
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "Реестр", "Доступность", ЗначениеЗаполнено(Реестр));
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ГруппаИсправление", "Видимость", ЗначениеЗаполнено(Реестр));
КонецПроцедуры
&НаСервере
Процедура ОбновитьЭлементыПодписей()
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
ПодписиДокументовКлиентСервер.ИмяЭлементаФормыПоРолиПодписанта("ПредставительСФР"),
"ПоложениеЗаголовка",
ПоложениеЗаголовкаЭлементаФормы.Верх);
ВводВСтаромФормате = ЗначениеЗаполнено(Объект.УдалитьФИОУполномоченного) И Не ЗначениеЗаполнено(Объект.ПредставительСФР);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"УдалитьФИОУполномоченного",
"Видимость",
ВводВСтаромФормате);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"УдалитьДолжностьУполномоченного",
"Видимость",
ВводВСтаромФормате);
КонецПроцедуры
&НаСервере
Процедура ОбновитьВидимостьДоступность()
Если Объект.Дата < ПрямыеВыплатыПособийСоциальногоСтрахования.ДатаВступленияВСилуФорм2021Года() Тогда
АвтоЗаголовок = Ложь;
Заголовок = СтрШаблон(
НСтр("ru = 'Заявление сотрудника на выплату пособия %1 от %2'"),
Объект.Номер,
Формат(Объект.Дата, "ДЛФ=D"));
Элементы.ИзмененыСведенияОЗастрахованномЛице.Видимость = Ложь;
Иначе
АвтоЗаголовок = Истина;
Заголовок = "";
Элементы.ИзмененыСведенияОЗастрахованномЛице.Видимость = Истина;
КонецЕсли;
ЭтоОтпускСверхЕжегодногоНаПериодЛечения = Документы.ЗаявлениеСотрудникаНаВыплатуПособия.ЭтоОтпускСверхЕжегодногоНаПериодЛечения(Объект.ВидПособия);
Элементы.КодПричиныПерерасчета.Доступность = Объект.Перерасчет;
Элементы.ОписаниеПричиныПерерасчета.Доступность = Объект.Перерасчет;
Элементы.КодПричиныПерерасчета.Подсказка = НаименованиеПричиныПерерасчета();
Элементы.СведенияДляЭлектронногоРеестра.Видимость = Не ЭтоОтпускСверхЕжегодногоНаПериодЛечения;
УстановитьТекущуюСтраницуВыплатыПособий();
Документы.ЗаявлениеСотрудникаНаВыплатуПособия.НастроитьПолеВводаПервичногоДокумента(
Объект.Сотрудник,
Объект,
Элементы.ДокументОснование,
Объект.ДокументОснование);
НастроитьПолеРебенокЗаКоторымОсуществляетсяУход();
Менеджер = Документы.ЗаявлениеСотрудникаНаВыплатуПособия;
ЭтоУходЗаРебенком = Менеджер.ЭтоУходЗаРебенком(Объект.ВидПособия);
ЭтоОтпускНаПериодЛечения = Менеджер.ЭтоОтпускСверхЕжегодногоНаПериодЛечения(Объект.ВидПособия);
ЭтоРождениеРебенка = Менеджер.ЭтоЕдиновременноеПособиеПриРожденииРебенка(Объект.ВидПособия);
Элементы.ГруппаПриказОЗаменеПослеродовогоОтпуска.Видимость = ЭтоУходЗаРебенком;
Элементы.СреднийДневнойЗаработок.Видимость = ЭтоУходЗаРебенком;
Элементы.ГруппаСведенияОРебенкеДляРеестра.Видимость = ЭтоУходЗаРебенком Или ЭтоРождениеРебенка;
Элементы.СреднийЗаработокДляОтпускаНаПериодЛеченияГруппа.Видимость = ЭтоОтпускНаПериодЛечения;
Если ЭтоОтпускНаПериодЛечения Тогда
ЗарплатаКадрыКлиентСервер.ЗаполнитьМесяцПоДатеВТабличнойЧасти(Объект.СреднийЗаработок, "Период", "ПериодСтрокой");
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"ГруппаДокументНаПроживание",
"Видимость",
ЗначениеЗаполнено(Объект.Гражданство) И Объект.Гражданство <> СтраныМираРоссия);
ОбновитьПоляВводаКонтактнойИнформации();
ЗаголовокНадписи = "";
Если ЗначениеЗаполнено(Объект.ИзвещениеИзФССНомер)
И ЗначениеЗаполнено(Объект.ИзвещениеИзФССДата) Тогда
Извещение = Документы.ЗапросНедостающихСведенийПособияСФР.НайтиПоВходящемуНомеруДате(Объект.ИзвещениеИзФССНомер,
Объект.ИзвещениеИзФССДата);
Если Извещение <> Неопределено Тогда
Адрес = ПолучитьНавигационнуюСсылку(Извещение.Ссылка);
ЗаголовокНадписи = СтроковыеФункции.ФорматированнаяСтрока(
СтрШаблон("<a href=""%1"">%2</a>", Адрес, Извещение.Представление));
КонецЕсли;
КонецЕсли;
Элементы.ИзвещениеИзФСССсылка.Заголовок = ЗаголовокНадписи;
Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыРасширеннаяПодсистемы.ПособияСоциальногоСтрахования.ПрямыеВыплаты") Тогда
Модуль = ОбщегоНазначения.ОбщийМодуль("ПрямыеВыплатыПособийСоциальногоСтрахованияРасширенный");
Модуль.ПриОбновленииФормыЗаявления(ЭтотОбъект);
КонецЕсли;
РезультатПроверки = ПроверкиБЗК.РезультатПроверкиНомераСчета(
Объект.НомерЛицевогоСчета,
Объект.БИКБанка,
Объект.КоррСчетБанка);
Элементы.РезультатПроверкиНомераСчета.Заголовок = РезультатПроверки.Пояснение;
Если РезультатПроверки.Успех Тогда
Элементы.РезультатПроверкиНомераСчета.ЦветФона = ЦветаСтиля.ЦветФонаУспешнойОперацииБЗК;
Иначе
Элементы.РезультатПроверкиНомераСчета.ЦветФона = ЦветаСтиля.ЦветФонаПредупрежденияБЗК;
КонецЕсли;
Если ЭтотОбъект["СпособВыплатыПособияФикс"]
Или ЭтотОбъект["БанкФикс"]
Или ЭтотОбъект["ВидАдресаПочтовогоПереводаФикс"] Тогда
Элементы.ИзменитьСпособВыплатыПособия.ЦветТекста = ЦветаСтиля.ПоясняющийТекст;
Иначе
Элементы.ИзменитьСпособВыплатыПособия.ЦветТекста = Новый Цвет;
КонецЕсли;
Элементы.ОтменитьИзмененияСпособаВыплатыПособия.Видимость = (
ЭтотОбъект["СпособВыплатыПособияФикс"]
Или ЭтотОбъект["КартаМИРФикс"]
Или ЭтотОбъект["БанкФикс"]
Или ЭтотОбъект["БИКБанкаФикс"]
Или ЭтотОбъект["КоррСчетБанкаФикс"]
Или ЭтотОбъект["НаименованиеБанкаФикс"]
Или ЭтотОбъект["НомерЛицевогоСчетаФикс"]
Или ЭтотОбъект["ВидАдресаПочтовогоПереводаФикс"]
Или ЭтотОбъект["АдресПолучателяФактическийФикс"]
Или ЭтотОбъект["АдресПолучателяФактическийИдентификаторФИАСФикс"]
Или ЭтотОбъект["АдресПолучателяФактическийКодКЛАДРФикс"]);
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
&НаСервере
Процедура ОбновитьПоляВводаКонтактнойИнформации()
КонтактнаяИнформацияБЗК.ОбновитьПолеВводаАдреса(
ЭтотОбъект,
"ПредставлениеФактическогоАдресаПолучателя",
Объект.АдресПолучателяФактический);
КонтактнаяИнформацияБЗК.ОбновитьПолеВводаАдреса(
ЭтотОбъект,
"ПредставлениеАдресаРегистрацииПолучателя",
Объект.АдресПолучателяРегистрации);
КонтактнаяИнформацияБЗК.ОбновитьПолеВводаТелефона(
ЭтотОбъект,
"ПредставлениеТелефонаПолучателя",
Объект.ТелефонПолучателя);
КонтактнаяИнформацияБЗК.ОбновитьПолеВводаТелефона(
ЭтотОбъект,
"ПредставлениеТелефонаУполномоченногоПредставителя",
Объект.ТелефонУполномоченногоПредставителя);
КонецПроцедуры
&НаСервере
Процедура УстановитьФункциональныеОпцииФормы()
УстановитьПривилегированныйРежим(Истина);
УстановитьПараметрыФункциональныхОпцийФормы(Новый Структура("Организация", Объект.Организация));
КонецПроцедуры
&НаСервере
Процедура ОбработатьСообщенияПользователю()
Сообщения = ПолучитьСообщенияПользователю(Ложь);
Для Каждого Сообщение Из Сообщения Цикл
Если Не ЗначениеЗаполнено(Сообщение.КлючДанных)
И Не ЗначениеЗаполнено(Сообщение.ПутьКДанным)
И Не СтрНачинаетсяС(Сообщение.Поле, "Объект.") Тогда
Сообщение.ПутьКДанным = "Объект";
КонецЕсли;
Если Сообщение.Поле = "АдресПолучателяФактический" Тогда
Сообщение.Поле = "ПредставлениеФактическогоАдресаПолучателя";
Сообщение.ПутьКДанным = "";
ИначеЕсли Сообщение.Поле = "АдресПолучателяРегистрации" Тогда
Сообщение.Поле = "ПредставлениеАдресаРегистрацииПолучателя";
Сообщение.ПутьКДанным = "";
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура ОписаниеПричиныПерерасчетаПриИзмененииНаСервере()
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "ОписаниеПричиныПерерасчета");
КонецПроцедуры
&НаКлиенте
Процедура СреднийЗаработокПериодСтрокойОкончаниеВыбора(ЕстьИзменения, ПустойПараметр) Экспорт
Если Не ЕстьИзменения Тогда
Возврат;
КонецЕсли;
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "СреднийЗаработок");
КонецПроцедуры
#КонецОбласти