Как настроить расчет оклада за неполный месяц исходя из среднемесячного количества часов в 1С:ЗУП 3.1?

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

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

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

Вариант 1. Настройка расчета с созданием собственного показателя

Для реализации этой схемы воспользуемся встроенным в 1С:ЗУП 3.1 механизмом настройки начислений и условными операторами в формулах. Проанализируем порядок действий:

  1. Перейдем в раздел Настройка — Показатели расчета зарплаты и создадим новый пользовательский показатель СрМесКолЧасов (Среднемесячное количество часов). Назначим ему сферу действия Для организации или Для информационной базы и тип значения Числовой. Значение этого показателя задается один раз в год (например, через шаблон ввода показателей или непосредственно при создании).
  2. Перейдем в раздел Настройка — Начисления и создадим новое начисление (или отредактируем существующий вид расчета оклада по часам).
  3. В настройках начисления перейдем к редактированию формулы и запишем условие с помощью синтаксиса условного оператора ?(Условие, ЗначениеЕслиИстина, ЗначениеЕслиЛожь).

Формула расчета будет выглядеть следующим образом:


?(ВремяВЧасах < НормаЧасов,
  Оклад / СрМесКолЧасов * ВремяВЧасах,
  Оклад)

Разберем логику работы данной формулы: программа сравнивает отработанное время ВремяВЧасах с нормой НормаЧасов. Если сотрудник отработал меньше нормы, система применяет расчет по часовой ставке с делением на среднемесячное значение СрМесКолЧасов. Если же норма выполнена полностью, начисляется фиксированный Оклад.

Вариант 2. Использование предопределенного показателя «СтоимостьЧаса»

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

  1. Откроем раздел Настройка — Расчет зарплаты.
  2. В блоке При пересчете тарифной ставки сотрудника в стоимость часа (дня) использовать выберем вариант Среднемесячное количество часов (дней) в месяце. В этом случае программа будет автоматически рассчитывать годовую норму по производственному календарю и делить её на 12.
  3. В формуле начисления изменим выражение, использовав предопределенный показатель СтоимостьЧаса:

?(ВремяВЧасах < НормаЧасов,
  СтоимостьЧаса * ВремяВЧасах,
  Оклад)

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

Ограничения и важные нюансы условных формул

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

  1. Кадровые перемещения и изменение оклада внутри месяца. Если у сотрудника посреди месяца изменился оклад, произошел кадровый перевод или индексация, программа автоматически разбивает расчетный период на части. За каждый отдельный период значение ВремяВЧасах окажется меньше, чем полная НормаЧасов за весь месяц. В результате условное выражение ВремяВЧасах < НормаЧасов сработает для обеих частей периода, и сотрудник получит расчет по часовой ставке за обе половинки, даже если месяц в сумме отработан полностью.
  2. Погрешности округления при копеечных расчетах. Среднемесячное количество часов практически всегда является дробным числом (например, 164,17 часа). Из-за этого деление оклада и последующее умножение на часы может приводить к расхождениям в несколько копеек по сравнению с обычным календарным расчетом.
  3. Учет неполных ставок (0.5 или 0.25 ставки). При работе сотрудников на полставки, если оклад в кадровых документах указан для полной ставки, необходимо дополнительно учитывать показатель ДоляНеполногоРабочегоВремени в формуле, иначе сумма начисления будет завышена.
  4. Влияние глобальной настройки пересчета ставки. Изменение настройки пересчета тарифной ставки в разделе Расчет зарплаты влияет на расчет оплаты сверхурочных, ночных, вечерних часов и работы в праздничные дни для всей информационной базы.

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

← На главную