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

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

В практической работе расчетчика зарплаты в программах 1С:Зарплата и управление персоналом 3.1 (ЗУП) и 1С:Зарплата и кадры государственного учреждения 3.1 (ЗКГУ) нередко возникает пугающая ситуация. При регистрации больничного листа за прошлый период программа неожиданно сторнирует огромные суммы и снимает полную норму рабочего времени за месяц вместо одного-двух дней болезни. В результате сотрудник оказывается «должен» предприятию крупную сумму денег.

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

Почему программа сторнирует начисления и часы за весь месяц целиком?

Выясним причину, по которой система «пытается» забрать у сотрудника лишнее время и деньги. Чаще всего такое поведение программы обусловлено нарушением последовательности ввода документов и настройками видов начислений.

Проанализируем типовой сценарий:

  1. Сотрудник заболел в конце месяца (например, 30 ноября). В табеле или документом Отсутствие (прогул, болезнь, неявка) регистрируется невыход.
  2. Расчетный период закрывается, рассчитывается и выплачивается заработная плата за ноябрь.
  3. В декабре сотрудник приносит Больничный лист. При его проведении программа обнаруживает пересечение периодов и инициирует автоматический перерасчет прошлого периода (ноября).

Если документ Отсутствие (прогул, болезнь, неявка) был заведен после того, как была рассчитана и проведена зарплата за этот месяц, то расчет начислений за ноябрь произошел без учета факта неявки. Программа начислила сотруднику полную зарплату. Когда мы вводим Больничный лист, система пытается исправить эту ошибку и сторнировать излишне выплаченные суммы. Однако вместо одного дня сторнируется весь месяц. Почему?

1. Проблема начислений с фиксированной суммой. Если у сотрудника есть надбавки, премии или доплаты, которые назначаются фиксированной суммой и не зависят напрямую от отработанного времени (в их формуле расчета отсутствует показатель времени, например, ВремяВЧасах), то программа «не умеет» рассчитывать их пропорционально дням отсутствия. При попытке вытеснить такое начисление больничным, система сторнирует его полностью за весь месяц.

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

Зачем система сторнирует ранее введенное «Отсутствие»?

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

Как удалить или скорректировать некорректные сторно-строки?

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

Способ 1. Использование клавиатурного «лайфхака» (для старых релизов)

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

  1. Перейдите на вкладку Пересчет прошлого периода в документе Больничный лист.
  2. Найдите строку с отрицательным значением (сторнирующую), которую необходимо удалить.
  3. Зажмите клавишу Shift на клавиатуре и выделите несколько строк таким образом, чтобы курсор (активное выделение) в итоге оказался на строке с положительной суммой (например, на строке доначисления).
  4. Нажмите клавишу Delete. Программа позволит удалить всю группу выделенных строк, включая «заблокированную» сторнирующую запись.

Способ 2. Официальный механизм разрешения редактирования сторно-строк

В современных релизах (начиная с версии 3.1.18.546) разработчики добавили штатную возможность управления сторнирующими записями:

  1. В документе Больничный лист перейдите на вкладку Пересчет прошлого периода.
  2. В правом верхнем углу табличной части нажмите кнопку Еще.
  3. В выпадающем меню выберите пункт Разрешить редактирование сторнирующих строк.
  4. После этого блокировка будет снята. Вы сможете вручную изменить суммы, исправить количество сторнируемых часов или удалить ненужные строки стандартным способом.

Как сделать так, чтобы некорректные перерасчеты не появлялись снова?

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

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

Рассмотрим по шагам, как правильно очистить перерасчеты:

  1. Перейдите в раздел программы Зарплата, найдите блок Сервис и выберите пункт Перерасчеты (в некоторых интерфейсах этот пункт находится в разделе Настройка — Сервис — Перерасчеты).
  2. Перед вами откроется рабочее место, состоящее из двух табличных частей: Зарплата и Взносы/НДФЛ.
  3. Найдите в списке строку с проблемным сотрудником, у которого указан период перерасчета (в нашем случае — ноябрь).
  4. Выделите эту строку и нажмите кнопку Отменить в шапке таблицы (или используйте клавишу Delete).

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

← На главную