Как в 1С:УПП 1.3 и ЗУП 2.5 настроить расчет оплаты праздничных и выходных дней с учетом всех надбавок и доплат

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

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

Правовое основание: почему нельзя использовать только оклад

Прежде чем переходить к техническим настройкам, проанализируем юридическую сторону вопроса. Долгое время в практике делового оборота считалось нормальным оплачивать выходные в двойном размере только от оклада. Однако Постановление Конституционного Суда РФ от 28.06.2018 № 26-П коренным образом изменило ситуацию. Суд постановил, что при оплате труда в выходные и нерабочие праздничные дни должны учитываться все компенсационные и стимулирующие выплаты, предусмотренные системой оплаты труда.

К таким выплатам относятся:

  1. Надбавки за вредность (по результатам спецоценки условий труда).
  2. Доплаты за совмещение должностей.
  3. Надбавки за стаж или профессиональное мастерство.
  4. Региональные коэффициенты (хотя они обычно и так начисляются на общую сумму).

С 1 сентября 2024 года эти положения официально закреплены в статье 153 Трудового кодекса РФ. Это означает, что игнорирование доплат при расчете праздничных теперь является прямым нарушением трудового законодательства.

Анализ технических ограничений УПП 1.3 и ЗУП 2.5

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

Проанализируем вид расчета Оплата праздничных и выходных дней. Если мы откроем его настройки, то увидим, что у него установлен предопределенный способ расчета. В отличие от других начислений, у него нет вкладки «Прочее», где можно было бы указать РасчетнаяБаза. Алгоритм вычисления стоимости часа «зашит» в программном коде конфигурации.

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

Вариант 1: Настройка «обратного» расчета (через базу надбавок)

Рассмотрим самый простой способ, который не требует вмешательства программиста. Если мы не можем заставить «Праздничные» видеть «Надбавки», мы можем сделать наоборот: включить «Оплату праздничных» в расчетную базу каждой конкретной надбавки.

Пошаговый алгоритм:

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

Результат: При расчете зарплаты программа сначала вычислит оплату праздничных от оклада, а затем начислит процент надбавки (например, 4% за вредность) не только на основной оклад, но и на сумму праздничных. Математически итоговая сумма будет верной (сумма слагаемых не меняется), но в расчетном листке праздничные все равно будут фигурировать как расчет от оклада, а надбавки — как отдельные строки. Это может вызвать вопросы у проверяющих органов, если они требуют видеть именно «повышенную стоимость часа».

Вариант 2: Программная доработка (изменение стоимости часа)

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

Основная логика получения тарифных ставок в УПП 1.3 сосредоточена в общем модуле ПроцедурыУправленияПерсоналом (или аналогичных модулях расчета, в зависимости от релиза). Система использует запрос к плановым начислениям.

Для реализации полноценного учета всех надбавок программисту необходимо выполнить следующие действия:

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

// Пример изменения логики сбора базы для стоимости часа
Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	ПлановыеНачисления.Показатель1 КАК СуммаОклада,
    |	ЕСТЬNULL(Доплаты.Сумма, 0) КАК СуммаДоплат
    |ИЗ
    |	РегистрСведений.ПлановыеНачисления.СрезПоследних(&ДатаРасчета, Сотрудник = &Сотрудник) КАК ПлановыеНачисления
    |	ЛЕВОЕ СОЕДИНЕНИЕ (
    |		ВЫБРАТЬ Сотрудник, СУММА(Показатель1) КАК Сумма 
    |		ИЗ РегистрСведений.ПлановыеНачисления.СрезПоследних(&ДатаРасчета, Сотрудник = &Сотрудник И ВидРасчета В (&СписокДоплат))
    |		СГРУППИРОВАТЬ ПО Сотрудник
    |	) КАК Доплаты ПО ПлановыеНачисления.Сотрудник = Доплаты.Сотрудник";

После получения суммарной ставки программа должна использовать её для деления на НормаВремени. Это обеспечит корректный расчет в типовых документах.

Вариант 3: Использование произвольных формул (пользовательский вид расчета)

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

Проанализируем настройки такого начисления:

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

Рекомендация по переходу на ЗУП 3.1

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

Система автоматически:

  1. Суммирует эти показатели при определении стоимости часа/дня.
  2. Использует полученную сумму для расчета оплаты праздничных, выходных, сверхурочных и ночных.
  3. Автоматически пересчитывает стоимость часа при изменении любой из надбавок.

Поскольку штатного обмена между ЗУП 3.1 и УПП 1.3 «из коробки» для трансляции детальных данных расчета нет, при переходе потребуется настройка интеграции (например, через механизмы EnterpriseData или правила обмена КЦ 2.0) для передачи проводок в учетную систему УПП.

Заключение

Резюмируя вышесказанное, отметим, что в УПП 1.3 и ЗУП 2.5 проблема не решается простым изменением настроек в интерфейсе. Рассмотрим краткие итоги для выбора пути решения:

← На главную