Как исправить ошибку «Деление на 0» при расчете оплаты праздничных и выходных дней в 1С

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

При расчете заработной платы, особенно в период после новогодних праздников или при увольнении сотрудника в начале месяца, пользователи 1С:ЗУП часто сталкиваются с критической ошибкой: «Деление на 0». В тексте ошибки обычно фигурирует показатель НормаЧасовПоПроизводственномуКалендарю = 0. Это означает, что программа пытается рассчитать стоимость часа для оплаты праздничных дней, но не может найти знаменатель — количество рабочих часов по норме.

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

Причина 1: Не заполнен или некорректно настроен производственный календарь

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

  1. Перейдем в раздел Настройка — Производственные календари.
  2. Проверим основной календарь (обычно «Российская Федерация»). Убедимся, что он заполнен на текущий год (например, 2024). Для этого нужно нажать кнопку «Заполнить по умолчанию» и обязательно «Записать».
  3. Важный нюанс: Если в вашей организации или подразделении используется региональный календарь (например, для Татарстана или Башкортостана), необходимо проверить именно его. Часто пользователи заполняют общероссийский календарь, но забывают про региональный, который назначен в настройках организации. Если в региональном календаре праздничные дни не проставлены или он не перезаполнен на новый год, показатель нормы будет равен нулю.

Причина 2: Ошибки в графике работы сотрудника

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

Выясним, как это проверить:

Причина 3: Использование индивидуальных графиков

Рассмотрим более сложный случай. Если на сотрудника в расчетном месяце был введен документ «Индивидуальный график», программа полностью игнорирует настройки основного графика. Если документ «Индивидуальный график» был создан, но не заполнен (пустая табличная часть), или введен на неполный месяц, это приведет к ошибке деления на ноль.

Проанализируем список документов «Индивидуальный график» в разделе «Зарплата». Если документ найден, проверьте, чтобы в нем стояли часы в соответствующие дни. Если документ был создан по ошибке — его следует пометить на удаление и пересчитать сотрудника.

Причина 4: Проблема в регистре «Графики работы сотрудников интервальный»

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

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

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

Причина 5: Настройка пересчета тарифной ставки

Выясним, каким образом программа определяет стоимость часа. В настройках расчета зарплаты (Настройка — Расчет зарплаты — Детальная настройка) есть параметр «При пересчете месячного оклада в часовую ставку использовать...».

Здесь может быть выбрано три варианта:

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

Причина 6: Особенности увольнения в начале месяца

Посмотрим на ситуацию, упомянутую в теме: увольнение в праздничные дни января. Если сотрудник увольняется 1-го или 2-го января, а по его графику это выходные дни, то в периоде работы (с 1 по 1 января) может не оказаться ни одного рабочего часа по норме. Программа пытается найти норму за «отработанное время», не находит её и выдает «Деление на 0».

В этом случае проанализируем формулу начисления «Оплата работы в праздничные и выходные дни». Если там используется показатель СтоимостьЧаса, программа обязана его вычислить. Если автоматический расчет не проходит, стоит проверить, правильно ли указана совокупная тарифная ставка сотрудника в его карточке.

Причина 7: Ошибка в формуле начисления

Если вышеперечисленные шаги не помогли, разберем саму формулу. Зайдем в Настройка — Начисления — Оплата работы в праздничные и выходные дни.

Стандартная формула обычно выглядит так:

ВремяВЧасах * СтоимостьЧаса * 2

Проблема может крыться в том, как вычисляется показатель СтоимостьЧаса. Если в настройках сотрудника указан вид оплаты, который не подразумевает расчет стоимости часа (например, только надбавка суммой без оклада), но формула требует этот показатель, может возникнуть конфликт. Проверьте вкладку «Учет времени» и убедитесь, что вид времени настроен корректно (Праздники / Выходные).

Резюме и план действий

Для устранения ошибки «Деление на 0» мы рекомендуем придерживаться следующего алгоритма:

  1. Перезаполнить и записать Производственный календарь на 2024 год (включая региональные).
  2. Зайти в График работы сотрудника, нажать «Заполнить» и «Записать».
  3. Проверить отсутствие пустых Индивидуальных графиков.
  4. Перепровести кадровый документ (Прием/Перевод), чтобы обновить данные в регистрах.
  5. В самом документе «Начисление зарплаты» или «Увольнение» нажать кнопку «Пересчитать сотрудника» после внесения изменений в графики.

Соблюдение этой последовательности действий в большинстве случаев позволяет успешно рассчитать праздничные дни и избежать ошибок деления на ноль.

← На главную