В практике работы с программой «1С:Зарплата и управление персоналом 3.1» часто встречается ситуация, когда сотрудница находится в отпуске по уходу за ребенком, и, несмотря на то что в документе Отпуск по уходу за ребенком четко указана дата окончания выплаты (например, день достижения ребенком возраста 1,5 лет), программа продолжает начислять пособие в последующих периодах. Рассмотрим детально, почему это происходит и как правильно исправить данную ошибку, особенно если ваша база данных была перенесена из версии 2.5.
В современных релизах ЗУП 3.1 расчет зарплаты и пособий опирается не только на данные первичных документов, но и на записи в специальных интервальных регистрах. Основным из них является ПлановыеНачисленияИнтервальный. Проанализируем механизм его работы: когда мы создаем «чистый» документ в версии 3.1, система автоматически создает в этом регистре две записи. Первая — разрешающая начисление до даты, указанной в поле «Выплачивать по», вторая — прекращающая начисление (где флаг Используется установлен в значение Ложь) со следующего дня.
Проблема возникает в следующих случаях:
Изменение условий оплаты отпуска по уходу за ребенком, они могли «перекрыть» настройки исходного отпуска, сделав начисление бессрочным до конца всего отпуска (до 3-х лет).Это самый надежный и методически верный способ, который не требует программирования. Если вы обнаружили, что пособие продолжает начисляться лишние дни или месяцы, выполним следующие действия:
Изменение условий оплаты отпуска по уходу за ребенком.Начисление зарплаты и взносов за проблемный месяц.Важно: Проанализируем ситуацию — этот документ принудительно создает в регистре ПлановыеНачисленияИнтервальный запись о прекращении начисления, что гарантирует остановку расчетов.
Если документов по сотрудникам много, и ручное создание изменений условий оплаты трудозатратно, воспользуемся встроенными механизмами проверки программы. Выясним причину расхождений через технологический анализ:
Если проблема вызвана старым переносом данных, попробуем «оживить» документ Отпуск по уходу за ребенком. Рассмотрим алгоритм:
Отпуск по уходу за ребенком.В момент проведения современный релиз ЗУП постарается заново сформировать движения по всем регистрам, включая интервальные. Посмотрим на результат в регистре Плановые начисления. Если после даты окончания выплаты появилась запись с пустым значением или флагом прекращения — проблема решена.
Для программистов и системных администраторов существует возможность точечной правки. Если документ Изменение условий... по каким-то причинам не помогает, проанализируем состояние регистра сведений ПлановыеНачисленияИнтервальный с отбором по конкретному сотруднику.
Разберем, на что обратить внимание:
Дата Окончания. Если там стоит дата окончания всего отпуска (3 года) вместо даты 1,5 лет, значит, регистр заполнен неверно.Используется. Начиная с даты, следующей за окончанием выплаты, этот флаг должен быть снят.Для исправления можно воспользоваться типовой обработкой Корректировка движений, которая позволяет изменять записи регистров, привязанных к документу, без его перепроведения. Это «хирургический» метод, который стоит применять только в крайнем случае, когда перепроведение первичных документов невозможно из-за закрытых периодов.
Как отмечалось в обсуждении, техподдержка часто просит прислать пример на демо-базе. Выясним причину: на «чистой» базе документы создаются по актуальным алгоритмам. Если на демо-базе всё работает корректно, это подтверждает гипотезу о том, что проблема кроется в «наследстве» переноса из 2.5 или в поврежденных интервальных записях конкретной информационной базы. В таких случаях единственным выходом является либо использование «костыля» в виде документа Изменение условий оплаты, либо полное пересоздание цепочки документов по отпуску.
Резюме:
Если вы столкнулись с лишним начислением пособия, в первую очередь создайте документ Изменение условий оплаты отпуска по уходу за ребенком с даты окончания выплаты и снимите соответствующую галочку. Это самый быстрый и безопасный способ исправить расчет в текущем периоде.