При настройке сложных формул в программе «1С:Зарплата и Управление персоналом 3.1» многие специалисты сталкиваются с тем, что стандартные показатели ведут себя не совсем так, как ожидается. Типичный пример — необходимость рассчитать стоимость часа для оплаты сверхурочных или премий, исходя только из нормы по графику, исключая время работы в выходные и праздники. Давайте подробно разберем, почему показатель ОтработаноЧасов не подходит для этих целей и как правильно настроить систему, чтобы получить корректный результат без снятия конфигурации с поддержки.
Рассмотрим ситуацию, с которой сталкивается автор вопроса. В системе есть показатель ОтработаноЧасов. На первый взгляд кажется, что это универсальный счетчик всего времени, которое сотрудник провел на работе. Однако технически этот показатель является агрегированным. Он автоматически суммирует:
Если мы используем этот показатель в знаменателе формулы вида Оклад / ОтработаноЧасов, то при наличии работы в выходные знаменатель увеличивается. В результате стоимость часа сотрудника уменьшается, что методологически неверно и может вызвать вопросы у трудовой инспекции. Проанализируем, как можно «очистить» этот показатель или чем его заменить.
Самый гибкий способ решить задачу — использовать показатель ВремяВЧасах (или ВремяВДняхЧасах). В отличие от ОтработаноЧасов, этот показатель «умный»: он возвращает количество часов только по тем видам времени, которые указаны в настройках конкретного начисления.
Разберем по шагам, как настроить начисление для получения «чистых» часов по графику:
ОтработаноЧасов на ВремяВЧасах.Явка или Вахта).В этом случае, когда программа будет рассчитывать формулу, показатель ВремяВЧасах возьмет только те часы, которые отмечены в табеле как «Явка», проигнорировав «Праздники» (РВ) и «Сверхурочные» (С). Таким образом, мы получим чистый знаменатель без лишних часов.
Разработчики фирмы «1С» предусмотрели специальный механизм для расчета стоимости часа, который не требует ручного вычитания праздничных или сверхурочных в каждой формуле. Рекомендуется использовать показатель СтоимостьЧаса.
Выясним причину, почему это удобнее. Настройка алгоритма расчета этого показателя производится в одном месте для всей базы или конкретной организации. Проанализируем ситуацию в интерфейсе:
Если мы выберем «Норма времени по графику сотрудника», то система при расчете СтоимостьЧаса сама возьмет оклад и разделит его на количество часов, которые сотрудник должен был отработать по графику. Все фактические отклонения (праздничные, переработки) на этот показатель не повлияют. Формула в таком случае сокращается до минимума:
Результат = СтоимостьЧаса * ВремяВЧасах
Если ваша задача — рассчитать премию или доплату, которая должна начисляться только на «окладную» часть, можно использовать механизм расчетной базы. Посмотрим на пример настройки:
РасчетнаяБаза * ПроцентПремии / 100.Оплата по окладу.Поскольку Оплата по окладу сама по себе рассчитывается пропорционально только времени «Явки», то и расчетная база будет содержать сумму, очищенную от праздничных доплат. Это позволяет избежать сложных математических манипуляций со временем в самой формуле.
Рассмотрим ситуацию с сотрудниками на сменных графиках. Для них разделение на «норму» и «праздничные» часто бывает размыто, если праздник выпадает на смену по графику. Однако методология остается прежней: если мы хотим исключить влияние переработок на стоимость часа, мы всегда должны ориентироваться на Норму, а не на Факт.
В 1С:ЗУП 3.1 показатель НормаЧасов всегда возвращает плановое количество часов из графика (или индивидуального графика) сотрудника за текущий месяц. Поэтому формула вида:
Результат = Оклад / НормаЧасов * ВремяВЧасах
будет работать корректно, так как НормаЧасов — это константа месяца по плану, а ВремяВЧасах (при правильной настройке вкладки «Учет времени») — это только те виды времени, которые мы хотим оплатить данным начислением.
Для закрепления материала подытожим различия между показателями, которые мы рассмотрели:
Используя эти знания, вы сможете настроить практически любое начисление, не прибегая к программированию и не снимая конфигурацию с поддержки. Достаточно грамотно комбинировать настройки видов времени и выбирать правильные системные показатели.