Как в 1С:ЗУП рассчитать доплату за смену при работе в выходной, если смена переходящая?

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

В этой статье мы подробно разберем ситуацию, с которой часто сталкиваются расчетчики и консультанты в программе 1С:Зарплата и Управление Персоналом (ЗУП). Речь пойдет о начислении надбавок, зависящих от факта выхода на работу (например, компенсация проезда или питания за смену), когда сотрудник привлекается к работе в выходной день в ночную смену.

Рассмотрим конкретный кейс: сотруднику положена фиксированная доплата за каждую отработанную смену. При работе по графику все считается корректно. Однако, когда сотрудника вызывают на работу в выходной день (сверхурочно) в ночную смену (например, с 19:00 до 07:00 следующего дня), программа 1С считает это как два рабочих дня. Следовательно, доплата начисляется в двойном размере, хотя физически это был один выход на работу.

Почему возникает ошибка при расчете?

Прежде чем переходить к решению, давайте проанализируем, почему программа ведет себя именно так. Это поможет нам выбрать правильный метод исправления.

В 1С:ЗУП существуют разные механизмы учета времени:

  1. График работы (или Индивидуальный график): Здесь мы можем настроить параметры смены, указать "Режим работы" и определить, как учитываются переходящие смены (вечерние и ночные часы могут относиться к дню начала смены).
  2. Документ «Работа в выходные и праздники»: Этот документ регистрирует факт работы сверх нормы. Важно понимать, что он фиксирует время строго по календарным дням.

Если сотрудник вышел на работу 20-го числа в 19:00 и закончил 21-го числа в 07:00, документ «Работа в выходные и праздники» сделает две записи в регистры учета времени:

Показатель ВремяВДнях, который часто используется в формулах расчета, опирается на количество дней, в которые зафиксирована явка. В нашем примере это два календарных дня. Поэтому формула вида СуммаНадбавки * ВремяВДнях вернет удвоенную сумму.

Почему не подходят стандартные решения?

В ходе обсуждения часто предлагаются следующие варианты, которые в данном случае могут не сработать или вызвать побочные эффекты:

Вариант 1: Настройка «Режима работы» в графике.
Это работает только для плановых графиков. Документ сверхплановой работы (выход в выходной) игнорирует настройки сменности графика сотрудника, так как фиксирует просто факт присутствия в конкретные даты.

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

Эффективное решение: использование дополнительного показателя

Наиболее надежный способ решить задачу — разделить автоматический учет времени (для оклада и почасовой оплаты) и учет количества выходов (для фиксированной доплаты). Мы создадим показатель, который будем вводить вручную только для случаев работы в выходные.

Разберем реализацию этого метода по шагам.

Шаг 1. Создание показателя расчета зарплаты

Перейдем в раздел Настройка — Показатели расчета зарплаты. Создадим новый показатель, назовем его, например, КоличествоСменВВыходной.

Настройки показателя:

Шаг 2. Настройка шаблона ввода данных

Чтобы мы могли вводить этот показатель, необходимо настроить шаблон. Перейдем в Настройка — Шаблоны ввода исходных данных.

  1. Создаем новый шаблон, называем его «Ввод смен в выходные для доплаты».
  2. На вкладке «Показатели зарплаты» отмечаем галочкой наш созданный показатель КоличествоСменВВыходной.
  3. В блоке «Дополнительно» можно поставить галочку, что в документе используется несколько сотрудников, чтобы вводить данные списком.

Шаг 3. Корректировка формулы начисления

Теперь нам нужно изменить формулу того начисления, которое считается некорректно (Доплата за смены, Компенсация проезда и т.д.).

Здесь есть два пути реализации, в зависимости от того, как именно у вас настроено начисление.

Путь А: Единое начисление

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


(РазмерДоплаты / НормаДней * ВремяВДнях) + (РазмерДоплаты * КоличествоСменВВыходной)

Внимание! Эта формула подойдет, если вид времени «Праздники» или «Работа в выходные» не включен в базу времени для показателя ВремяВДнях в настройках этого начисления (на вкладке «Учет времени»). Если же ВремяВДнях автоматически захватывает и работу в выходные, то мы снова получим задвоение. В таком случае лучше использовать Путь Б.

Путь Б: Разделение начислений (Рекомендуется)

Самый прозрачный вариант — оставить основную доплату работать по графику (автоматически), а для выходных дней создать отдельный вид начисления «Доплата за выход в выходной».

Формула для основного начисления (остается старой):

РазмерДоплаты / НормаДней * ВремяВДнях

В настройках этого начисления на вкладке «Учет времени» убедитесь, что учитывается только время по графику (Явка, Ночные), но исключена «Работа в выходные».

Формула для нового начисления «Доплата за выход в выходной»:

РазмерДоплаты * КоличествоСменВВыходной

Это начисление будет срабатывать только тогда, когда вы введете данные через шаблон.

Шаг 4. Процесс работы расчетчика

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

  1. Кадровик или табельщик вводит документ «Работа в выходные и праздники». Это обеспечивает правильный расчет оклада и двойную оплату часов. В этом документе мы не обращаем внимания на то, что смена разбилась на два дня — для почасовой оплаты это верно.
  2. Для расчета нашей специфической доплаты вводим документ «Данные для расчета зарплаты» (по созданному шаблону). В нем указываем сотрудника и ставим количество смен: 1.
  3. При начислении зарплаты программа автоматически рассчитает:
    • Оплату за работу в выходной (по часам, в двойном размере).
    • Доплату за проезд/смену (ровно за 1 выход, согласно введенному показателю).

Альтернативный вариант: перевод в часы

Если политика компании позволяет, можно пересмотреть базу расчета доплаты. Вместо привязки к факту «выхода» (смены), можно привязаться к отработанным часам.

В этом случае формула меняется на:

СтоимостьЧаса * ВремяВЧасах

Где СтоимостьЧаса рассчитывается как СуммаЗаСмену / ДлительностьСмены. При таком подходе неважно, на сколько дней разбилась смена — сумма часов останется неизменной (например, 5 часов в один день + 7 часов в другой = 12 часов), и сотрудник получит свою доплату корректно. Однако этот метод требует, чтобы все смены были одинаковой продолжительности, либо придется вводить разные показатели стоимости часа для разных графиков.

Заключение

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

← На главную