Как исправить ошибку при назначении планового начисления за ночные часы в 1С:ЗКГУ и 1С:ЗУП 3.1

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

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

Анализ причины ошибки: почему происходит деление на ноль

Проанализируем механику работы плановых начислений в 1С. Когда мы назначаем сотруднику плановое начисление через кадровые документы (Прием на работу, Кадровое перемещение, Назначение планового начисления или Изменение оплаты труда), программа автоматически пытается вычислить Фонд оплаты труда (ФОТ) и плановый размер начисления.

Если в формуле используются показатели фактического времени, такие как Кол-во отработанных ночных часов, или пользовательские показатели нормы времени, вводимые вручную в конце месяца, то в момент проведения кадрового документа их значения равны 0. Если эти показатели находятся в знаменателе дроби (например, деление на норму времени) или программа пытается рассчитать плановую сумму по незаполненным параметрам, происходит критический сбой деления на ноль.

Кроме того, если данные вводятся с ограничениями прав доступа или в базе присутствуют битые ссылки (Объект не найден), программа также не может выгрузить значение показателя и подставляет ноль.

Решение 1. Переход на штатный механизм расчета ночных часов (Рекомендуется)

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

Разберем по шагам, как настроить автоматический расчет:

  1. Включение функционала ночных часов: Перейдем в раздел Настройка → Расчет зарплаты → ссылка Настройка состава начислений и удержаний. На вкладке Почасовая оплата установим флажок «Ночные часы». После этого программа автоматически активирует системный вид начисления Доплата за работу в ночное время.
  2. Настройка автопересчета тарифной ставки по производственному календарю: Перейдем в раздел Настройка → Расчет зарплаты. В блоке «При пересчете тарифной ставки сотрудника в стоимость часа (дня) использовать» выберем вариант «Норму времени по производственному календарю». Благодаря этой настройке показатель СтоимостьЧаса для сотрудника на окладе будет автоматически рассчитываться делением оклада на норму часов по производственному календарю текущего месяца. Ручной ввод нормы больше не потребуется.
  3. Фиксация ночных часов: Начисление за ночные часы не нужно назначать планово в кадровых документах. Для сотрудников, у которых в основном графике ночные часы не предусмотрены, факт работы в ночное время регистрируется документами:
    • Табель учета рабочего времени (с видом времени «Н» или «Я/Н»);
    • Индивидуальный график.
    Расчет доплаты выполнится автоматически в документе Начисление зарплаты и взносов при наличии зафиксированных ночных часов.

Решение 2. Исправление пользовательской формулы через условный оператор

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

Рассмотрим пример правильного синтаксиса формулы:


?(ПоПроизводКалендарю > 0, Оклад / ПоПроизводКалендарю * ОтработаноНочныхЧасов * ПроцентДоплаты / 100, 0)

Конструкция ?(Условие, Выражение1, Выражение2) работает следующим образом: если показатель ПоПроизводКалендарю больше нуля, выполняется расчет, иначе возвращается 0. Это позволяет избежать ошибки при проведении кадровых документов.

Решение 3. Проверка прав доступа и целостности ссылок

Если при назначении начисления возникает ошибка Объект не найден или данные недоступны для чтения, выполним следующие технические проверки:

  1. Проверим права доступа пользователя: у расчетчика должны быть полные права на чтение справочников графиков работы, показателей и производственных календарей.
  2. Проверим состав показателей в формуле. Если один из показателей был ранее удален или переименован в справочнике Показатели расчета зарплаты, нужно перевыбрать его в начислении заново.
  3. Выполним тестирование и исправление информационной базы в режиме Конфигуратор (раздел Администрирование → Тестирование и исправление) с установленной галочкой «Проверка логической целостности» и «Реструктуризация таблиц».
← На главную