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

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

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

Анализ проблемы: почему ВремяВДняхЧасах подставляет часы вместо дней

Рассмотрим типовую ситуацию: сотруднику назначена фиксированная выплата (например, надбавка за интенсивность в сумме 58 500 руб.) с назначением Дополнительная оплата за уже оплаченное время. Формула начисления задана следующим образом:

ДоплатаЕжемесячнаяСуммой / НормаДнейЧасов * ВремяВДняхЧасах

По графику сотрудника норма за месяц составляет 21 день (168,25 часа). В течение месяца сотрудник дважды привлекался к работе в выходные дни документами Работа в выходные и праздники:

  1. Первый документ введен с указанием отработанного времени в часах — 7 часов (1 день).
  2. Второй документ введен способом «по дням» — 1 день без указания конкретных часов.

Ожидалось, что программа рассчитает выплату исходя из дней: норма 21 день + 2 дня выходных = 23 дня. Однако в расчете ЗУП подставляет значение 175,25 часа, игнорируя дни, и расчет выполняется как 58 500 / 168.25 * 175.25 = 60 933,88 руб.

Проанализируем поведение системы. Обобщенные показатели ВремяВДняхЧасах и НормаДнейЧасов предназначены для универсальных формул, но алгоритм платформы автоматически переключает их расчет на часы при наступлении любого из условий:

  1. В графике работы сотрудника предусмотрены дробные часы (в нашем примере норма 168,25 часа на 21 день, то есть смена не равна целому числу часов). Целочисленный подневный учет в этом случае технически невозможен.
  2. В расчетном периоде зарегистрировано внутрисменное отклонение или отклонение, зафиксированное строго в часах (первый документ работы в выходной на 7 часов). Чтобы не допустить некорректного суммирования дней с часами, программа принудительно рассчитывает весь баланс времени в часах.

При этом возникает вторая проблема: документ работы в выходной, введенный «по дням», делает движение только в днях, а в ресурсы отработанных часов попадает ноль. В результате система берет норму 168,25 ч, прибавляет 7 ч первого выходного, получает 175,25 ч, а второй выходной день просто выпадает из часового объема времени.

Решение 1. Перевод начисления на строгий учет по дням

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

  1. Создадим или отредактируем начисление, указав формулу: ДоплатаЕжемесячнаяСуммой / НормаДней * ВремяВДнях. Использование явных показателей НормаДней и ВремяВДнях исключает автоматическое переключение на часы.
  2. Перейдем на вкладку Учет времени. Так как назначение начисления — Дополнительная оплата за уже оплаченное время, оно не вытесняет другие периоды, но требует четкого перечня учитываемого времени.
  3. В качестве основного вида времени укажем Явка.
  4. В таблице дополнительных видов времени обязательно установим флажки напротив видов времени:
    • Праздники (соответствует коду РВ, когда работа в выходной компенсируется повышенной оплатой);
    • Праздники без повышенной оплаты (соответствует коду ПН, если выбрана компенсация в виде дня отдыха/отгула).

Посмотрим на результат расчета при такой настройке: норма составит 21 день, факт отработанного времени — 23 дня. Расчет: 58 500 / 21 * 23 = 64 071,43 руб.

Решение 2. Корректный расчет выплаты исходя из фактически отработанных часов

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

  1. В формуле начисления явно используем часовые показатели: ДоплатаЕжемесячнаяСуммой / НормаЧасов * ВремяВЧасах.
  2. На вкладке Учет времени основным видом времени выбираем Явка, а в дополнительных видах времени отмечаем Праздники и Праздники без повышенной оплаты. Без этих флагов система не включит часы из документов выходных дней в показатель ВремяВЧасах для данной доплаты.
  3. Приведем к единому формату документы-отклонения. Откроем второй документ Работа в выходные и праздники и переключим способ ввода на «по часам», явно указав фактически отработанное количество часов (например, 8 часов).

Проанализируем итоговые цифры: общая норма составит 168,25 часа, а фактически отработанное время сложится из нормы и двух документов: 168,25 + 7 + 8 = 183,25 ч. Итоговая сумма начисления составит: 58 500 / 168.25 * 183.25 = 63 716,20 руб.

Решение 3. Альтернативные варианты без прямого использования показателей времени

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

  1. Расчет через расчетную базу. Переведем начисление на назначение Повременная оплата труда и надбавки с формулой РасчетнаяБаза * Коэффициент. На вкладке Расчет базы включим как основную оплату (оклад или оплату по часам), так и начисления Оплата праздничных и выходных дней. Тогда надбавка начислится пропорционально сумме базы, уже рассчитанной за выходные дни.
  2. Включение надбавки в совокупную тарифную ставку (СТС). В меню Настройка — Расчет зарплаты добавим показатель нашей надбавки в состав показателей, определяющих стоимость часа. После этого при расчете стандартной оплаты за работу в выходные дни стоимость дня/часа автоматически будет включать долю этой надбавки, что снимет необходимость рассчитывать саму надбавку за пределами нормы графика.
← На главную