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