Почему при расчете сверхурочных часов в 1С:ЗУП все часы попадают только в доплату свыше двух часов?

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

После обновления программы «1С:Зарплата и управление персоналом» расчетчики нередко сталкиваются с ситуацией, когда при заполнении документа Начисление зарплаты и взносов сверхурочные часы сотрудников распределяются некорректно. Вместо положенного разделения (первые два часа работы — в полуторном размере, последующие — в двойном) программа направляет весь объем переработки исключительно в начисление Допл.за сверхур.раб.свыше 2 час. При этом начисление Допл.за сверхур. раб.до 2 час. вовсе не рассчитывается либо рассчитывается с нулевыми часами, даже если у сотрудника с начала года не было превышения годового лимита в 120 часов.

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

Причины возникновения ошибки в алгоритме расчета

Разберем, из-за чего возникает данное поведение конфигурации. Основная причина кроется в зарегистрированной ошибке типового релиза (ошибка 60034775), связанной с контролем годового лимита сверхурочных часов:

  1. Регистрация периодов отсутствия в предшествующих месяцах года. В типовой конфигурации действует механизм отслеживания предела сверхурочной работы (не более 120 часов в год). Если в каком-либо из предыдущих месяцев текущего года по сотруднику одновременно регистрировались документы отклонений (больничный лист, отпуск, командировка и т. п.) и документ Работа сверхурочно, внутренний запрос платформы начинает многократно завышать накопленный объем часов переработки. В результате при очередном расчете зарплаты программа ошибочно фиксирует, что лимит в 120 часов уже исчерпан. Показатель ОтработаноСверхурочноВПределах2Часов принудительно обнуляется, а все сверхурочные часы текущего месяца направляются в двойную оплату.
  2. Некорректная работа срочного патча EF_60034435. В ряде случаев для исправления расчета сверхурочных устанавливался патч EF_60034435. Однако в его запросе не было предусмотрено корректное исключение начислений с назначением «Дополнительная оплата за уже отработанное время» (вид времени ДополнительноОплачиваемоеВПределахНормы). Если на предприятии применяются подобные доплаты, они суммировались с фактически отработанным временем, что искажало базовые показатели расчета и приводило к сбою распределения полуторных и двойных часов.

Ограничения ручной корректировки в документе

Посмотрим на поведение программы при попытке исправить расчет вручную. Расчетчик часто пытается открыть показатели в табличной части документа Начисление зарплаты и взносов и вручную проставить значение показателя «Сверхурочно (до 2 ч)». Однако платформа устроена так, что при любом последующем автоматическом пересчете или сохранении строки показатель сбрасывается к значению, рассчитанному запросом оперативного учета рабочего времени. Таким образом, скорректировать только часы без изменения результирующей суммы невозможно.

Способ 1. Обновление конфигурации и очистка устаревших патчей (основное решение)

Рассмотрим официальный и наиболее надежный способ устранения проблемы, предложенный разработчиками фирмы 1С.

  1. Удаление конфликтующих патчей. Перед установкой нового релиза обязательно откройте раздел Администрирование — Обслуживание — Обновление программы — Установленные исправления (патчи). Найдите и удалите все патчи, затрагивающие модуль расчета сверхурочных, в частности EF_60034435. Если этого не сделать, старый код расширения перекроет исправленный код конфигурации.
  2. Обновление конфигурации. Выполните обновление программы до релиза 3.1.38.123 (или более позднего актуального релиза ветки 3.1.38 / 3.1.34). В этих версиях ошибка 60034775 полностью исправлена в типовом коде.
  3. Пересчет зарплаты. Откройте проблемный документ Начисление зарплаты и взносов за расчетный месяц. Выделите нужных сотрудников и нажмите Пересчитать сотрудника (либо перезаполните документ целиком). Убедитесь, что часы распределились корректно: первые 2 часа за каждую смену попали в полуторную оплату, а оставшиеся часы — в доплату свыше двух часов.

Способ 2. Временная ручная корректировка сумм (если обновление отложено)

Если закрыть расчетный период и выплатить заработную плату необходимо срочно, а возможность оперативно обновить конфигурацию отсутствует, применим обходной расчетный путь.

  1. Рассчитаем фактическое количество часов, приходящееся на работу в пределах первых двух часов за каждую смену, обратившись к документу Работа сверхурочно.
  2. В документе Начисление зарплаты и взносов на вкладке Начисления найдем строку с начислением Допл.за сверхур.раб.свыше 2 час. Уменьшим итоговую сумму доплаты пропорционально часам, которые должны были быть оплачены в полуторном размере.
  3. Добавим новую строку начисления по кнопке Добавить, выберем начисление Допл.за сверхур. раб.до 2 час. и укажем расчетную сумму оплаты в полуторном размере вручную.
  4. Проверим расчет страховых взносов и НДФЛ, выполнив пересчет соответствующих вкладок документа.

Способ 3. Техническое исправление через расширение конфигурации

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

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


ГДЕ
    НЕ ВидВремени В (
        ЗНАЧЕНИЕ(Перечисление.ВидыРабочегоВремениСотрудников.ДополнительноОплачиваемоеВПределахНормы)
    )

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

← На главную