Почему в отчетах по НДФЛ появляется сотрудник, которого нет в документе «Доход в натуральной форме»?

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

В практике работы с конфигурацией 1С:Зарплата и управление персоналом 3.1 (ЗУП) часто встречается парадоксальная ситуация: отчет Анализ НДФЛ по датам получения дохода или расшифровка по документам-основаниям показывают суммы исчисленного налога по конкретному сотруднику, ссылаясь на документ (например, Доход в натуральной форме), открыв который, пользователь этого сотрудника там не обнаруживает. Рассмотрим подробно, почему так происходит, и разберем по шагам методы исправления этой ошибки.

Причина возникновения «призрачных» записей

Для начала проанализируем внутреннюю архитектуру документов в ЗУП 3.1. В отличие от старых версий программы, многие современные документы имеют не одну видимую пользователю таблицу, а несколько. Когда мы вносим данные в основную часть документа Доход в натуральной форме, программа автоматически запускает механизмы расчета налогов и взносов, которые записываются в скрытые табличные части, такие как НДФЛ, Удержания или Пересчет подоходного налога.

Проблема возникает в следующие моменты:

  1. Некорректное удаление: Если сотрудника удалили из документа простым нажатием кнопки Del или через контекстное меню, программные обработчики очистки связанных таблиц могут не сработать. В результате в основной таблице сотрудника нет, а в скрытой таблице НДФЛ запись о нем осталась.
  2. Копирование документов: При создании нового документа путем копирования старого (например, с подарками или питанием), скрытые строки со списком сотрудников могут «переехать» в новый объект. Если пользователь не инициировал полный пересчет или не изменил ключевые реквизиты, эти данные «зависают» в базе.
  3. Ошибки переноса данных: При миграции из ЗУП 2.5 или УПП могут создаваться технические связи, которые некорректно отображаются в интерфейсе 3.1, но учитываются регистрами накопления.

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

Метод 1. Диагностика через консоль запросов

Прежде чем что-то удалять, нам необходимо убедиться, что данные действительно скрыты внутри объекта. Рассмотрим, как это проверить. Самый быстрый способ для программиста — использовать консоль запросов. Проанализируем содержимое скрытой таблицы НДФЛ документа Доход в натуральной форме:


ВЫБРАТЬ
    ДоходВНатуральнойФормеНДФЛ.Ссылка КАК Документ,
    ДоходВНатуральнойФормеНДФЛ.Сотрудник КАК Сотрудник,
    ДоходВНатуральнойФормеНДФЛ.Налог КАК СуммаНалога
ИЗ
    Документ.ДоходВНатуральнойФорме.НДФЛ КАК ДоходВНатуральнойФормеНДФЛ
ГДЕ
    ДоходВНатуральнойФормеНДФЛ.Ссылка = &СсылкаНаВашДокумент

Если запрос вернул строку с сотрудником, которого вы не видите в интерфейсе программы, значит, мы нашли источник проблемы. Визуально документу верить нельзя — нужно верить базе данных.

Метод 2. Использование инструмента «Групповое изменение реквизитов»

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

  1. Перейдем в раздел Администрирование — Обслуживание — Корректировка данных — Групповое изменение реквизитов.
  2. В поле «Изменять» выберем тип объекта Доход в натуральной форме.
  3. С помощью ссылки «Все элементы» установим отбор по конкретному проблемному документу.
  4. Нажмем кнопку Дополнительные параметры и установим флаг Показывать служебные реквизиты. Это критически важно!
  5. В списке реквизитов найдем табличную часть НДФЛ (она может называться ТаблицаНДФЛ или аналогично в зависимости от релиза).
  6. Посмотрим на содержимое. Если там есть лишние строки, этот инструмент позволяет программно взаимодействовать с ними. Однако для полной очистки лучше использовать методы перевыбора данных внутри самого документа.

Метод 3. «Магический» перевыбор реквизитов

Иногда, чтобы заставить 1С очистить скрытые кэши, нужно инициировать полное обновление данных объекта. Попробуем выполнить следующие действия в проблемном документе:

Важно: В релизах ветки 3.1.8 часто помогало именно изменение даты документа вместе с датой выплаты, так как это вызывает принудительный перезапуск обработчика ПриИзменении, который отвечает за синхронизацию основной и скрытых таблиц.

Метод 4. Программная очистка скрытых таблиц

Если ручные методы и стандартные обработки не помогают (как в сообщении 17 форума), придется прибегнуть к программному коду. Рассмотрим пример небольшого скрипта, который можно выполнить во внешней обработке для принудительной очистки «мусора» в документе:


&НаСервере
Процедура ОчиститьСкрытыеТЧНаСервере(СсылкаНаДокумент)
    
    ДокОбъект = СсылкаНаДокумент.ПолучитьОбъект();
    
    // Очищаем скрытую таблицу НДФЛ
    ДокОбъект.НДФЛ.Очистить();
    
    // Также можно проверить таблицу Взносов или Удержаний, если проблема в них
    // ДокОбъект.Взносы.Очистить();
    
    // Перед записью важно убедиться, что в основной ТЧ остались нужные люди.
    // Если документ вообще должен быть пустым, очищаем и основную ТЧ.
    
    ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
    
    Сообщить("Скрытые таблицы документа очищены и документ перепроведен.");
    
КонецПроцедуры

После выполнения такого кода записи в регистрах накопления РасчетыНалогоплательщиковСБюджетомПоНДФЛ будут переформированы, и «фантомные» суммы исчезнут из отчетов.

Анализ влияния Физлиц и дублей

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

Резюме

Столкнувшись с ситуацией, когда отчет «Анализ НДФЛ» ссылается на «пустой» документ, придерживайтесь следующего плана:

  1. Проверьте регистр Расчеты налогоплательщиков с бюджетом по НДФЛ с отбором по этому документу, чтобы убедиться в наличии движений.
  2. Используйте консоль запросов для проверки скрытой таблицы НДФЛ внутри документа.
  3. Попробуйте метод «перевыбора реквизитов» (дата, месяц) для автоматической очистки.
  4. В крайнем случае примените программную очистку табличных частей объекта или воспользуйтесь обработкой Редактирование табличных частей.

Помните, что в ЗУП 3.1 удаление строки в визуальном интерфейсе не всегда означает удаление данных из физической таблицы базы данных. Системный подход к диагностике скрытых реквизитов позволит вам оперативно исправлять подобные ошибки учета.

← На главную