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