Почему 1С:ЗУП 3.1 пересчитывает исполнительный лист с начала года и как это исправить?

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

Приветствуем вас! Сегодня мы разберем одну из самых распространенных и запутанных проблем, с которой сталкиваются бухгалтеры и расчетчики зарплаты в программе 1С:Зарплата и Управление Персоналом 3.1. Представьте стандартный рабочий сценарий: у сотрудника с января действует исполнительный лист. В сентябре условия удержания меняются — например, меняется фиксированная сумма или процент. Бухгалтер пытается отразить это изменение в программе, но при расчете сентябрьской зарплаты внезапно появляются огромные сторнирующие минусы и перерасчеты за все предыдущие месяцы, начиная с самого января.

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

Почему программа упорно делает перерасчет за прошлые периоды?

Для того чтобы эффективно решить проблему, нам нужно понять логику работы программы. Автоматическое сторнирование с начала года при изменении исполнительного листа происходит по трем основным причинам:

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

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


ВЫБРАТЬ
	ПерерасчетУдержаний.ФизическоеЛицо,
	ПерерасчетУдержаний.ДокументОснование,
	ПерерасчетУдержаний.ПериодПерерасчета
ИЗ
	РегистрСведений.ПерерасчетУдержаний КАК ПерерасчетУдержаний
ГДЕ
	ПерерасчетУдержаний.ФизическоеЛицо = &ФизическоеЛицо

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

Пошаговый алгоритм: как убрать ложные перерасчеты и навести порядок

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

Шаг 1. Отмена проведения текущих документов начисления

Прежде чем приступать к исправлению исходных данных, нам необходимо «разблокировать» расчетный период. Временно отмените проведение всех документов за сентябрь, в которых рассчитывался этот сотрудник: это могут быть документы Начисление зарплаты и взносов, Отпуск, Увольнение или любые другие межрасчетные начисления.

Шаг 2. Восстановление исходного исполнительного листа

Убедитесь, что самый первый документ Исполнительный лист (от января) находится в своем первоначальном, чистом состоянии. В нем не должно быть:

Если вы вносили изменения непосредственно в этот документ, верните все показатели в исходный вид и проведите его заново.

Шаг 3. Полное удаление записей из регистра перерасчетов

Теперь нам нужно удалить «память» программы о том, что сотруднику требуется перерасчет. Сделаем это на двух уровнях:

  1. Перейдите в раздел Зарплата — Сервис — Перерасчеты. Если в верхнем или нижнем окне вы видите строки с фамилией нашего сотрудника, выделите их и нажмите кнопку «Отменить».
  2. Для полной гарантии перейдите в меню Функции для технического специалиста (ранее данный пункт назывался Все функции). Найдите регистр сведений Перерасчет удержаний. Установите отбор по нашему сотруднику. Если там присутствуют записи, выделите их и полностью удалите вручную. Это исключит повторное появление минусов при автоматическом заполнении документов.

Шаг 4. Оформление изменения условий по правилам системы

Запомните важное правило работы в 1С:ЗУП 3.1: любые изменения действующих плановых удержаний всегда должны регистрироваться специальными отдельными документами, а не редактированием старых. Чтобы изменить условия с сентября, сделайте следующее:

Если ваша задача — полностью прекратить действие старого исполнительного листа и открыть новый (например, поменялись реквизиты получателя или поступил новый бланк), то в документе Изменение исполнительного листа установите переключатель в положение «Прекратить с» и укажите дату прекращения. После этого введите новый документ Исполнительный лист с датой начала действия нового удержания.

Шаг 5. Повторный расчет зарплаты и очистка документа

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

После проведения этих манипуляций проведите документ начисления зарплаты. На вкладке Удержания вы увидите верную сумму удержания за сентябрь по новым правилам, а вкладка перерасчетов за прошлые периоды останется абсолютно пустой.

Используя этот простой, но надежный алгоритм, вы всегда сможете держать базу в чистоте и избегать ложных сторно-расчетов при работе с любыми плановыми удержаниями в вашей программе!

← На главную