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