Настройка премий в программе «1С:Зарплата и Управление Персоналом 2.5» (хотя конфигурация и относится к прошлым поколениям, она до сих пор активно эксплуатируется во многих организациях) часто вызывает массу вопросов у бухгалтеров и расчетчиков. Особенно остро проблема встает тогда, когда премия меняет свою периодичность (например, из квартальной превращается в ежемесячную), а пользователи начинают вручную корректировать реквизиты документов. Ситуация усложняется, когда расчет среднего заработка для отпусков и командировок начинает выдавать некорректные суммы.
В этой статье мы подробно разберем, как алгоритмы 1С:ЗУП 2.5 определяют периодичность премий, почему произвольные формулы мешают программе распознавать отработанное время и как правильно настроить учет премий в соответствии с Положением № 922.
Многие пользователи считают, что периодичность премии (месячная, квартальная или годовая) регулируется исключительно выбором значения в поле «Вид премии» внутри документа начисления. Однако это не так. Для целей расчета среднего заработка программа обращается к специальному глобальному регистру настроек.
Давайте разберем по шагам, где на самом деле хранятся эти правила:
Даже если ваши сотрудники вручную изменят поле в документе начисления премии, алгоритм расчета отпуска или больничного листа все равно будет обращаться к этой централизованной настройке. Если вид расчета закреплен в группе «Квартальные премии», программа применит к нему правила для квартальных премий, несмотря на любые ручные корректировки в документах текущего периода.
Практический совет: Чтобы исключить человеческий фактор и путаницу, настоятельно рекомендуем заблокировать для пользователей возможность ручного изменения периодичности в документах. Если конфигурация снята с поддержки, разработчик может установить свойство ТолькоПросмотр для этого поля. Самым же надежным решением будет создание двух абсолютно разных видов расчета: например, «Премия ежемесячная» и «Премия квартальная».
Проанализируем частую ошибку, с которой сталкиваются расчетчики при создании собственных формул. Рассмотрим формулу, которую привела автор темы на форуме:
Окр((ТарифМесячный * (1 + Надбавки) + КлассЧин) * КоличествоОкладов / 22 * ОтработаноДнейЧасов * (1.0 + РКСНнадбавки), 3, 1)
На первый взгляд, формула абсолютно логична: берется окладная часть, умножается на количество окладов, делится на норму дней (22) и умножается на показатель ОтработаноДнейЧасов. Пользователь создал этот показатель вручную с типом «Число» или «Процент» и вносит туда отработанные сотрудником дни. Почему же программа ведет себя некорректно при расчете среднего заработка?
Выясним причину. Дело в том, что для алгоритмов 1С:ЗУП 2.5 премия считается «начисленной пропорционально отработанному времени» только в том случае, если в формуле используются предопределенные (системные) показатели времени. К ним относятся:
ВремяВДняхВремяВЧасахОтработаноВремяВДняхОтработаноВремя и др.Если же вы используете самостоятельно созданный показатель с типом «Число» (даже если вы назвали его «ОтработаноДнейЧасов» и вносите туда количество дней), программа «не понимает», что это показатель времени. С точки зрения кода 1С, этот показатель эквивалентен обычному коэффициенту или сумме. Соответственно, программа классифицирует такую премию как «начисленную фиксированной суммой» (то есть независимо от времени).
Из-за этого важнейшая настройка «При расчете среднего не уменьшать премии, начисленные пропорционально отработанному времени» просто перестает работать для данного начисления.
Рассмотрим подробнее требования законодательства РФ (Постановление Правительства РФ № 922) и то, как их интерпретирует 1С:ЗУП 2.5. Если расчетный период для среднего заработка (обычно это 12 месяцев) отработан сотрудником не полностью, начисленные премии подлежат пересчету пропорционально отработанному времени. Однако здесь есть ключевое различие между месячной и квартальной премией:
Программа 1С:ЗУП 2.5 четко отслеживает эти даты (дату начала и окончания базового периода премии, а также границы расчетного периода для среднего заработка) и производит автоматическое усечение суммы квартальной премии, даже если внутри своей формулы она считалась пропорционально дням.
Если вы столкнулись с описанными проблемами в вашей базе 1С:ЗУП 2.5, мы рекомендуем выполнить следующие действия для исправления ситуации:
Если вам принципиально важно, чтобы программа автоматически видела зависимость премии от отработанного времени по формуле:
ОтработаноДнейЧасов на предопределенный системный показатель ВремяВДнях (или ВремяВЧасах).НормаВремениВОбщихДнях вместо фиксированного числа 22.Если первый вариант вам не подходит (например, вы не хотите менять вид начисления с дополнительного на основное, или формула слишком специфична):
Таким образом, правильное понимание внутренних механизмов платформы 1С:Предприятие 8 и требований законодательства позволяет настроить расчет заработной платы без необходимости привлекать программистов для написания сложных доработок и кастомных процедур.