Каждый бухгалтер и кадровик, работающий в программе 1С:Зарплата и управление персоналом 3.1, рано или поздно сталкивается с оформлением декретных отпусков. Казалось бы, процедура стандартная, но на практике пользователи часто обнаруживают неприятный сюрприз: в отчете «Справка об остатках отпусков» у сотрудницы, находящейся в отпуске по уходу за ребенком до 3 лет, продолжают накапливаться дни ежегодного оплачиваемого отпуска.
Согласно законодательству РФ, период нахождения в отпуске по уходу за ребенком не включается в стаж работы, дающий право на ежегодный основной оплачиваемый отпуск. Следовательно, рабочий год сотрудницы должен «замораживаться» (сдвигаться) на количество дней декрета. В этой статье мы подробно разберем, почему программа начинает ошибочно начислять дни отпуска, как устроен механизм расчета «изнутри» и как исправить эту ошибку пошагово.
Для того чтобы понять природу ошибки, проанализируем, как программа рассчитывает остатки отпусков. В старых версиях программы (например, в 1С:ЗУП 2.5) остатки хранились в виде готовых рассчитанных значений в специальных регистрах. Начиная с версии 3.1, разработчики внедрили совершенно другой алгоритм — динамический расчет остатков «на лету».
Каждый раз, когда мы формируем отчет или открываем карточку сотрудника, программа обращается к базе данных и выполняет расчет с использованием информации из нескольких ключевых регистров:
Положенные виды ежегодных отпусков. Здесь программа проверяет, сколько дней отпуска (например, 28 календарных дней) положено сотруднику в год.Начальные остатки отпусков.Состояния сотрудников и Данные состояний сотрудников.Если в этих регистрах происходит сбой или наложение периодов, динамический механизм расчета «теряет» информацию о том, что сотрудник находится в декрете, и возобновляет стандартное начисление дней отпуска.
Основная и самая распространенная причина сбоя — это оформление двух последовательных документов Отпуск по уходу за ребенком.
С точки зрения Трудового кодекса РФ (ст. 256 ТК РФ), не существует двух разных отпусков — «до 1.5 лет» и «от 1.5 до 3 лет». Существует один неделимый отпуск по уходу за ребенком до достижения им возраста трех лет. Различаются лишь периоды выплаты пособий (до 1.5 лет выплачивается страховое пособие, далее — отпуск продолжается без него либо с иными выплатами).
Когда расчетчик создает в программе сначала один документ Отпуск по уходу за ребенком (до достижения 1.5 лет), а затем по истечении этого срока создает второй аналогичный документ (от 1.5 до 3 лет), в системе происходит следующее:
Состояния сотрудников перезаписывается некорректно.Ситуация усложняется, если база данных была перенесена из версии 2.5 или создана путем ручного ввода остатков на дату начала эксплуатации (например, через документы Ввод остатков отпусков или Начальная штатная расстановка).
Рассмотрим ситуацию: сотрудница ушла в декрет еще в старой базе (например, в 2017 году), а учет в новой программе начался с 01.01.2019. На момент переноса она уже находилась в отпуске по уходу.
В документе ввода остатков отпусков по такой сотруднице обязательно должна быть заполнена колонка «Дней отсутствия» в табличной части «Права на отпуска». В этом поле программа должна четко видеть количество календарных дней отпуска по уходу за ребенком, которые сотрудница уже использовала до даты переноса данных. Если оставить это поле пустым, программа не сможет правильно определить исторический сдвиг рабочего года, даже если в системе будет проведен документ декрета.
Чтобы избежать подобных ошибок в будущем, придерживайтесь следующих правил работы в 1С:ЗУП 3.1:
Отпуск по уходу за ребенком всегда создавайте сразу до даты достижения ребенком 3 лет. При этом на вкладке «Пособия» укажите флаг «Выплачивать по...» и введите дату достижения 1.5 лет. Программа сама прекратит начисление пособия в нужный день, но состояние сотрудника («В отпуске по уходу за ребенком») останется активным до конца трехлетнего периода, и рабочий год будет сдвигаться корректно.Изменение условий оплаты отпуска по уходу за ребенком. Возврат из отпуска в этом случае делать не нужно.Возврат из отпуска по уходу. Именно он прекращает действие декретного состояния и возобновляет стандартный расчет стажа.Выясним причину на конкретном примере из темы форума. У сотрудницы оформлено два документа отпуска по уходу (от 18.09.2017 и от 26.01.2019), введены начальные остатки на 01.01.2019, а возврат на работу зафиксирован с 11.02.2019. С 26.01.2019 по 10.02.2019 программа ошибочно начисляет дни отпуска.
Разберем по шагам, как исправить эту ситуацию в базе данных (все действия рекомендуется выполнять сначала на копии базы данных):
Возврат из отпуска по уходу (от 11.02.2019).Отпуск по уходу за ребенком от 26.01.2019.Отпуск по уходу за ребенком от 18.09.2017.Начальная штатная расстановка, если остатки вводились им) на дату 01.01.2019.Возврат из отпуска по уходу с датой возврата 11.02.2019. Это зафиксирует окончание декрета и возобновит стандартный учет рабочего стажа для отпуска.Соблюдение этих простых методологических правил позволит вам избежать путаницы в учете кадров и избавит от необходимости вручную корректировать остатки отпусков при увольнении или отправке сотрудников в ежегодные отпуска.