Ситуация, когда при оформлении документа Увольнение в программе «1С:Зарплата и управление персоналом 3.1» появляются неожиданные сторно-записи по старым отпускам и лишние начисления, является довольно распространенной. Особенно часто это проявляется в случаях, когда сотрудник в течение текущего рабочего года брал отпуска авансом или получал денежную компенсацию. Разберем подробно, почему так происходит и как привести расчеты в порядок.
Для начала проанализируем, как программа «видит» ситуацию. В 1С:ЗУП 3.1 документ Увольнение выполняет не просто расчет выплат за последний месяц, а производит полную инвентаризацию прав сотрудника на отпуск. В момент увольнения рабочий год сотрудника прерывается (он уже не длится до первоначальной даты), и программа обязана пересчитать остатки отпусков именно на дату увольнения.
Рассмотрим ситуацию: если в январе или марте сотрудник отгулял отпуск авансом, программа фиксирует это в регистрах накопления. При увольнении, например, в августе, 1С понимает, что рабочий год изменился. Она пытается «пересобрать» цепочку начислений за этот сокращенный период. Программа сторнирует записи, которые считает некорректными (поскольку они были начислены за период, который в итоге не был полностью отработан), и начисляет их заново, но уже с учетом актуального права на отпуск.
Одной из главных причин возникновения «лишних» сумм является использование флажка Рассчитать зарплату в документах Отпуск за предыдущие периоды (январь, март и т.д.). Рассмотрим подробнее, к чему это приводит:
Увольнение программа видит необходимость пересчитать остаток отпуска. Из-за внутренней связи она «подтягивает» весь документ отпуска целиком, включая начисления зарплаты.Начисление зарплаты и взносов, может возникнуть ситуация, когда программа пытается доначислить разницу или повторно начислить оклад, не находя оснований для автоматического сторно.Важный совет: Методисты 1С рекомендуют избегать расчета зарплаты внутри отпуска, если это не вызвано крайней необходимостью. Для исправления такой ситуации попробуйте в исходных документах отпуска снять флаг расчета зарплаты, перепровести их, начислить зарплату отдельным документом за тот месяц, и только после этого вернуться к оформлению увольнения.
Проанализируем ситуацию с выплатой компенсации отпуска. Согласно ТК РФ, денежная компенсация за неиспользованный отпуск выплачивается либо при увольнении, либо за дни, превышающие 28 календарных дней (обычно это дополнительные или северные отпуска). Выплата компенсации «авансом» за еще не отработанный период законодательством не предусмотрена.
Если в январе сотруднику была выплачена компенсация за период, который он еще не отработал, алгоритмы 1С:ЗУП заходят в тупик. При увольнении программа видит начисление с видом Компенсация отпуска (отпуск основной), но при этом в регистре Право на отпуска на тот момент не было накопленных дней для такой компенсации. В итоге программа может интерпретировать это как ошибку прошлого периода, пытаться сторнировать «незаконную» выплату и начислить ее заново в составе КНО (компенсации при увольнении), что визуально выглядит как хаос в табличной части начислений.
Часто лишние суммы в документе Увольнение появляются из-за накопленных записей в очереди перерасчетов. Разберем, как это работает:
Перерасчеты.Увольнение анализирует этот регистр и принудительно включает все найденные периоды в расчет, чтобы «закрыть» все долги перед сотрудником на дату его ухода.Чтобы исключить это влияние, выполните следующие шаги:
Увольнение.Выясним, какие действия помогут исправить ситуацию, если документ Увольнение все же сторнирует лишнее:
Справка об остатках отпусков. Если там значится отрицательное число (например, -1 день), программа законно предложит Удержать за использованный авансом отпуск.Перерасчеты перед заполнением увольнения.Начисления в документе Увольнение, удалив лишние строки сторно и повторных начислений, оставив только корректное удержание за 1 день и текущие выплаты.Если вы хотите глубже понять причины поведения системы, обратите внимание на регистр накопления Все начисления и регистр сведений Данные о времени для расчета среднего (общий). Именно там хранятся данные, которые Увольнение использует для сторнирования. Если в этих регистрах за один и тот же период присутствуют записи с разными «основаниями» (например, документ отпуска и документ исправления), программа может ошибочно пытаться их «схлопнуть» при увольнении.
Также стоит учитывать версию конфигурации. В старых релизах (например, 3.1.10) существовали ошибки, при которых программа некорректно определяла средний заработок для сторно, если сотрудник имел право на разные виды отпусков одновременно (основной и дополнительный). В современных версиях 3.1.27+ многие из этих механизмов были оптимизированы.
Подведем итог: Лишние начисления при увольнении — это чаще всего результат попытки программы исправить «нелогичные» (с точки зрения закона и алгоритмов) действия в прошлом. Очистка перерасчетов и отказ от расчета зарплаты внутри отпуска минимизируют риск возникновения таких ошибок.