После изменений по НДФЛ в некоторых случаях межрасчетное вычисление НДФЛ начинает задваивать начисленный НДФЛ.
Финальный документ "Начисление зарплаты" выправляет общий начисленный НДФЛ отрицательной суммой, но создает при этом записи в НДФЛ к зачету, что вам наверное не нужно.
Бага в двух местах:
1. общий модуль ПроведениеРасчетов:
Функция ДанныеДляПромежуточногоРасчетаНДФЛ(Физлица, ДанныеДокумента) Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ОбособленноеПодразделение", ДанныеДокумента.ОбособленноеПодразделение);
Запрос.УстановитьПараметр("ПериодРегистрации", ДанныеДокумента.ПериодРегистрации);
// Запрос.УстановитьПараметр("Организация", ДанныеДокумента.Организация);
Запрос.УстановитьПараметр("Организация", ДанныеДокумента.ГоловнаяОрганизация);
Вылезает, если расчет идет по подчиненной организации
2. Модуль документа РегистрацияРазовыхНачисленийРаботниковОрганизаций в процедуре РассчитатьНДФЛ
есть строчка:
СтруктураДанныхДляПромежуточногоРасчета = ПроведениеРасчетов.ДанныеДляПромежуточногоРасчетаНДФЛ(ДоходыИзДокумента.ВыгрузитьКолонку("Физлицо"), ВыборкаПоШапкеДокумента);
Ошибка в фильтре по физлицам. Если начисление НДФЛ не облагается, то фильтр пустой и НДФЛ снова задваивается. код исправления:
//+++
//Исправляем фильтр, пока это не сделала 1С
//СтруктураДанныхДляПромежуточногоРасчета = ПроведениеРасчетов.ДанныеДляПромежуточногоРасчетаНДФЛ(ДоходыИзДокумента.ВыгрузитьКолонку("Физлицо"), ВыборкаПоШапкеДокумента);
ОтборФизлиц = ОсновныеНачисления.ВыгрузитьКолонку("ФизЛицо");
ТемпОтборФизлиц = ДополнительныеНачисления.ВыгрузитьКолонку("ФизЛицо");
Для каждого Физлицо Из ТемпОтборФизлиц Цикл
ОтборФизлиц.Добавить(Физлицо);
КонецЦикла;
СтруктураДанныхДляПромежуточногоРасчета = ПроведениеРасчетов.ДанныеДляПромежуточногоРасчетаНДФЛ(ОтборФизлиц, ВыборкаПоШапкеДокумента);
//---
Вылезает при создании разового начисления необлагаемого НДФЛ при наличии других межрасчетов (отпусков, больничных, других разовых расчетов)