Почему в переходящем больничном не рассчитывается оплата за счет работодателя в 1С:ЗУП 3.1?

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

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

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

Суть проблемы и механизм вытеснения в 1С:ЗУП

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

Когда мы регистрируем невыход сотрудника в мае (например, с помощью документа Отсутствие (болезнь, прогул, неявка)), программа делает записи в регистры расчета и «занимает» этот период видом расчета «Отсутствие по невыясненной причине». Когда в июне мы вводим документ Больничный лист, захватывающий те же майские даты, программа должна автоматически:

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

Если же автоматического сторнирования не происходит, программа считает, что майские дни по-прежнему заняты неявкой. В результате строка оплаты за счет работодателя не создается, а оплата за счет фонда (СФР) ошибочно начинается только с 1 июня, игнорируя остаток майских дней.

Причина 1. Программное создание документов отсутствия (интеграция со СКУД)

Выясним причину, которая чаще всего приводит к подобному поведению системы. На многих предприятиях используется интеграция 1С:ЗУП со сторонними программами учета рабочего времени или системами контроля и управления доступом (СКУД). Документы Отсутствие (болезнь, прогул, неявка) создаются в базе автоматически с помощью обработок загрузки, COM-соединений или API.

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

Причина 2. Ошибки релизов длительной поддержки (LTS) и настройки приоритетов

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

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

Однако, как показывает практика, на релизах линейки ДП (длительной поддержки, таких как 3.1.27, 3.1.34) даже при верных настройках приоритетов расчетный механизм может сбоить. Это связано с оптимизацией запросов к временным таблицам начисления зарплаты в коде конфигурации.

---

Методы решения проблемы и обходные пути

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

Способ 1. Ручное пересоздание документов неявок (Рекомендуемый обходной путь)

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

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

Способ 2. Использование механизма «Исправить»

Если майский период уже закрыт, установлена дата запрета изменения данных и распроводить документы прошлого месяца нельзя, воспользуйтесь штатным механизмом исправлений:

  1. Откройте майский документ Отсутствие (болезнь, прогул, неявка).
  2. В левом нижнем углу нажмите на ссылку «Исправить».
  3. В созданном документе-исправлении укажите месяц регистрации — «Июнь».
  4. Измените дату окончания отсутствия. Вместо даты окончания болезни (например, 15.06) укажите дату, предшествующую началу больничного листа (например, если больничный с 27.05, то неявка должна завершиться 26.05).
  5. Проведите документ-исправление. Это корректно зафиксирует сторно в регистрах расчета.
  6. Откройте и перезаполните июньский больничный лист.

Способ 3. Очистка сервиса перерасчетов

Иногда авторасчет блокируется «зависшими» записями в служебных таблицах перерасчетов. Выполним следующие шаги:

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

Способ 4. Временное изменение месяца регистрации в больничном

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

  1. В шапке документа Больничный лист временно измените реквизит «Месяц» с «Июня» на «Май».
  2. Программа автоматически пересчитает документ и заполнит оплату за счет работодателя за майские дни в основном окне начислений.
  3. Верните реквизит «Месяц» обратно на «Июнь».
  4. Программа предложит пересчитать документ — соглашаемся. При этом рассчитанные майские суммы за первые 3 дня перейдут на вкладку «Перерасчет прошлого периода», что нам и требовалось получить.

Используя предложенные методики, вы сможете успешно преодолеть сбои при расчете переходящих больничных листов и корректно отразить начисления как за счет средств работодателя, так и за счет СФР.

← На главную