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

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

Ситуация, когда сотрудник приносит больничный лист, приходящийся на период его ежегодного отпуска, является стандартной для кадрового учета. Однако в программе 1С:Зарплата и Управление Персоналом 3.1 пользователи часто сталкиваются с технической проблемой: в документе Больничный лист на вкладке «Пересчет прошлого периода» сторнируются суммы отпускных, а на вкладке «Начислено» сумма пособия остается равной нулю. Рассмотрим подробно, почему это происходит и как исправить ситуацию.

Анализируем механизм вытеснения начислений

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

Когда мы вводим больничный, программа видит, что за эти дни уже начислен отпуск, и делает две вещи:

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

Шаг 1. Проверка релиза конфигурации и известных ошибок

Проанализируем техническую составляющую. В ранних сборках ветки 3.1.9 (например, 3.1.9.229) существовала зарегистрированная программная ошибка (№10214352). В некоторых случаях алгоритм распределения сумм некорректно обрабатывал ситуацию, когда сторно отпуска полностью перекрывало или было близко к сумме больничного, что приводило к обнулению результата на вкладке «Начислено».

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

Шаг 2. Проверка вкладки «Оплата» и страхового стажа

Если обновление не помогло или недоступно, проверим параметры начисления пособия внутри самого документа. Перейдем на вкладку Оплата и убедимся в следующем:

Для проверки стажа можно нажать прямо из документа на ссылку с информацией о стаже или перейти в карточку сотрудника в раздел Трудовая деятельность.

Шаг 3. Анализ данных для расчета среднего заработка

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

Проанализируем ситуацию: если сотрудник работает в организации недавно и вы не ввели справки с предыдущих мест работы (для расчета пособий), а в текущей базе данных за два предшествующих года пусто, то сумма начисления будет рассчитана исходя из МРОТ. Однако, если при этом у сотрудника установлен неполный рабочий день или в графике работы отсутствуют часы, сумма может быть крайне мала или обнулиться из-за ошибок округления/настройки.

Полезный совет: Нажмите кнопку Печать — Подробный расчет начисления. Если в печатной форме колонки с суммами заполнены, а на экране — пусто, это визуальный баг. Если в печатной форме также стоят нули — проблема в исходных данных (стаж, база, график).

Шаг 4. Конфликт с документом «Табель» и «Отсутствие»

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

Попробуйте выполнить следующие действия:

  1. Распроведите документ Табель за месяц, в котором вводится больничный.
  2. Пересчитайте Больничный лист (кнопка «Обновить» или две синие стрелки на вкладке «Начислено»).
  3. Если это помогло, заново сформируйте и проведите табель.

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

Шаг 5. Работа с регистром «Перерасчеты»

ЗУП 3.1 хранит информацию о необходимости пересчитать документы в специальном сервисном разделе. Если там накопилось много «мусорных» записей по конкретному сотруднику, это может блокировать корректную работу автоматических механизмов в документах.

Выполним очистку:

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

Шаг 6. Ручное управление настройкой «Автоматический пересчет»

Иногда проблема кроется в том, что в программе отключена настройка автоматического обновления сумм при редактировании. Проверим это в меню Настройка — Расчет зарплаты. Там должен стоять флажок Выполнять автоматический пересчет документов при редактировании.

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

Вариант решения через продление отпуска

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

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

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

Разберем пример проверки базы через технический запрос (для администраторов):


// Проверка записей в регистре расчета при начислении
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
    |   Зарплата.Результат,
    |   Зарплата.ВидРасчета
    |ИЗ
    |   РегистрРасчета.Начисления КАК Зарплата
    |ГДЕ
    |   Зарплата.Регистратор = &БольничныйЛист";
Запрос.УстановитьПараметр("БольничныйЛист", СсылкаНаДокумент);

Если данный запрос возвращает пустой результат для вида расчета Пособие по временной нетрудоспособности, значит, система по какой-то причине считает, что база для начисления равна нулю или сотрудник не имеет права на выплату (проверьте дату приема на работу и дату начала события).

← На главную