Как исправить ошибку в расчете строки 140 отчета 6-НДФЛ в конфигурациях 1С:ЗУП 2.5 и 1С:УПП 1.3?

Программист 1С v8.3 (Обычные формы) 1С:Зарплата и Управление Персоналом Налоговый учет
← На главную

При подготовке регламентированной отчетности 6-НДФЛ (в редакции, действующей с 2021 года) в устаревших, но все еще поддерживаемых конфигурациях, таких как «1С:Зарплата и управление персоналом 2.5» и «1С:Управление производственным предприятием 1.3», бухгалтеры часто сталкиваются с критической ошибкой. В Разделе 2 по строке 140 («Сумма налога исчисленная») данные могут рассчитываться некорректно: суммы по отдельным сотрудникам удваиваются или даже утраиваются.

Рассмотрим подробнее, почему возникает эта ситуация, как проанализировать данные и каким образом внести исправления в программный код, чтобы отчет формировался правильно.

Выясним причину возникновения ошибки

Проанализируем механику работы отчета. При заполнении строки 140 система обращается к регистрам накопления, в которых хранится информация об исчисленном налоге. Однако, помимо самих сумм налога, алгоритм заполнения учитывает статус налогоплательщика (например, является ли сотрудник ВКС — высококвалифицированным специалистом). Для этого программа программно формирует сложный запрос, который соединяет временную таблицу с суммами налогов и временную таблицу со сведениями о статусах сотрудников.

Ошибка кроется в отсутствии жесткого условия связи по полю КатегорияДохода. Если у сотрудника в одном периоде есть доходы, относящиеся к разным категориям (например, «Оплата труда» и «Прочие доходы»), или если в регистры ошибочно попали дублирующие записи по статусам, происходит так называемое «кросс-соединение» (декартово произведение строк). В результате одна и та же сумма налога суммируется в отчете несколько раз, хотя в справках 2-НДФЛ и расчетных листках цифры отображаются верно.

Разберем ситуацию на примере

Представим, что у сотрудника исчислен налог в размере 13 000 рублей. В системе зафиксировано, что он имеет статус ВКС. Если в запросе, который собирает данные для 6-НДФЛ, соединение таблиц происходит только по идентификатору физического лица, а категорий дохода в периоде было две, то программа «увидит» две строки там, где должна быть одна, и в строку 140 попадет уже 26 000 рублей.

Пошаговое решение проблемы через конфигуратор

Для исправления этой системной ошибки нам потребуется внести изменения в программный код общего модуля. Рассмотрим действия программиста по шагам:

  1. Откройте конфигурацию в режиме «Конфигуратор».
  2. Найдите в дереве метаданных общий модуль с именем ЗаполнениеРегламентированнойОтчетности.
  3. Раскройте модуль и воспользуйтесь поиском (Ctrl+F), чтобы найти фрагмент кода, где формируется запрос для сбора данных НДФЛ.
  4. Ориентируйтесь на строку, содержащую текст | ПО Налоги.ФизЛицо = СведенияВКС.ФизЛицо. В типовой конфигурации ЗУП 2.5.175.1 это примерно 2678-я строка, в УПП 1.3.183.1 номер строки может незначительно отличаться.
  5. Нам необходимо расширить условие соединения таблиц, добавив проверку категории дохода.

Проанализируем, как должен выглядеть исправленный фрагмент кода:


// Было в типовой конфигурации:
| ПО Налоги.ФизЛицо = СведенияВКС.ФизЛицо

// Необходимо изменить на:
| ПО Налоги.ФизЛицо = СведенияВКС.ФизЛицо
| И Налоги.КатегорияДохода = СведенияВКС.КатегорияДохода

Добавление строки | И Налоги.КатегорияДохода = СведенияВКС.КатегорияДохода гарантирует, что данные будут сопоставляться корректно, исключая дублирование строк в выборке.

Особенности для различных конфигураций

Данная проблема является унифицированной для программ на платформе «1С:Предприятие 8.2» (и 8.3 в режиме совместимости), так как код формирования регламентированной отчетности в них часто копировался между решениями. Проверьте следующие релизы, если вы работаете в них:

Проверка результата и дополнительные рекомендации

После того как вы внесли изменения в код и сохранили конфигурацию, выполните следующие действия для проверки корректности формирования отчета:

  1. Очистите кэш конфигурации. Иногда старые алгоритмы расчета «залипают» в памяти, и отчет продолжает заполняться с ошибкой даже после правки кода.
  2. Обновите отчет. В форме отчета 6-НДФЛ не просто нажимайте кнопку «Заполнить», а используйте команду «Обновить». Это инициирует полный перезапуск алгоритма сбора данных из регистров.
  3. Проверьте расшифровку. Выделите ячейку строки 140 и нажмите кнопку «Расшифровать». Посмотрите на список сотрудников: теперь суммы должны соответствовать данным справок 2-НДФЛ, а дублирующиеся строки по одним и тем же людям должны исчезнуть.

Важный момент: Если в вашей базе нет сотрудников со статусом ВКС, но ошибка все равно воспроизводится, это может означать наличие «мусорных» записей в регистре сведений Статус физических лиц как налогоплательщиков. Исправление кода, которое мы рассмотрели, является универсальным и самым надежным способом, так как оно защищает отчет от некорректных соединений данных в любом случае.

Таким образом, мы совместно разобрали техническую причину ошибки и применили программный метод ее устранения. Это позволит вам формировать корректную отчетность в контролирующие органы даже в тех конфигурациях, поддержка которых постепенно сокращается.

← На главную