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