В процессе кадрового учета в программе 1С:Зарплата и управление персоналом 3.1 часто возникает специфическая задача: сотрудник был отозван из отпуска, и кадровик хочет предоставить ему компенсационные дни отдыха (отгулы) именно в календарных днях. Основная сложность заключается в том, что типовой функционал документа Отгул в 1С рассчитан на работу с рабочими днями по графику сотрудника. Если период отгула захватывает выходные дни, программа просто игнорирует их, не проставляя в табеле код "НВ" (Дополнительные выходные дни без оплаты), оставляя стандартный код "В".
В этой статье мы подробно разберем, почему типовой механизм ведет себя именно так, проанализируем юридическую сторону вопроса и настроим альтернативный вариант учета, который позволит закрыть потребность кадровой службы.
Для начала проанализируем ситуацию с точки зрения Трудового кодекса РФ. Путаница в терминах часто приводит к техническим ошибкам в программе. Согласно статье 125 ТК РФ, не использованная в связи с отзывом часть отпуска должна быть предоставлена по выбору работника в удобное для него время в течение текущего рабочего года или присоединена к отпуску за следующий рабочий год.
Важно понимать разницу:
Отгул.Если же работодатель и сотрудник договорились, что эти дни не будут оплачиваться (например, отпускные уже были выплачены и не возвращались), использование термина «отгул» в программе становится технически сложным. Рассмотрим, как обойти это ограничение.
Выясним причину, по которой типовой документ Отгул не подходит для учета в календарных днях. В программе реализована строгая логика:
1. Регистры накопления: Право на отгул регистрируется документами Работа в выходные и праздники или Регистрация переработок. Эти данные попадают в регистр Выработка отгулов. При отзыве из отпуска право на отгул в этом регистре не возникает — там увеличивается остаток основного отпуска.
2. Учет времени: Назначение документа Отгул — освободить сотрудника от выполнения обязанностей в его рабочее время. С точки зрения программы, выходной день (суббота или воскресенье) и так является временем отдыха. Поэтому проставлять поверх него код «НВ» (отгул) бессмысленно для расчета зарплаты — оплаты за этот день и так не было бы.
Поскольку дни за отзыв из отпуска — это календарные дни, правильнее всего оформлять их именно как Отпуск. Рассмотрим этот процесс по шагам:
Отзыв из отпуска. После его проведения в системе автоматически пересчитается остаток отпуска сотрудника в регистре Остатки отпусков.Отпуск.Если бухгалтерия настаивает на том, что эти дни не должны оплачиваться повторно, необходимо настроить специальный вид отпуска.
Если нам принципиально нужно, чтобы в табеле выходные дни внутри периода отсутствия заменялись на код отгула (или другой специализированный код), разберем, как создать новое начисление.
Перейдем в меню Настройки — Начисления и создадим новое начисление со следующими параметрами:
Вкладка «Основное»:
Отпуск без оплаты или Прочее отсутствие.По отдельному документу.Отпуск (это позволит программе работать с календарными днями).Вкладка «Учет времени»:
Вкладка «Приоритеты»:
Проверим, чтобы в списке вытесняющих начислений были указаны все виды оклада и другие плановые начисления. Рассмотрим ситуацию: если это «отпуск», то он по умолчанию будет вытеснять рабочее время, но в выходные дни (согласно графику) вытеснять будет нечего, кроме самого кода "В".
Проанализируем ситуацию: почему в 1С:ЗУП 3.1 выходной "В" часто оказывается сильнее, чем "НВ"? Это заложено в ядро системы. Чтобы обойти это, в созданном нами начислении (категория «Отпуск без оплаты») на вкладке «Основное» следует убедиться, что выбран именно «Отпуск». В 1С документ Отпуск обладает уникальным свойством — он «растягивается» на весь период, указанный в документе, независимо от графика сотрудника.
Посмотрим на пример кода, который описывает логику определения периодов в запросах к табелю (условно):
// Логика ЗУП при определении вида времени в табеле
Если ВидВремени.ЭтоОтпуск Тогда
Результат = ПериодСДатыПоДату; // Проставляется на все дни, включая выходные
ИначеЕсли ВидВремени = "Отгул" Тогда
Результат = ПериодСДатыПоДату Пересечение С РабочимиДнямиПоГрафику;
КонецЕсли;
Именно поэтому использование категории Отпуск (пусть и неоплачиваемого) является единственным штатным способом заставить программу видеть выходные дни в периоде отсутствия.
Подведем итоги нашего исследования:
Отгул технически не может предоставляться в календарных днях, так как он завязан на механизм компенсации работы в выходные (рабочее время).Отпуск (вкладка «Дополнительные отпуска»).Таким образом, мы выяснили, что настройка 1С:ЗУП 3.1 под требования кадровика возможна, но требует изменения методологического подхода к оформлению документов. Рекомендуем всегда отдавать приоритет использованию документа Отпуск, так как он изначально спроектирован для работы с календарными периодами.