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

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

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

Анализ исходной ситуации и математическая проверка

Рассмотрим типичный пример: сотруднику назначен оклад в размере 12 595 рублей. Используется вид начисления Оплата по окладу (по часам) с формулой: Оклад * ВремяВЧасах / НормаЧасов. По данным учета, сотрудник отработал 126 часов при ожидаемой норме в 164,92 часа. Ручной расчет дает 9 622,66 рубля, однако программа упорно считает 9 339,98 рубля.

Проанализируем ситуацию вместе. Если мы разделим оклад на полученный результат и умножим на отработанные часы (12 595 * 126 / 9 339,98), то получим ровно 169,92. Это означает, что программа в качестве НормаЧасов подставила не 164,92, а 169,92. Наша задача — выяснить, откуда взялось это число и почему настройки системы игнорируют ожидания пользователя.

Причина 1: Неправильное понимание показателя НормаЧасов

Первое, что нам необходимо проверить, — это источник нормы времени. В 1С:ЗУП 3.1 норма времени для конкретного сотрудника берется из его основного Графика работы. Часто расчетчики используют число 164,92 — это среднемесячное количество рабочих часов (например, для 2020 года при 40-часовой неделе). Однако программа использует это число только для пересчета оклада в часовую тарифную ставку (при расчете ночных, праздничных или сверхурочных), если такая настройка выбрана в параметрах расчета зарплаты.

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

  1. Откроем документ Начисление зарплаты и взносов.
  2. В табличной части найдем строку сотрудника и нажмем кнопку Показать подробности расчета (значок карандаша или лупы).
  3. Проанализируем колонки Норма и Отработано. Именно там вы увидите реальное число, которое система подставила в знаменатель.

Причина 2: Использование «Нормирующего графика»

В настройках графиков работы (раздел Настройка — Графики работы сотрудников) есть важная опция: Считать норму по другому графику. Рассмотрим подробнее, как это работает:

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

Важный нюанс: если в нормирующем графике за март стоит 169,92 часа, а вы ожидали 164,92, проверьте заполнение производственного календаря (тут полезно знать про автоматическое обновление региональных производственных календарей и как его отключить) и настройки самого нормирующего графика. Любое отклонение (например, работа в праздники или перенос дней) изменит знаменатель формулы.

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

Если в течение месяца на сотрудника был введен документ Индивидуальный график, то программа полностью игнорирует настройки из основного графика работы. Выясним причину расхождения через проверку этого документа (для наглядности анализа может помочь внешняя печатная форма "Табель Т-13 (с итогами)" по документу "Индивидуальный график"):

Причина 4: Оплата по окладу vs Оклад по часам

Проанализируем ситуацию с точки зрения методологии учета. Существует принципиальная разница между начислениями Оплата по окладу и Оплата по окладу (по часам):

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

Оплата по окладу (по часам): Расчет идет строго пропорционально часам. Это наиболее точный метод для суммированного учета рабочего времени, который также часто применяется, когда используется сложный расчет северного отпуска при вахтовом методе работы. Если у вас возникают расхождения в 300-500 рублей, убедитесь, что в документе Прием на работу или Кадровый перевод выбрано именно начисление «по часам». Если выбрано просто «по окладу», программа делит оклад на количество рабочих дней в месяце, и один час отклонения в табеле (особенно если не настроена загрузка табеля из Excel в Табель учета рабочего времени, и данные вносятся вручную с ошибками) может просто «потеряться» или, наоборот, сильно исказить результат.

Причина 5: Нерабочие дни с сохранением оплаты (COVID-периоды)

Если расчет происходит за периоды, связанные с указами президента о нерабочих днях (как это было в марте-мае 2020 года), необходимо обратить внимание на настройки расчета зарплаты. В разделе Настройка — Расчет зарплаты есть флаг Оплачивать нерабочие дни по сохраняемому заработку.

При включении этой опции:

Технические нюансы: Измененные конфигурации и отладка

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

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

Иногда проблема кроется в том, что в график пытаются записать дробное количество часов (например, 99.99 за месяц одной строкой). Система ЗУП 3.1 лучше всего работает, когда график заполнен подневно. При суммарном вводе времени за месяц программа может хранить во внутренних механизмах микро-секунды, которые не видны в интерфейсе, но влияют на деление в формуле.

Итоги и рекомендации

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

  1. Всегда проверяйте знаменатель (норму) через детализацию расчета в самом документе Начисление зарплаты.
  2. Если норма не совпадает с производственным календарем, проверьте Нормирующий график в настройках основного графика сотрудника.
  3. При использовании суммированного учета переходите на вид начисления Оплата по окладу (по часам) и проверяйте, чтобы в Табеле и Графике совпадали виды времени (например, Явка).
  4. Убедитесь, что настройки Пересчета тарифных ставок в параметрах системы соответствуют вашей учетной политике (по среднему за год или по текущему месяцу).

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

← На главную