gifts2017

Пара ошибок в ЗУП КОРП 2.5.70.1,2 в НДФЛ

Опубликовал Dima Neumoichev (Ndochp) в раздел Программирование - Практика программирования

Пара ошибок в ЗУП КОРП 2.5.70.1,2 в НДФЛ (в 71 поправлены)

После изменений по НДФЛ в некоторых случаях межрасчетное вычисление НДФЛ начинает задваивать начисленный НДФЛ.

Финальный документ "Начисление зарплаты" выправляет общий начисленный НДФЛ отрицательной суммой, но создает при этом записи в НДФЛ к зачету, что вам наверное не нужно.

Бага в двух местах:

1. общий модуль ПроведениеРасчетов:

Функция ДанныеДляПромежуточногоРасчетаНДФЛ(Физлица, ДанныеДокумента) Экспорт

    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ОбособленноеПодразделение",        ДанныеДокумента.ОбособленноеПодразделение);
    Запрос.УстановитьПараметр("ПериодРегистрации",                ДанныеДокумента.ПериодРегистрации);

//    Запрос.УстановитьПараметр("Организация",                    ДанныеДокумента.Организация);

    Запрос.УстановитьПараметр("Организация",                    ДанныеДокумента.ГоловнаяОрганизация);
Вылезает, если расчет идет по подчиненной организации

 

2. Модуль документа РегистрацияРазовыхНачисленийРаботниковОрганизаций в процедуре РассчитатьНДФЛ

есть строчка:

    СтруктураДанныхДляПромежуточногоРасчета = ПроведениеРасчетов.ДанныеДляПромежуточногоРасчетаНДФЛ(ДоходыИзДокумента.ВыгрузитьКолонку("Физлицо"), ВыборкаПоШапкеДокумента);

Ошибка в фильтре по физлицам. Если начисление НДФЛ не облагается, то фильтр пустой и НДФЛ снова задваивается. код исправления:

//+++
//Исправляем фильтр, пока это не сделала 1С
//СтруктураДанныхДляПромежуточногоРасчета = ПроведениеРасчетов.ДанныеДляПромежуточногоРасчетаНДФЛ(ДоходыИзДокумента.ВыгрузитьКолонку("Физлицо"), ВыборкаПоШапкеДокумента);


ОтборФизлиц = ОсновныеНачисления.ВыгрузитьКолонку("ФизЛицо");
ТемпОтборФизлиц = ДополнительныеНачисления.ВыгрузитьКолонку("ФизЛицо");
Для каждого Физлицо Из ТемпОтборФизлиц Цикл
ОтборФизлиц.Добавить(Физлицо);
КонецЦикла;
СтруктураДанныхДляПромежуточногоРасчета = ПроведениеРасчетов.ДанныеДляПромежуточногоРасчетаНДФЛ(ОтборФизлиц, ВыборкаПоШапкеДокумента);
//--- 

Вылезает при создании разового начисления необлагаемого НДФЛ при наличии других межрасчетов (отпусков, больничных, других разовых расчетов)

 

 

 

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Влад Петров (fox06) 20.08.13 08:47
Можно код показать? Спасибо
2. Dima Neumoichev (Ndochp) 20.08.13 10:43
Для первого случая в статье, но это поправили в 71 релизе.
Для второго случая - у меня на 71 воспроизводится, у хотлайна 1С - нет. Код исправления такой:
//+++
//Исправляем фильтр, пока это не сделала 1С
//СтруктураДанныхДляПромежуточногоРасчета = ПроведениеРасчетов.ДанныеДляПромежуточногоРасчетаНДФЛ(ДоходыИзДокумента.ВыгрузитьКолонку("Физлицо"), ВыборкаПоШапкеДокумента);


ОтборФизлиц = ОсновныеНачисления.ВыгрузитьКолонку("ФизЛицо");
ТемпОтборФизлиц = ДополнительныеНачисления.ВыгрузитьКолонку("ФизЛицо");
Для каждого Физлицо Из ТемпОтборФизлиц Цикл
ОтборФизлиц.Добавить(Физлицо);
КонецЦикла;
СтруктураДанныхДляПромежуточногоРасчета = ПроведениеРасчетов.ДанныеДляПромежуточногоРасчетаНДФЛ(ОтборФизлиц, ВыборкаПоШапкеДокумента);
//---
В 70 и 71 этот кусок слегка отличается, в 71 ищите по строке "СтруктураДанныхДляПромежуточногоРасчета = ПроведениеРасчетов.ДанныеДляПромежуточногоРасчетаНДФЛ(МассивФизлиц, ВыборкаПоШапкеДокумента);"
Но один фиг, массив физлиц они берут не из таблицы документа.
3. Dima Neumoichev (Ndochp) 20.08.13 10:55
Кстати, про 71 похоже я обманул, не удалось сейчас воспроизвести. Как вчера получилось - не понял. В общем тема не актуальна.
4. Макас (makas) 20.08.13 11:12
Прочел с интересом, спасибо!
5. hopter _ (hopter) 21.08.13 11:15
Вторую ошибку хотлайну скинул сразу после выхода версии 2.5.70.
Но у них типа на демобазе 2.5.70 не воспроизводится, пришлось обновлять демку и кидать со скриншотами настроек видов расчета и результатами документов. Замолчали. На 71 не проверял.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа