В практике кадрового учета и расчета заработной платы часто возникают ситуации, когда внутренние локальные нормативные акты организации (приказы, положения об оплате труда) устанавливают фиксированные значения для расчетных величин. Одной из таких величин является среднемесячное количество рабочих часов. Несмотря на то что программа 1С:ЗУП (ЗГУ) 3.1 рассчитывает этот показатель автоматически на основе производственного календаря или графика работы, бухгалтеры сталкиваются с необходимостью округления этого значения (например, с 164,91667 до 164,9).
Разберем подробно, почему ручная правка в справочнике Графики работы не всегда дает результат и какими способами можно добиться корректного расчета доплат за ночные, праздничные или сверхурочные часы.
Проанализируем ситуацию: пользователь заходит в карточку графика, правит поле Среднемесячное число часов и сохраняет документ. Однако при расчете документа Начисление зарплаты и взносов программа упорно продолжает использовать дробное значение с пятью знаками после запятой. Выясним причину такого поведения системы:
Это самый «изящный» и рекомендуемый методистами способ, который не требует вмешательства в конфигурацию (программирования). Рассмотрим его по шагам:
Шаг 1. Создание показателя. Перейдем в раздел Настройка — Показатели расчета зарплаты и создадим новый показатель:
СреднемесячноеЧислоЧасовОкругленное.Шаг 2. Ввод значения. Через документ Данные для расчета зарплаты (или через настройки организации, если выбран соответствующий тип показателя) введем значение 164,9 на текущий год.
Шаг 3. Изменение формулы начисления. Найдем начисление (например, Доплата за работу в ночное время) и изменим его формулу. Вместо стандартного механизма пересчета через слэш, который задействует типовой алгоритм 1С, пропишем формулу явно:
Оклад / СреднемесячноеЧислоЧасовОкругленное * ВремяВЧасах * ПроцентДоплатыЗаРаботуВНочноеВремя / 100
Важный нюанс: Если в организации часть сотрудников рассчитывается по «норме времени», а часть — по «среднемесячному количеству», мы можем усложнить формулу, используя условие:
?(СпособРасчетаСтоимостиЧаса = ЗначениеПеречисления.СпособыПересчетаТарифнойСтавки.СреднемесячноеКоличествоЧасов,
Оклад / СреднемесячноеЧислоЧасовОкругленное,
Оклад / НормаВремени)
* ВремяВЧасах * ПроцентДоплатыЗаРаботуВНочноеВремя / 100
Если необходимо, чтобы округление работало именно в типовом механизме без изменения формул, придется обратиться к доработке системы. Как было замечено в обсуждении, на форме отображается округленное значение, а в объекте хранится исходное.
Рассмотрим пример кода, который можно использовать в обработке проведения или при записи графика (в модуле объекта):
Процедура ПриЗаписи(Отказ)
// Принудительно округляем значение реквизита перед сохранением в базу
ЭтотОбъект.СреднемесячноеЧислоЧасов = Окр(ЭтотОбъект.СреднемесячноеЧислоЧасов, 1);
КонецПроцедуры
Однако помните, что при обновлении производственного календаря или перезаполнении графика программа может снова рассчитать неокругленное значение. Поэтому использование пользовательского показателя (Решение 1) является более стабильным.
Проанализируем еще один механизм — использование регистра сведений Коэффициент пересчета тарифных ставок. В программе 1С:ЗУП 3.1 стоимость часа (показатель СтоимостьЧаса) рассчитывается при назначении сотруднику планового начисления (например, приеме на работу или кадровом переводе).
Если вы хотите контролировать результат, вы можете:
В этом случае программа запомнит это значение и будет использовать его во всех расчетах, не обращаясь к алгоритмам деления годовой нормы на 12.
Выясним, чем грозит подобное округление. Стоимость часа — критически важный параметр. Согласно позиции Роструда, любые округления в локальных актах предприятия не должны приводить к ухудшению положения работника. Если вы округляете 164,91667 до 164,9 (в меньшую сторону), то знаменатель уменьшается, а итоговая стоимость часа — увеличивается. Это безопасно с точки зрения трудовых споров. Однако если в другой год значение будет, например, 164,25 и вы округлите его до 164,3 (в большую сторону), стоимость часа уменьшится, что может стать причиной предписания при проверке ГИТ.
Подведем итог: наиболее надежным способом реализации требований руководства является внедрение собственного показателя организации в формулы доплат. Это обеспечит прозрачность расчета, исключит влияние обновлений программы на алгоритмы и позволит гибко настраивать расчет для разных категорий персонала.