В практике кадрового учета на предприятиях с посменным графиком работы часто возникает сложная ситуация: сотрудник завершает свою плановую смену утром (например, с 20:00 предыдущего дня до 08:00 текущего), а вечером этого же календарного дня выходит на работу сверх графика (например, на подмену коллеги или по производственной необходимости). В программных продуктах на базе «обычных форм» (1С:УПП 1.3 и 1С:ЗУП 2.5) это вызывает конфликт, так как система считает один день либо рабочим по графику, либо выходным.
Проанализируем ситуацию: почему так происходит и какими способами можно добиться корректного начисления зарплаты без ручных корректировок в каждом документе. Разберем по шагам все доступные методики.
Для начала выясним причину, по которой программа «выбрасывает» явку из расчета. В основе системы лежит регистр расчета (обычно ОсновныеНачисленияРаботниковОрганизаций). Каждая запись в этом регистре имеет период действия. В 1С:ЗУП 2.5 реализован принцип: в один момент времени (в один день) у сотрудника не может быть двух состояний, которые противоречат друг другу в плане учета времени.
Вид расчета Оплата праздничных и выходных дней обладает более высоким приоритетом и по умолчанию настроен так, что он вытесняет Оклад по дням или Оплату по часовому тарифу. Как только вы вводите документ «Оплата праздничных и выходных», программа помечает этот день как выходной, и основное начисление за эти же сутки просто не рассчитывается.
Этот метод считается наиболее «чистым» с точки зрения методологии, так как он не ломает учет времени в табеле и не требует изменения настроек вытеснения. Идея заключается в том, чтобы начислить оплату за выходной день не как «основное время», а как «доплату».
Дополнительные начисления организаций. Назовем его «Доплата за работу в выходной (без вытеснения)».ТарифнаяСтавкаЧасовая * ВремяВЧасах * 2.Регистрация разовых начислений.Таким образом, Явка за утро рассчитается в документе Начисление зарплаты, а работа вечером будет начислена отдельным документом как сумма, не конфликтующая с табелем.
Если мы хотим, чтобы оба начисления попадали в один документ Начисление зарплаты, нам придется вмешаться в настройки приоритетов. Рассмотрим подробнее этот процесс:
Основные начисления организаций.Оклад по часам).Оплата праздничных и выходных дней организаций и удалим её из списка.Важно: Этот метод опасен. Если вы удалите вытеснение, то в обычные праздничные дни, когда сотрудник НЕ должен был работать по графику, но вышел, программа может попытаться начислить и оклад (если в графике ошибка), и праздничные. Используйте этот метод только если вы полностью контролируете заполнение графиков.
Проанализируем ситуацию с точки зрения планирования времени. Если мы заранее знаем о такой смене, мы можем использовать документ Индивидуальный график работы.
В этом документе на конкретный день можно указать общее количество часов. Однако, здесь есть тонкость: индивидуальный график задает норму. Если вы просто поставите 16 часов вместо 8, программа посчитает это обычной работой (явкой) и оплатит в одинарном размере. Чтобы получить двойную оплату, вам все равно придется вводить документ Оплата праздничных и выходных, что снова приведет нас к конфликту вытеснения. Поэтому данный метод эффективен только в связке с ручной корректировкой вида времени в самом документе Табель учета рабочего времени.
Для сотрудников со сменным графиком часто устанавливается суммированный учет рабочего времени. В этом случае работа сверх смены в тот же день методологически является «сверхурочной работой».
Посмотрим, как это настроить:
Оплата сверхурочных часов.Оплата сверхурочных в двойном размере, где в формуле будет жестко прописан коэффициент 2.Преимущество этого метода в том, что Оплата сверхурочных по умолчанию не вытесняет Явку. Они могут сосуществовать в одном дне в регистре расчета.
Если типовые методы не подходят из-за большого объема данных, можно внести изменения в код проведения документа Начисление зарплаты. Рассмотрим пример логики, которую необходимо внедрить в модуль объекта:
// Фрагмент кода для изменения логики распределения времени
Если Начисление = Поля.ОплатаПраздничных Тогда
// Исключаем автоматическое удаление записей о явке
// в случае совпадения дат, если в доп. свойствах
// документа стоит флаг "Разрешить совмещение"
ПроводитьБезВытеснения = Истина;
КонецЕсли;
Такая доработка позволит системе игнорировать записи в таблице вытеснения для конкретных сотрудников или случаев. Однако помните, что это значительно усложнит последующие обновления конфигурации.
Не забудем про ночные часы. Если работа в выходной (подмена) начинается в 20:00, то часы с 22:00 до 00:00 должны быть оплачены как ночные. В УПП 1.3 документ Оплата праздничных и выходных часто «не видит» ночные, если они не заложены в график.
Рекомендуем следующий алгоритм для корректного расчета ночных:
Оплата праздничных и выходных укажите только общее время работы в выходной.Индивидуальном графике или Табеле вручную проставьте ночные часы (код «Н»).Доплата за ночные убедитесь, что в базу для расчета входит и оклад, и оплата праздничных (если это предусмотрено вашей учетной политикой).Подведем итог нашему анализу. Самым безопасным и стабильным способом решения проблемы в 1С:УПП 1.3 / ЗУП 2.5 является использование разовых начислений или настройка сверхурочных с измененным коэффициентом. Это позволяет избежать конфликта в регистре расчета и гарантирует, что и утренняя смена (явка), и вечерняя подмена (выходной) будут оплачены в полном объеме.
Проанализируйте вашу учетную политику: если такие случаи массовые — лучше потратить время на создание отдельного вида расчета «Доплата за выходной сверх графика». Если случаи единичные — проще всего воспользоваться ручной корректировкой в документе Начисление зарплаты, предварительно временно отключив механизм вытеснения для пересчета конкретного сотрудника.