В практике кадрового учета и расчета заработной платы в 1С:Зарплата и управление персоналом 3.1 (ЗУП) периодически возникают ситуации, когда бухгалтеру-расчетчику требуется провести отпуск таким образом, чтобы праздничные дни не продлевали его период, а включались в него. Согласно статье 120 ТК РФ, нерабочие праздничные дни, приходящиеся на период ежегодного основного или ежегодного дополнительного оплачиваемого отпуска, в число календарных дней отпуска не включаются и не оплачиваются. Однако для специфических случаев или по требованию руководства пользователи ищут способы обойти это правило в программе.
Разберем подробно, почему программа ведет себя именно так, какие существуют технические способы решения задачи и чем это грозит организации с точки зрения законодательства.
В 1С:ЗУП 3.1 алгоритм расчета отпуска жестко привязан к Производственному календарю. Когда мы создаем документ Отпуск, программа обращается к справочнику Производственные календари. Если на выбранный период приходятся дни, отмеченные как «Праздник» (например, с 1 по 8 января), система автоматически исключает их из количества дней отпуска и переносит дату окончания на соответствующее число дней вперед.
Проанализируем ситуацию: если сотрудник берет отпуск на 18 дней с 23 декабря, программа «видит» праздничные дни января и отодвигает дату выхода на работу. Чтобы изменить это поведение, нам придется либо вмешаться в настройки календаря, либо изменить логику самого начисления.
Этот метод считается наиболее точным с технической точки зрения, если нужно решить задачу для конкретного сотрудника, не затрагивая расчеты по всей организации. Рассмотрим пошагово, как это реализовать:
Кадровый перевод или Изменение графика работы списком на период отпуска.После этих манипуляций при создании документа Отпуск программа будет ориентироваться на индивидуальные настройки времени сотрудника и перестанет «выбрасывать» праздники из расчета.
Посмотрим на пример, предложенный в обсуждении: использование отпуска, который считается в рабочих днях. Это актуально для определенных категорий работников (например, сезонных, согласно ст. 291 ТК РФ).
Выясним причину, почему это может помочь: отпуска в рабочих днях рассчитываются по календарю шестидневной рабочей недели. Праздничные дни в этом случае также могут игнорироваться в зависимости от настроек. Разберем настройку:
Важное предупреждение: при использовании такого вида отпуска расчет Среднего заработка будет производиться по формуле: Сумма начислений / (Количество рабочих дней по календарю 6-дневной недели). Это существенно отличается от стандартного коэффициента 29.3 и может привести к недоплате или переплате сотруднику, что повлечет претензии со стороны трудовой инспекции.
Если ситуация разовая, проанализируем самый безопасный путь — разделение отпуска на части. Это позволит соблюсти требования ТК РФ и при этом получить нужные даты в приказе.
Рассмотрим порядок действий:
Отпуск на период с 23.12 по 31.12.Отпуск на период с 09.01 (или следующего рабочего дня) на оставшееся количество дней.Такой подход исключает споры о том, почему праздничные дни были «поглощены» отпуском, так как праздники просто остаются днями отдыха между двумя частями отпуска.
Проанализируем правовую сторону вопроса, упомянутую в сообщениях форума. Существует мнение, что Конвенция МОТ №132 позволяет иначе трактовать праздничные дни. Однако в Российской Федерации нормы ТК РФ являются приоритетными в вопросах оформления ежедневной деятельности.
Согласно ст. 120 ТК РФ, праздники не могут быть включены в ежегодный оплачиваемый отпуск. Если работодатель нарушит это правило, возможны следующие последствия:
Если вы являетесь разработчиком и вам необходимо программно понять, как система определяет количество дней, обратите внимание на функцию расчета остатков отпусков. В типовых конфигурациях за это отвечают модули, работающие с функциями типа ОстаткиОтпусков.ОпределитьКоличествоДнейОтпуска.
Пример логики, которую использует система (упрощенно):
Функция РассчитатьДниБезПраздников(ДатаНачала, ДатаОкончания, Календарь)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КОЛИЧЕСТВО(ДанныеКалендаря.Дата) КАК ЧислоДней
|ИЗ
| РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеКалендаря
|ГДЕ
| ДанныеКалендаря.ПроизводственныйКалендарь = &Календарь
| И ДанныеКалендаря.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
| И ДанныеКалендаря.ВидДня <> ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Праздник)";
// ... установка параметров и выполнение
КонецФункции
Как мы видим, система напрямую фильтрует записи по полю ВидДня, исключая Перечисление.ВидыДнейПроизводственногоКалендаря.Праздник. Именно поэтому изменение производственного календаря (Способ 1) является самым действенным техническим методом «обмана» системы.
Подводя итоги, отметим: если расчетчики настаивают на проведении 18 дней отпуска, которые включают в себя праздники, они фактически заставляют сотрудника тратить дни своего законного отпуска на те даты, когда он и так должен отдыхать.
Если вы все же решили реализовать это в 1С:ЗУП 3.1, мы рекомендуем использовать метод индивидуального графика. Это наиболее прозрачный путь, который позволит сохранить корректность среднего заработка и не испортит отчетность по остальным сотрудникам организации. Однако всегда помните о статье 120 ТК РФ и предупреждайте руководство о возможных штрафных санкциях.