В процессе кадрового учета на производственных предприятиях пользователи часто сталкиваются с важной методологической проблемой: программа 1С:Управление производственным предприятием (УПП) ред. 1.3 некорректно рассчитывает остатки дополнительных отпусков (например, за вредные или опасные условия труда). В типовом отчете «Остатки отпусков» дни дополнительного отпуска продолжают накапливаться даже в те периоды, когда сотрудник болел, находился в отпуске без сохранения заработной платы или отсутствовал по другим причинам.
В этой статье мы подробно разберем законодательную базу данного вопроса, выясним причины ограничений в логике работы «1С:УПП 1.3» и рассмотрим практические варианты решения этой проблемы — от ручных корректировок до программной доработки.
Давайте проанализируем требования законодательства РФ. Согласно части 3 статьи 121 Трудового кодекса РФ, в стаж работы, дающий право на ежегодные дополнительные оплачиваемые отпуска за работу с вредными и (или) опасными условиями труда, включается только фактически отработанное в соответствующих условиях время.
Это означает, что любые периоды, когда сотрудник фактически не выполнял свои трудовые обязанности во вредных условиях (даже если за ним по закону сохранялось рабочее место и средний заработок), должны исключаться из расчета стажа для дополнительного отпуска. К таким исключаемым периодам относятся:
Расчет стажа для таких отпусков производится пропорционально фактически отработанному времени. Если сотрудник отработал во вредных условиях неполный рабочий год (например, часто болел), то и количество причитающихся ему дней дополнительного отпуска должно быть пропорционально уменьшено.
Выясним причину, почему в типовой конфигурации «1С:УПП 1.3» (а также в «1С:ЗУП 2.5», на кадровом ядре которой построена УПП) автоматический расчет остатков дополнительного отпуска игнорирует невыходы сотрудника.
Дело в том, что в кадровом учете УПП 1.3 применяется упрощенный алгоритм расчета. Дополнительные отпуска жестко привязаны к рабочему году сотрудника точно так же, как и основной ежегодный отпуск. Программа начисляет право на доп. отпуск фиксированно за календарный рабочий год, не сопоставляя эти данные с фактически отработанным временем по табелю.
Иногда пользователи пытаются найти решение в справочнике Виды ежегодных отпусков, надеясь обнаружить там табличную часть со списком исключаемых состояний (например, как это сделано для стажа на обычный отпуск при превышении лимита дней за свой счет). Однако для дополнительных отпусков за вредность в архитектуре УПП 1.3 такого функционала просто нет. Система технически не умеет уменьшать стаж «вредности» пропорционально дням болезни или отпусков без сохранения оплаты.
Прежде чем перейти к исправлению ситуации в УПП, посмотрим, как разработчики фирмы «1С» реализовали требования статьи 121 ТК РФ в современных программных продуктах на управляемых формах (например, в «1С:Зарплата и управление персоналом 3.1» и «1С:ERP Управление предприятием»):
Виды отпусков для настройки конкретного дополнительного отпуска за вредность предусмотрен специальный флаг «Предоставляется за фактически отработанное время».К сожалению, перенести этот функционал в УПП 1.3 простым обновлением невозможно из-за принципиальных различий в архитектуре учета времени.
Если ваша организация продолжает вести кадровый и расчетный учет в УПП 1.3, рассмотрим три возможных сценария решения этой проблемы.
Данный вариант подходит для небольших предприятий с малым количеством сотрудников, имеющих право на дополнительный отпуск.
Пошаговый алгоритм действий для кадровой службы:
(ОтработанныеДни / ГодоваяНорма) * ОбщееКоличествоДнейОтпускаЗаГод.Минус метода: огромная трудоемкость и высокая вероятность возникновения человеческого фактора (ошибок при ручном счете).
Если на вашем предприятии работает большое количество «вредников», ручной учет невозможен. В этом случае требуется привлечение программиста 1С для доработки системы. Рассмотрим техническую суть доработки.
Для автоматизации расчета необходимо создать внешнюю обработку или расширение (если это позволяет ваша версия платформы), которая будет выполнять следующие действия:
ОсновныеНачисленияРаботниковОрганизаций или данные регистра накопления РабочееВремяРаботниковОрганизаций для определения фактически отработанных дней.ФактическиеОтпускаОрганизаций (или создавать документы корректировки остатков отпусков).Примерная схема запроса для получения дней болезни и отпусков за свой счет по сотруднику для последующего исключения из стажа:
ВЫБРАТЬ
ОсновныеНачисления.Сотрудник КАК Сотрудник,
СУММА(ОсновныеНачисления.ОплаченоДнейЧасов) КАК ДниНевыхода
ИЗ
РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисления
ГДЕ
ОсновныеНачисления.ВидРасчета.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуБЛ), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.БезОплаты))
И ОсновныеНачисления.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода
ГРУППИРОВАТЬ ПО
ОсновныеНачисления.Sотрудник
На основе полученных данных программно уменьшается количество положенных дней в регистре сведений ДатыПриемаВоВредныеУсловия либо корректируются остатки напрямую.
Наиболее стратегически верным решением является вынос кадрового учета и расчета заработной платы из устаревшей системы УПП 1.3 в современную конфигурацию «1С:Зарплата и управление персоналом 3.1». При этом саму УПП можно продолжать использовать для ведения производственного и складского учета, настроив регулярную синхронизацию данных для передачи проводок по оплате труда.
Этот шаг полностью решит проблему с расчетом любых видов сложных отпусков (в том числе за вредность) без необходимости дорогостоящей поддержки нетипового кода в УПП.