Как настроить расчет премии за прошлый месяц в 1С:ЗУП 3.1 при кадровом переводе на «непремиальную» должность?

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

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

В этой статье мы подробно разберем, почему программа ведет себя именно так, проанализируем архитектурное ограничение базовых механизмов «1С:ЗУП 3.1» и рассмотрим 5 практических способов решения этой проблемы — от простых кадровых настроек до автоматизированных подходов.

Почему возникает эта проблема? Анализ поведения программы

Для начала выясним причину, по которой типовой механизм «1С:ЗУП» собирает «лишнюю» базу. Предположим, мы рассчитываем премию в декабре за показатели ноября. В ноябре сотрудник до 15-го числа работал маляром, а с 15-го числа кадровым переводом был назначен на должность токаря с прекращением планового начисления премии.

Когда программа производит расчет в документе Начисление зарплаты и взносов в декабре, она сталкивается со следующими ограничениями:

  1. Проблема отмены начисления: Если мы полностью прекратили («отменили») начисление премии в кадровом переводе от 15 ноября, то в декабре при расчете за декабрь программа видит, что плановое начисление у сотрудника уже не действует. В результате автоматический расчет премии за первую половину ноября вообще не запустится, и сотрудник останется без заслуженных денег.
  2. Проблема сбора базы: Если мы оставили начисление активным, чтобы премия все же рассчиталась, программа соберет всю сумму по базовым начислениям за ноябрь. Механизм сбора показателя РасчетнаяБаза за предыдущий месяц по умолчанию анализирует весь календарный период (с 1 по 30 ноября) и суммирует все оклады сотрудника за этот месяц, не разделяя их по должностям, которые занимал работник внутри этого периода.

Ниже мы подробно разберем, как обойти это ограничение конфигурации штатными и полуавтоматическими методами.

Способ 1. Использование нулевого показателя процента при кадровом переводе (Рекомендуемый метод)

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

Разберем этот способ по шагам:

  1. Убедимся, что формула нашей премии настроена с использованием изменяемого показателя процента. Формула должна выглядеть следующим образом:
    
    ПроцентПремии / 100 * РасчетнаяБаза
    
  2. В кадровом переводе на должность токаря (в нашем примере с 15 ноября) мы не отменяем премию. Вместо этого в табличной части начислений мы оставляем премию активной, но изменяем значение показателя ПроцентПремии, установив его равным 0.
  3. При расчете заработной платы в следующем месяце программа автоматически разделит период расчета начисления на два интервала в соответствии с кадровой историей:
    • За период с 1 по 14 ноября расчетная база (оклад маляра) будет умножена на плановый процент премии (например, 10%).
    • За период с 15 по 30 ноября расчетная база (оклад токаря) будет умножена на измененный процент премии (0%).

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

Способ 2. Разделение базовых начислений по должностям

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

Проанализируем этот алгоритм:

  1. В справочнике «Начисления» создадим отдельные виды расчетов для разных должностных категорий. Например: Оклад маляра и Оклад токаря.
  2. В настройках начисления нашей премии перейдем на вкладку «Расчет базы».
  3. В список базовых начислений включим исключительно Оклад маляра. Начисление Оклад токаря оставляем за пределами списка базовых начислений.
  4. При кадровом переводе сотрудника с должности маляра на токаря мы прекращаем начисление Оклад маляра и назначаем плановое начисление Оклад токаря.

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

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

Способ 3. Переход на расчет через отдельный документ «Премия» с внешней обработкой

Методологи фирмы «1С» часто рекомендуют уходить от планового расчета премий непосредственно в документе расчета зарплаты, если алгоритмы сбора базы содержат сложную бизнес-логику. Вместо этого лучше использовать специализированный документ Премия.

Рассмотрим, как работает этот сценарий:

  1. В настройках вида расчета премии укажем, что начисление выполняется «По отдельному документу» (вместо «Ежемесячно»).
  2. Для автоматизации заполнения документа программист создает внешнюю обработку заполнения табличной части.
  3. При создании документа Премия расчетчик запускает внешнюю обработку. Написанный алгоритм самостоятельно анализирует кадровую историю сотрудников за предыдущий месяц, отсекает периоды работы на «непремиальных» должностях, вычисляет корректную сумму окладов только за периоды работы маляром и автоматически заполняет документ готовыми суммами.

Этот способ является наиболее надежным с точки зрения производительности системы, так как исключает сложные вычисления из «тяжелого» документа Начисление зарплаты и взносов и переносит их в специализированное рабочее место.

Способ 4. Использование механизма «Места работы»

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

Выполним следующие настройки:

  1. В настройках расчета зарплаты активируем опцию «Используются краткосрочные изменения оплаты труда в зависимости от выполняемой работы».
  2. В системе регистрируются конкретные рабочие места (например, «Рабочее место маляра» с подключенной премией и «Рабочее место токаря» без нее).
  3. Вместо оформления документов кадрового перевода временные перемещения регистрируются специализированным документом Изменение мест работы.

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

Резюме

Мы рассмотрели несколько эффективных путей решения проблемы расчета премии при кадровых перемещениях. Для небольших компаний идеальным решением станет Способ 1 с обнулением показателя процента премии в кадровом переводе. В крупных организациях со сложным учетом наиболее стабильные результаты покажет переход на документ Премия с использованием внешней обработки заполнения табличной части (Способ 3).

← На главную