В процессе автоматизации расчета заработной платы в программе 1С:Зарплата и Управление Персоналом (ЗУП 3.1) расчетчики часто сталкиваются с нестандартным поведением формул начислений. Одна из распространенных и неочевидных проблем — когда системный показатель ОтработаноСверхурочно начинает необоснованно включать в себя часы работы в вечернее или ночное время, хотя документы «Работа сверхурочно» на сотрудников не оформлялись.
В этой статье мы подробно разберем, почему возникает эта ошибка, как взаимосвязаны виды времени в системе, и как правильно настроить учет времени в начислениях, чтобы показатели рассчитывались корректно.
Давайте рассмотрим конкретную ситуацию. В организации используется пользовательское начисление со следующей математической формулой:
(ВремяВЧасах - ОтработаноСверхурочно + (РасчетнаяБаза / 2 / СтоимостьДняЧаса)) * СтоимостьЧаса * ПремияИТР / 100
При расчете зарплаты за месяц у сотрудников, работавших в вечерние и ночные смены, итоговый результат оказывается заниженным. Выясняется причина: программа вычитает вечерние и ночные часы из общего отработанного времени, принимая их за сверхурочные (показатель ОтработаноСверхурочно принимает значение, равное сумме ночных и вечерних часов).
При этом в Табеле учета рабочего времени за день у сотрудника введено:
Суммарно сотрудник отработал 8 часов в пределах своей нормы, никаких сверхурочных работ (код «С») в табеле нет, и документы на переработку не создавались. Тем не менее система упорно считает, что 4 часа из 8 являются сверхурочными.
Выясним причину такого поведения конфигурации. Дело в том, что в системе «1С:ЗУП 3.1» расчет предопределенного показателя ОтработаноСверхурочно внутри формул напрямую зависит от настроек на вкладке «Учет времени» конкретного начисления. Если на этой вкладке некорректно сопоставлены основные и дополнительные виды времени, алгоритмы запросов платформы сбиваются, и в показатель сверхурочных начинают «затекать» смежные виды времени.
Для понимания сути проблемы нам необходимо проанализировать структуру видов времени в программе. В системе существует понятие синтетического (или группировочного) вида времени. Таким видом времени является Рабочее время.
В состав предопределенного вида времени Рабочее время по умолчанию входят:
Если в настройках начисления одновременно указать Рабочее время в качестве основного и, например, Явка в качестве дополнительного, для расчетного механизма платформы возникает противоречие (двоение интервалов). Разработчики фирмы «1С» считают использование вида времени Рабочее время в современных релизах устаревшим подходом, поскольку он часто приводит к логическим ошибкам при расчете сложных формул.
Чтобы программа перестала путать вечерние/ночные часы со сверхурочными, нам необходимо правильно скорректировать карточку начисления. Давайте сделаем это по шагам:
Рабочее время, а в дополнительных указана Явка, это и есть источник ошибки.Явка (код «Я»).Вечерние часы и Ночные часы.После такой настройки показатель ВремяВЧасах будет по-прежнему собирать все фактически отработанные сотрудником часы (в нашем примере: 4 явка + 2 вечерних + 2 ночных = 8 часов), но при этом системный показатель ОтработаноСверхурочно перестанет ложно срабатывать на вечернее и ночное время, так как они теперь четко классифицированы как дополнительные виды явки, а не абстрактное «рабочее время».
Обратите внимание: Если в вашем релизе (особенно на старых версиях, таких как 3.1.8) при выборе только Явки показатель ВремяВЧасах обнуляется, вы можете использовать обходной маневр: прописать в дополнительных видах времени Рабочее время вручную, а в основное время установить Явка, но этот вариант следует использовать только в крайнем случае. Настоятельно рекомендуется обновить конфигурацию до актуальной версии и настроить время по стандартной схеме (Основное — Явка, Дополнительные — Ночные/Вечерние).
Разбирая работу показателя ОтработаноСверхурочно, необходимо учитывать еще одну важную деталь. Этот системный показатель собирает часы исключительно по тем документам «Работа сверхурочно», в которых сотруднику установлен способ компенсации «Повышенная оплата».
Если же сотрудник выбрал компенсацию в виде отгула, то:
ОтработаноСверхурочно в вашей формуле они не попадут.Поскольку мы детально рассматриваем формулу расчета сверхурочных, важно затронуть тему изменений в законодательстве РФ (в частности, Федеральный закон № 91-ФЗ). С 1 сентября 2024 года работодатели обязаны рассчитывать оплату сверхурочных часов исходя из полного размера заработной платы, включая все компенсационные, стимулирующие выплаты и премии, а не только из «голого» оклада.
В формуле автора темы присутствует сложная конструкция:
РасчетнаяБаза / 2 / СтоимостьДняЧаса
Такой подход использовался ранее для ручной сборки базы начисления и вычисления доли премий. Однако в современных релизах 1С:ЗУП 3.1 (начиная с версий 3.1.30.81 / 3.1.31.32) разработчики значительно упростили нам задачу, добавив новый системный показатель СтоимостьДняЧасаСУчетомРазовыхНачислений.
Этот показатель автоматически рассчитывает стоимость часа сотрудника с учетом всех начисленных в текущем месяце разовых премий, надбавок за вредность, ночных и вечерних доплат. Рекомендуем рассмотреть возможность модернизации вашей формулы. Использование нового показателя позволит полностью отказаться от громоздких математических вычислений с РасчетнаяБаза и сделает расчет прозрачным, соответствующим актуальным требованиям законодательства.
Надеемся, данный подробный разбор поможет вам навести порядок в учете времени и избавит от досадных ошибок при расчете сверхурочных, вечерних и ночных часов!