При переходе с исторических систем (например, 1С:УПП) или при внедрении новой методологии оплаты труда в 1С:Зарплата и Управление Персоналом 3.1 часто возникают сложные задачи, связанные с расчетом зависимых начислений. Одной из таких задач является расчет ежемесячной премии, процент которой зависит от "Смены" (или места работы, участка, должности) и может меняться несколько раз в течение одного расчетного месяца.
Рассмотрим следующую ситуацию: сотрудник работает по графику. Внутри месяца он может перемещаться между разными сменами. Для каждой смены установлен свой процент премии, зависящий от достижения показателей. Главная сложность заключается в том, чтобы программа корректно определила Расчетную базу (часть оклада/тарифа) для каждого периода работы в конкретной смене и умножила ее на соответствующий процент.
В этой статье мы подробно разберем, как реализовать такую схему, используя типовые механизмы конфигурации, не прибегая к программированию и доработкам кода.
Давайте проанализируем пример, который часто встречается на практике:
Если мы просто попытаемся ввести премию одной строкой за месяц, 1С не поймет, к какой части заработка какой процент применять. Нам необходимо, чтобы в документе Начисление зарплаты и взносов строка с окладом (и, как следствие, база для премии) автоматически разбилась на три части, соответствующие периодам изменения условий.
Один из вариантов решения, предложенный в профессиональном сообществе, заключается в использовании функционала Мест работы. В типовой конфигурации 1С:ЗУП 3.1 (особенно в версии КОРП, но функционал встречается и в ПРОФ при определенных настройках) существует возможность детализации учета до конкретного рабочего места.
Разберем алгоритм действий:
Места работы. В вашей логике каждая "Смена" (как совокупность условий труда и показателей) может быть заведена как отдельный элемент этого справочника.Изменение мест работы. Этот документ позволяет указать период действия новых условий.
Например, вы создаете документ, где указываете, что с 16.09 по 20.09 сотрудник работает на месте "Смена 2".
Начисление зарплаты и взносов. Когда система видит документ Изменение мест работы внутри месяца, она автоматически разбивает строку начисления основного заработка (Оклада) на интервалы.
В нашем примере в начислении зарплаты появятся три строки с окладом:
Более современным и гибким аналогом "Мест работы" в ЗУП 3.1 является механизм Территорий. Это наиболее рекомендуемый способ для решения задач, когда сотрудники перемещаются между участками с разными условиями оплаты или районными коэффициентами.
Давайте посмотрим, как настроить этот механизм:
Настройка — Реквизиты организации — Учетная политика и другие настройки — Учетная политика. Убедитесь, что стоит галочка Использовать обособленные территории. Это активирует справочник Территории.Для каждой территории можно задать свои способы отражения в бухучете и районные коэффициенты, но для нашей задачи важно само наличие разделителя учета.
Перемещение между территориями. В нем можно табличной частью задать перемещения на короткие сроки.
Пример заполнения:
Сотрудник: Иванов И.И.
Территория: Смена 2
Период: с 16.09 по 20.09
Перемещение между территориями является для ЗУП командой разбить период оплаты. Оклад будет посчитан отдельно за время работы на "обычной" территории и отдельно за время на "Смене 2". Соответственно, база для премии будет разделена, и вы сможете применить разные проценты к разным суммам.Если использование "Мест работы" или "Территорий" кажется избыточным, можно воспользоваться самым стандартным документом — Кадровый перевод или Изменение плановых начислений.
Этот способ подходит, если изменение смены влечет за собой не только изменение премии, но и изменение Графика работы.
Разберем этот процесс:
ПроцентЕжемесячнойПремии. В настройках показателя укажите, что он назначается для сотрудника и является постоянным (используется во всех месяцах после ввода).
РасчетнаяБаза * ПроцентЕжемесячнойПремии / 100
Кадровый перевод.
ПроцентЕжемесячнойПремии на 19%.Кадровый перевод с 21.09, возвращающий процент 10%.Важный нюанс: 1С:ЗУП 3.1 автоматически отслеживает изменение плановых начислений внутри месяца. Если с 1 по 15 число действовал процент 10, а с 16 по 30 — 19, программа при начислении зарплаты создаст две строки для премии:
Это полностью решает задачу автора вопроса без написания программного кода.
Попытка реализовать сложную логику расчета "одной строкой" или через табель с пользовательскими видами времени (как предлагалось в некоторых обсуждениях) может привести к ошибкам и усложнению поддержки системы.
Мы рекомендуем использовать механизм дробления периодов, который заложен в архитектуру ЗУП 3.1. Для этого:
Любой из этих документов "заставит" программу разбить расчетную базу (оклад) на части, соответствующие периодам действия условий, что позволит корректно начислить премию с разными процентами внутри одного месяца.