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