При оформлении увольнения сотрудника, который длительное время находился в отпуске по уходу за ребенком, бухгалтеры и технические специалисты часто сталкиваются с неприятной ситуацией. В документе Увольнение при нажатии кнопки «Рассчитать» программа начинает автоматически начислять оклад за весь период отсутствия (иногда за год и более) и пересчитывать пособия. Разберем подробно, почему это происходит и как правильно оформить документы, чтобы избежать ошибок в учете.
Проанализируем техническую сторону вопроса. В старых релизах ветки 1С:ЗУП 3.1 (в частности 3.1.5 и 3.1.6) существовала программная ошибка в механизме определения периода доначисления. Система при проведении увольнения анализирует дату последнего начисления зарплаты. Программный код в общем модуле РасчетЗарплатыРасширенный в процедуре ПоследнийМесяцНачисленияЗарплатыСотрудника определяет, когда в последний раз сотруднику начислялись суммы.
Поскольку сотрудник находился в отпуске по уходу, за последние 12–18 месяцев начислений зарплаты (оклада) не было. Алгоритм программы ошибочно воспринимал это как «пропуск» начислений и пытался заполнить этот вакуум, рассчитывая зарплату с месяца, следующего за последним рабочим. В современных версиях это исправлено: теперь программа дополнительно анализирует регистр сведений Состояния сотрудников. Если зафиксировано состояние В отпуске по уходу за ребенком, начисления за этот период блокируются.
Первое, что мы должны рассмотреть — это версия вашей базы. Если вы используете релиз ниже 3.1.5.212 или 3.1.6.37, проблема, скорее всего, носит массовый характер для вашей конфигурации. Разработчики 1С признали эту ошибку и выпустили соответствующие патчи и обновления. Если есть возможность, следует обновить конфигурацию до актуального релиза. В новых версиях документ Увольнение работает более интеллектуально и умеет самостоятельно прекращать все виды отпусков и плановых начислений без дополнительных манипуляций.
Если обновление по каким-то причинам временно невозможно, воспользуемся проверенным методическим решением. Суть его заключается в принудительном «возвращении» сотрудника в состояние работающего перед тем, как расторгнуть трудовой договор.
Разберем этот процесс по шагам:
Такой подход позволяет системе увидеть четкую границу: до даты увольнения сотрудник был в отпуске, а в день увольнения его статус изменился, что прекращает действие «пустых» периодов для начисления зарплаты.
Иногда лишние строки в расчете появляются не из-за ошибки в коде, а из-за накопленных «хвостов» в системе. Проанализируем ситуацию: если ранее в кадровые документы (например, в сам приказ на отпуск по уходу) вносились какие-либо правки «задним числом», система могла пометить сотрудника как нуждающегося в пересчете.
Посмотрим, как это проверить:
После удаления записей из этого регистра документ Увольнение перестанет подтягивать старые периоды в таблицу начислений.
Рассмотрим еще один важный нюанс, который часто путают с ошибкой — это расчет среднего заработка. Когда сотрудник увольняется сразу после долгого отпуска, за последние 12 месяцев у него нет ни одного отработанного дня.
Согласно Постановлению №922, в этом случае расчетный период должен смещаться назад. Программа должна найти ближайший предшествующий период, в котором была зарплата. В нашем примере это будет период до начала отпуска по беременности и родам. Если программа выдает нулевой средний заработок, проверьте, есть ли в базе данные за те старые периоды (например, не были ли они обрезаны при переносе данных). Если данных нет, придется ввести их вручную через форму расчета среднего заработка в самом документе увольнения.
В исключительных случаях, если ничего не помогает, нужно заглянуть «под капот» системы и проверить регистр Плановые начисления. Выясним причину, почему система считает начисления действующими. Для этого можно воспользоваться отчетом Штатные сотрудники или напрямую проверить записи регистров сведений:
// Пример логики, которую можно использовать в консоли запросов для проверки
ВЫБРАТЬ
ПлановыеНачисления.Сотрудник,
ПлановыеНачисления.Начисление,
ПлановыеНачисления.ПериодЗавершения
ИЗ
РегистрСведений.ПлановыеНачисленияСотрудников КАК ПлановыеНачисления
ГДЕ
ПлановыеНачисления.Сотрудник = &Сотрудник
Если в поле ПериодЗавершения пусто или дата установлена некорректно, система будет пытаться начислить оклад. В такой ситуации поможет создание документа Изменение оплаты труда, в котором мы принудительно прекратим начисления с даты начала отпуска по уходу за ребенком, если это не сделал первичный документ Отпуск по уходу за ребенком.
Важный момент: помните, что хотя период ухода за ребенком не дает права на отпуск, период отпуска по беременности и родам (те самые 140 дней больничного) — входит в стаж. Поэтому при увольнении программа законно начислит компенсацию примерно за 11.67 дней, что не является ошибкой, даже если сотрудница ни дня не работала после выхода из декрета.