Как настроить расчет вознаграждения за выслугу лет в 1С:УПП 1.3 за неполный месяц?

Программист 1С v8.3 (Обычные формы) Бухгалтерский учет Промышленность, строительство и АПК
← На главную

В конфигурации 1С:Управление производственным предприятием 1.3 (и аналогичной по расчетному движку 1С:ЗУП 2.5) пользователи часто сталкиваются с особенностью расчета надбавок, зависящих от стажа. Проблема заключается в том, что если право на выплату (или на повышение процента) возникает у сотрудника в середине месяца, программа может проигнорировать этот факт и начать расчет только с первого числа следующего месяца. Рассмотрим, почему это происходит и как решить проблему без привлечения программистов для правки кода.

Анализ проблемы: почему 1С «пропускает» первый месяц

Разберем стандартную ситуацию. Сотрудник принят на работу 10 марта 2017 года. Программой предусмотрено начисление Вознаграждение за выслугу лет, которое начинает выплачиваться при достижении стажа 12 месяцев. Логично ожидать, что 10 марта 2018 года у сотрудника возникнет право на эту надбавку, и за период с 10 по 31 марта он должен получить выплату пропорционально отработанному времени. Однако при заполнении документа Начисление зарплаты сотрудникам организаций в марте 2018 года это начисление вообще не появляется в списке.

Выясним причину такого поведения системы. В типовом алгоритме расчетный механизм проверяет право сотрудника на надбавку на первое число расчетного месяца. Если на 1 марта стаж сотрудника составляет 11 месяцев и 20 дней, а шкала начислений начинается с 12 месяцев, система считает, что в данном месяце сотрудник еще не имеет права на это начисление. Программа просто не «видит» точку перехода внутри периода, так как для нее сотрудник еще не входит в целевую группу получателей выплаты.

Решение проблемы через корректировку шкалы процентов

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

Рассмотрим пошагово настройку шкалы в справочнике Виды начислений:

  1. Откроем настройку начисления Вознаграждение за выслугу лет.
  2. Перейдем на вкладку, где задается шкала зависимости процента от стажа.
  3. Добавим новую строку в самое начало таблицы.
  4. Установим диапазон стажа от 0 до 12 месяцев и укажите процент, равный 0.

Теперь наша шкала будет выглядеть примерно так:


От 0 до 12 месяцев — 0%
От 12 до 36 месяцев — 5%
От 36 до 60 месяцев — 10%
... и так далее.

Почему это работает? Когда в шкале есть строка с 0%, сотрудник считается имеющим право на начисление с первого дня работы. В момент достижения 12 месяцев стажа (например, 10 марта) система фиксирует «событие» — изменение процента внутри расчетного периода. В этом случае механизм 1С автоматически разбивает запись в документе начисления на два периода: с 1 по 9 марта (0%) и с 10 по 31 марта (установленный процент). В результате сотрудник получит корректную сумму за фактические дни наличия права на выплату.

Проверка настроек трудовой деятельности

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

  1. В карточке физического лица перейдем по ссылке Трудовая деятельность.
  2. Найдем раздел Стажи общего характера.
  3. Убедимся, что Вид стажа совпадает с тем, который указан в настройках начисления Вознаграждение за выслугу лет.
  4. Проверим поле Дата отсчета стажа. Если сотрудник не имел стажа до приема в организацию, здесь должна стоять дата приема на работу. Если же стаж накоплен ранее, необходимо указать дату начала отсчета и количество лет/месяцев/дней стажа на эту дату.

Проанализируем ситуацию, если стаж на дату отсчета введен некорректно. Если вы укажете ДатаОтсчетаСтажа как 10.03.2017, но в колонках лет и месяцев оставите пустоту, то на 01.03.2018 система вычислит стаж как разность дат, что даст неполные 12 месяцев. Именно поэтому важно наличие «нулевой» строки в шкале, чтобы система «подцепила» сотрудника в расчет заранее.

Как работает РасчетнаяБаза при разделении периодов

Разберем, как программа рассчитает сумму, если надбавка установлена процентом от базы (например, от оклада). При использовании метода с «нулевой» строкой в шкале, в документе Начисление зарплаты возникнет две строки. Система будет определять РасчетнаяБаза для каждой строки отдельно.

Например, если оклад сотрудника составляет 30 000 рублей:

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

Альтернативные варианты и их недостатки

Рассмотрим другие варианты, которые иногда предлагают на форумах, и выясним, почему они могут быть менее удобными:

  1. Ручная корректировка даты отсчета: Можно сдвинуть дату отсчета стажа на 1-е число месяца (например, на 01.03.2017 вместо 10.03.2017). В этом случае в марте 2018 года на 1-е число у сотрудника уже будет полный год стажа, и программа начислит надбавку за весь месяц. Однако это будет юридически неверно, так как вы переплатите сотруднику за те 9 дней, когда права на выслугу у него еще не было.
  2. Использование произвольных формул: Можно попытаться написать формулу через ОценитьСтажВМесяцах, но в УПП 1.3 возможности редактора формул ограничены. Большинство стандартных функций по расчету стажа все равно ориентированы на начало месяца или на весь период в целом, что не решает задачу разбиения без правки кода.

Резюме

Подводя итог, можно сказать, что наиболее «малокровным» и правильным с точки зрения методологии 1С способом является дополнение шкалы процентов. Это позволяет:

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

← На главную