В практике кадрового учета часто возникают задачи, когда необходимо начислять сотрудникам надбавки или премии, размер которых напрямую зависит от продолжительности их работы в определенной должности или подразделении. В программе 1С:Зарплата и управление персоналом 3.1 (ЗУП) наиболее логичным инструментом для этого является механизм стажей. Однако при использовании этого функционала возникает побочный эффект: технические виды стажа, созданные исключительно для расчетов, начинают отображаться в регламентированных кадровых формах, таких как Т-2. Рассмотрим подробно, как реализовать автоматический расчет и при этом сохранить чистоту кадровой отчетности.
Представим ситуацию: в компании введена сложная система премирования. Например, в первый месяц работы сотрудник получает 2% от продаж, со второго по пятый месяц — 5%, а с пятого месяца — 10%. При этом расчет должен автоматически корректироваться при смене должности. Постоянно отслеживать такие изменения вручную через Кадровый перевод или Изменение оплаты труда — трудозатратно и чревато ошибками. Использование показателя «Процент премии» в документе Данные для расчета зарплаты также не всегда удобно, если дата перехода на новую ступень процента не совпадает с первым числом месяца.
Наиболее эффективным решением является создание нового Вида стажа с категорией Прочее. Это позволяет настроить шкалу зависимости процента от стажа непосредственно в формуле начисления. Проанализируем, как настроить расчет и решить проблему с лишними данными в печатных формах.
Для начала нам необходимо создать новый вид стажа. Перейдем в раздел Настройки — Виды стажа. Создадим новый элемент, назовем его, например, «Стаж для внутренней премии». В поле Категория стажа укажем Прочее.
После создания стажа перейдем к настройке самого начисления (раздел Настройки — Начисления). В формуле начисления мы можем использовать функцию СтажЗависитОтСтажа или настроить зависимость через шкалу. Разберем пример формулы:
Результат = ПроцентОтПродаж * ПродажиОтдела
Где ПроцентОтПродаж — это показатель, который мы свяжем со шкалой стажа. В настройках показателя укажем, что он зависит от стажа «Стаж для внутренней премии». Программа сама будет определять актуальный процент на дату расчета, исходя из данных в карточке сотрудника.
Главная проблема, с которой сталкиваются пользователи, — это появление «Стажа для внутренней премии» во втором разделе личной карточки Т-2. Если мы хотим оставить конфигурацию на поддержке, но при этом скрыть этот стаж, нам потребуется использование механизма расширений для корректировки запроса в общем модуле.
Проанализируем ситуацию: формирование данных для Т-2 происходит в общем модуле КадровыйУчетРасширенный. Нам необходимо найти функцию ДополнительныеСведенияУнифицированнойФормыТ2. Именно здесь формируется запрос к виртуальной таблице стажей физических лиц. Чтобы скрыть внутренние стажи, мы можем добавить условие фильтрации по категории Прочее.
Рассмотрим пример кода, который можно внедрить через расширение (метод &Вместо или &ИзменениеИОтработка):
Запрос.Текст =
"ВЫБРАТЬ
| *
|ИЗ
| ВТСтажиФизическихЛиц
|ГДЕ
| ВидСтажа.КатегорияСтажа <> ЗНАЧЕНИЕ(Перечисление.КатегорииСтажа.Прочее)
|УПОРЯДОЧИТЬ ПО
| ФизическоеЛицо,
| ВидСтажа.Код";
В данном примере мы добавили условие ВидСтажа.КатегорияСтажа <> ЗНАЧЕНИЕ(Перечисление.КатегорииСтажа.Прочее). Теперь все стажи, которым присвоена категория Прочее, будут игнорироваться при заполнении печатной формы Т-2, но при этом останутся доступными для подсистемы расчета зарплаты.
Если вы не хотите вносить изменения в программный код модулей, существует более «мягкий» способ — использование Внешней печатной формы. Выясним преимущества этого метода:
Для реализации этого метода необходимо выгрузить макет типовой формы Т-2 из конфигуратора, создать на его основе внешнюю обработку и в модуле объекта этой обработки отредактировать запрос к данным, аналогично тому, как мы рассматривали в предыдущем шаге. После этого форма подключается через раздел Администрирование — Печатные формы, отчеты и обработки.
Поскольку рассматриваемая ситуация касается версии ЗУП КОРП, мы можем проанализировать еще один встроенный механизм — Грейдирование. В КОРП-версии реализована возможность автоматического контроля изменения оплаты труда в зависимости от стажа в позиции или квалификации. Это более сложный, но «прозрачный» с точки зрения методологии 1С путь.
Однако, как показывает практика, для простых расчетов процентов метод с созданием отдельного вида стажа категории Прочее является наиболее быстрым в настройке. Главное — помнить, что при кадровом переводе (если стаж должен обнулиться) дату начала стажа в карточке сотрудника придется обновить вручную или через документ Изменение стажей.
Подведем итоги. Чтобы эффективно использовать внутренний стаж для расчетов в 1С:ЗУП 3.1:
Прочее.Используя данные методы, мы обеспечиваем автоматизацию сложных расчетов премий и при этом сохраняем корректность ведения кадрового делопроизводства.