При расчете заработной платы в конфигурациях на базе старой платформы, таких как 1С:Управление производственным предприятием 1.3 или 1С:Зарплата и Управление Персоналом 2.5, бухгалтеры и расчетчики часто сталкиваются с проблемой: программа рассчитывает оплату праздничных и выходных дней исключительно исходя из «голого» оклада (тарифной ставки). Однако требования законодательства, особенно с учетом последних изменений, диктуют иные правила. Рассмотрим подробно, почему возникает эта проблема и как ее решить технически.
Прежде чем переходить к техническим настройкам, проанализируем юридическую сторону вопроса. Долгое время в практике делового оборота считалось нормальным оплачивать выходные в двойном размере только от оклада. Однако Постановление Конституционного Суда РФ от 28.06.2018 № 26-П коренным образом изменило ситуацию. Суд постановил, что при оплате труда в выходные и нерабочие праздничные дни должны учитываться все компенсационные и стимулирующие выплаты, предусмотренные системой оплаты труда.
К таким выплатам относятся:
С 1 сентября 2024 года эти положения официально закреплены в статье 153 Трудового кодекса РФ. Это означает, что игнорирование доплат при расчете праздничных теперь является прямым нарушением трудового законодательства.
Разберем, почему в пользовательском режиме (через интерфейс) не получается просто добавить нужные начисления в «базу». В современных конфигурациях (ЗУП 3.1) существует понятие СовокупнаяТарифнаяСтавка, где галочками можно выбрать, что входит в стоимость часа. В УПП 1.3 ситуация иная:
Проанализируем вид расчета Оплата праздничных и выходных дней. Если мы откроем его настройки, то увидим, что у него установлен предопределенный способ расчета. В отличие от других начислений, у него нет вкладки «Прочее», где можно было бы указать РасчетнаяБаза. Алгоритм вычисления стоимости часа «зашит» в программном коде конфигурации.
Программа обращается к регистру сведений ПлановыеНачисления, берет основной оклад сотрудника, делит его на норму времени (по производственному календарю или графику) и умножает на количество отработанных часов в праздник. Другие виды начислений, такие как «Доплата за совмещение», программа просто «не видит» в момент выполнения этого конкретного расчета.
Рассмотрим самый простой способ, который не требует вмешательства программиста. Если мы не можем заставить «Праздничные» видеть «Надбавки», мы можем сделать наоборот: включить «Оплату праздничных» в расчетную базу каждой конкретной надбавки.
Пошаговый алгоритм:
ОсновныеНачисленияОрганизаций.РасчетнаяБаза добавим вид расчета Оплата праздничных и выходных дней.Результат: При расчете зарплаты программа сначала вычислит оплату праздничных от оклада, а затем начислит процент надбавки (например, 4% за вредность) не только на основной оклад, но и на сумму праздничных. Математически итоговая сумма будет верной (сумма слагаемых не меняется), но в расчетном листке праздничные все равно будут фигурировать как расчет от оклада, а надбавки — как отдельные строки. Это может вызвать вопросы у проверяющих органов, если они требуют видеть именно «повышенную стоимость часа».
Если требуется, чтобы именно документ Оплата праздничных и выходных дней сразу выдавал корректную сумму с учетом доплат, необходимо внести изменения в код. Рассмотрим, где именно производятся расчеты.
Основная логика получения тарифных ставок в УПП 1.3 сосредоточена в общем модуле ПроцедурыУправленияПерсоналом (или аналогичных модулях расчета, в зависимости от релиза). Система использует запрос к плановым начислениям.
Для реализации полноценного учета всех надбавок программисту необходимо выполнить следующие действия:
СтоимостьЧаса.Ссылок).
// Пример изменения логики сбора базы для стоимости часа
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПлановыеНачисления.Показатель1 КАК СуммаОклада,
| ЕСТЬNULL(Доплаты.Сумма, 0) КАК СуммаДоплат
|ИЗ
| РегистрСведений.ПлановыеНачисления.СрезПоследних(&ДатаРасчета, Сотрудник = &Сотрудник) КАК ПлановыеНачисления
| ЛЕВОЕ СОЕДИНЕНИЕ (
| ВЫБРАТЬ Сотрудник, СУММА(Показатель1) КАК Сумма
| ИЗ РегистрСведений.ПлановыеНачисления.СрезПоследних(&ДатаРасчета, Сотрудник = &Сотрудник И ВидРасчета В (&СписокДоплат))
| СГРУППИРОВАТЬ ПО Сотрудник
| ) КАК Доплаты ПО ПлановыеНачисления.Сотрудник = Доплаты.Сотрудник";
После получения суммарной ставки программа должна использовать её для деления на НормаВремени. Это обеспечит корректный расчет в типовых документах.
Разберем ситуацию, когда мы не хотим менять типовой код, но способ с «базой надбавок» нам не подходит. В этом случае мы можем создать новый вид расчета Оплата праздничных (кастомная).
Проанализируем настройки такого начисления:
(Оклад + ДоплатаЗаСовмещение + НадбавкаЗаВредность) / НормаВремени * ВремяВЧасах * 2.Однако здесь есть серьезный минус: типовой документ Оплата праздничных и выходных дней не умеет работать с произвольными формулами. Вам придется либо вводить данные вручную через Ввод расчетов сотрудникам, либо дорабатывать документ заполнения, чтобы он подтягивал нужный вид расчета.
Выясним, как эта задача решается в современном программном продукте. В 1С:Зарплата и управление персоналом 3.1 разработчики полностью пересмотрели этот механизм. В настройках состава совокупной тарифной ставки (Раздел Настройка — Расчет зарплаты — Показатели, определяющие состав совокупной тарифной ставки) мы просто выбираем нужные показатели (например, Надбавка за вредность, Доплата за мастерство).
Система автоматически:
Поскольку штатного обмена между ЗУП 3.1 и УПП 1.3 «из коробки» для трансляции детальных данных расчета нет, при переходе потребуется настройка интеграции (например, через механизмы EnterpriseData или правила обмена КЦ 2.0) для передачи проводок в учетную систему УПП.
Резюмируя вышесказанное, отметим, что в УПП 1.3 и ЗУП 2.5 проблема не решается простым изменением настроек в интерфейсе. Рассмотрим краткие итоги для выбора пути решения:
СовокупнаяТарифнаяСтавка, полностью соответствующий текущим требованиям Трудового кодекса РФ.