В процессе расчета заработной платы в программе 1С:Зарплата и управление персоналом 8 (редакция 3.1) расчетчики часто сталкиваются с методологическими трудностями при начислении компенсаций за нерабочие праздничные дни. Особенно остро эта проблема проявляется в январе, когда сотрудник увольняется в начале месяца (например, 8 января), фактически не отработав ни одного рабочего дня по графику.
В этой статье мы подробно проанализируем, почему стандартные формулы с использованием расчетной базы дают сбой, разберем требования законодательства и пошагово настроим корректный автоматический расчет вознаграждения без лишней ручной работы.
Согласно статье 112 Трудового кодекса РФ, сотрудникам (за исключением получающих оклад) за нерабочие праздничные дни, в которые они не привлекались к работе, выплачивается дополнительное вознаграждение. Размер и порядок выплаты этого вознаграждения определяются коллективным договором, соглашениями или локальным нормативным актом организации.
Если сотрудник увольняется в период новогодних праздников (например, 8 января), трудовой договор с ним еще действует. Соответственно, он имеет полное право на получение компенсации за праздничные дни с 1 по 8 января. Однако, если в вашей программе для этого начисления настроена формула вида:
?(РасчетнаяБаза > 0, 180 * ВремяВДнях, 0)
то при расчете увольнения программа вернет 0. Выясним причину такого поведения системы. Поскольку сотрудник увольняется в начале января и не отработал ни одного дня по своему графику, у него полностью отсутствует начисление по тарифной ставке (основное начисление). Следовательно, показатель РасчетнаяБаза равен нулю, условие в формуле не выполняется, и программа не начисляет положенную по закону компенсацию.
---
Попытки решить проблему «костылями» в формуле, например, проверяя тип тарифной ставки сотрудника:
?(ТарифнаяСтавкаЧасовая > 0 И Оклад = 0, 180 * ВремяВДнях, 0)
часто приводят к еще большим ошибкам в расчетах. Рассмотрим подробнее, почему этот подход неэффективен:
Проанализируем правильный, методологически верный алгоритм настройки программы 1С:ЗУП 3.1, который позволит полностью автоматизировать этот процесс.
---
Вместо усложнения формулы логическими условиями мы перенесем управление расчетом на уровень кадровых документов и механизмов вытеснения времени в 1С. Разберем этот процесс по шагам.
Перейдем в меню Настройка — Начисления и откроем карточку нашего начисления (например, «Вознаграждение за нерабочие праздничные дни»). Нам необходимо полностью отказаться от использования расчетной базы в формуле. Настроим простую и понятную формулу:
РазмерДоплатыЗаПраздник * ВремяВДнях
где:
РазмерДоплатыЗаПраздник — это собственный показатель (например, 180 рублей), который мы можем сделать фиксированным для всей организации или индивидуальным для каждого сотрудника.ВремяВДнях — предопределенный показатель времени, который программа заполнит автоматически на основании графика работы и табеля сотрудника.Для того чтобы система знала, кому именно положена эта доплата, мы не должны настраивать ее «для всех» в формуле. Вместо этого в карточке начисления на вкладке «Основное» укажем:
Теперь это начисление назначается конкретным сотрудникам сдельщикам или сотрудникам на часовой тарифной ставке с помощью кадровых документов: «Прием на работу», «Кадровый перевод» или специального документа «Назначение плановых начислений». Окладникам это начисление просто не назначается, что исключает необходимость каких-либо проверок внутри формулы!
Очень часто расчетчики совершают ошибку, указывая в качестве вида времени «Выходные дни». В этом случае программа начнет начислять компенсацию за абсолютно все субботы и воскресенья месяца. Настроим вкладку «Учет времени» следующим образом:
Чтобы доплата не начислялась сотрудникам, которые в праздничные дни болели, находились в декрете или в отпуске, необходимо правильно настроить вытеснение. Перейдем на вкладку «Приоритет» в карточке начисления.
В правое поле «Начисления, приоритет которых выше» добавим все виды отсутствий:
Благодаря этой настройке, если увольняющийся 8 января сотрудник действительно болел с 1 по 8 января, программа увидит документ БольничныйЛист, вытеснит показатель ВремяВДнях до 0, и начисление не произведется. Если же сотрудник не болел, то при увольнении 8 января программа корректно посчитает 8 праздничных дней и выплатит полную сумму вознаграждения, несмотря на отсутствие у него отработанных рабочих смен и нулевую расчетную базу.
---
Рассмотрим ситуацию, когда в организации применяется сменный график работы. В таких случаях сотрудники часто работают непосредственно в праздничные дни по своему графику, и эта работа уже оплачивается в двойном размере по умолчанию. Дополнительное вознаграждение по закону им положено только за те праздничные дни, которые были для них выходными.
Для предотвращения двойной оплаты в сложных графиках рекомендуется использовать альтернативный метод:
КоличествоПраздничныхВыходныхДней.Таким образом, мы рассмотрели все возможные варианты настройки вознаграждения за нерабочие праздничные дни в 1С:ЗУП 3.1. Отказ от использования расчетной базы в пользу плановых начислений и правильной настройки приоритетов времени позволяет полностью автоматизировать расчет даже в самых сложных случаях увольнения сотрудников в начале расчетного периода.