В этой статье мы подробно разберем ситуацию, с которой часто сталкиваются расчетчики и консультанты в программе 1С:Зарплата и Управление Персоналом (ЗУП). Речь пойдет о начислении надбавок, зависящих от факта выхода на работу (например, компенсация проезда или питания за смену), когда сотрудник привлекается к работе в выходной день в ночную смену.
Рассмотрим конкретный кейс: сотруднику положена фиксированная доплата за каждую отработанную смену. При работе по графику все считается корректно. Однако, когда сотрудника вызывают на работу в выходной день (сверхурочно) в ночную смену (например, с 19:00 до 07:00 следующего дня), программа 1С считает это как два рабочих дня. Следовательно, доплата начисляется в двойном размере, хотя физически это был один выход на работу.
Прежде чем переходить к решению, давайте проанализируем, почему программа ведет себя именно так. Это поможет нам выбрать правильный метод исправления.
В 1С:ЗУП существуют разные механизмы учета времени:
Если сотрудник вышел на работу 20-го числа в 19:00 и закончил 21-го числа в 07:00, документ «Работа в выходные и праздники» сделает две записи в регистры учета времени:
Показатель ВремяВДнях, который часто используется в формулах расчета, опирается на количество дней, в которые зафиксирована явка. В нашем примере это два календарных дня. Поэтому формула вида СуммаНадбавки * ВремяВДнях вернет удвоенную сумму.
В ходе обсуждения часто предлагаются следующие варианты, которые в данном случае могут не сработать или вызвать побочные эффекты:
Вариант 1: Настройка «Режима работы» в графике.
Это работает только для плановых графиков. Документ сверхплановой работы (выход в выходной) игнорирует настройки сменности графика сотрудника, так как фиксирует просто факт присутствия в конкретные даты.
Вариант 2: Использование документа «Индивидуальный график».
Если мы внесем эту смену через Индивидуальный график, мы сможем корректно отразить её как одну смену (используя настройки видов времени). Однако, работа в выходной день по Трудовому кодексу должна оплачиваться не менее чем в двойном размере (или в одинарном с предоставлением отгула). Индивидуальный график просто меняет норму и плановое время, он не включает автоматически механизм оплаты в двойном размере, как это делает документ «Работа в выходные и праздники». Вам придется вручную контролировать начисления, что неудобно и чревато ошибками.
Наиболее надежный способ решить задачу — разделить автоматический учет времени (для оклада и почасовой оплаты) и учет количества выходов (для фиксированной доплаты). Мы создадим показатель, который будем вводить вручную только для случаев работы в выходные.
Разберем реализацию этого метода по шагам.
Перейдем в раздел Настройка — Показатели расчета зарплаты. Создадим новый показатель, назовем его, например, КоличествоСменВВыходной.
Настройки показателя:
Чтобы мы могли вводить этот показатель, необходимо настроить шаблон. Перейдем в Настройка — Шаблоны ввода исходных данных.
КоличествоСменВВыходной.Теперь нам нужно изменить формулу того начисления, которое считается некорректно (Доплата за смены, Компенсация проезда и т.д.).
Здесь есть два пути реализации, в зависимости от того, как именно у вас настроено начисление.
Путь А: Единое начисление
Если вы хотите, чтобы одна строка начисления учитывала и плановые смены, и сверхплановые выходы, формула может выглядеть так:
(РазмерДоплаты / НормаДней * ВремяВДнях) + (РазмерДоплаты * КоличествоСменВВыходной)
Внимание! Эта формула подойдет, если вид времени «Праздники» или «Работа в выходные» не включен в базу времени для показателя ВремяВДнях в настройках этого начисления (на вкладке «Учет времени»). Если же ВремяВДнях автоматически захватывает и работу в выходные, то мы снова получим задвоение. В таком случае лучше использовать Путь Б.
Путь Б: Разделение начислений (Рекомендуется)
Самый прозрачный вариант — оставить основную доплату работать по графику (автоматически), а для выходных дней создать отдельный вид начисления «Доплата за выход в выходной».
Формула для основного начисления (остается старой):
РазмерДоплаты / НормаДней * ВремяВДнях
В настройках этого начисления на вкладке «Учет времени» убедитесь, что учитывается только время по графику (Явка, Ночные), но исключена «Работа в выходные».
Формула для нового начисления «Доплата за выход в выходной»:
РазмерДоплаты * КоличествоСменВВыходной
Это начисление будет срабатывать только тогда, когда вы введете данные через шаблон.
Теперь, когда настройки выполнены, ежемесячная процедура будет выглядеть следующим образом:
Если политика компании позволяет, можно пересмотреть базу расчета доплаты. Вместо привязки к факту «выхода» (смены), можно привязаться к отработанным часам.
В этом случае формула меняется на:
СтоимостьЧаса * ВремяВЧасах
Где СтоимостьЧаса рассчитывается как СуммаЗаСмену / ДлительностьСмены. При таком подходе неважно, на сколько дней разбилась смена — сумма часов останется неизменной (например, 5 часов в один день + 7 часов в другой = 12 часов), и сотрудник получит свою доплату корректно. Однако этот метод требует, чтобы все смены были одинаковой продолжительности, либо придется вводить разные показатели стоимости часа для разных графиков.
Проблема с задвоением количества дней при переходящих сменах в документе «Работа в выходные» является архитектурной особенностью 1С:ЗУП. Программа корректно следует логике календарного учета времени. Чтобы "научить" программу видеть в этом наборе часов "одну смену", необходимо явное указание пользователя через механизм вводимых показателей. Разделение логики оплаты времени и оплаты "за выход" позволяет избежать ошибок и делает расчет прозрачным.