Переход с устаревшей конфигурации 1С:Зарплата и Управление Персоналом ред. 2.5 на современную версию 3.1 часто сопровождается методологическими сложностями. Одна из наиболее распространенных проблем — расхождение в расчете остатков отпусков сразу после переноса данных. Особенно часто пользователи сталкиваются с ситуацией, когда программа «теряет» ровно 2,33 дня (стандартную норму за один рабочий месяц) за тот месяц, в котором был осуществлен переход.
В этой статье мы подробно разберем, почему возникает эта ошибка, как функционирует современный алгоритм расчета прав на отпуск в 1С:ЗУП 3.1, и рассмотрим практические способы решения этой проблемы, включая успешный опыт пользователей с профессиональных форумов.
Рассмотрим типичную ситуацию. Предприятие принимает решение вести учет в 1С:ЗУП 3.1, начиная с декабря 2017 года. Данные переносятся из версии 2.5. У сотрудника рабочий год длится с 1 января по 31 декабря. По состоянию на 1 декабря 2017 года в базе ЗУП 2.5 числился остаток отпуска в размере 10,67 дней (что соответствует 10 отработанным месяцам: 10 * 2,33 = 23,33 дня минус использованные дни отпуска).
При переносе в документе Ввод начальных остатков отпусков фиксируется запись: остаток 10,67 дней за рабочий год 01.01.2017 – 31.12.2017. Однако в дальнейшем при формировании отчетов в ЗУП 3.1 (например, на 01.01.2018) программа упорно показывает остаток 10,67 дней вместо положенных 13 дней (10,67 + 2,33 дня за отработанный декабрь). Куда исчезают 2,33 дня за декабрь 2017 года и почему программа их игнорирует? Выясним причину этого поведения.
Начиная с версии 3.1.7, разработчики 1С существенно изменили внутренний алгоритм расчета заработанных прав на отпуск. В отличие от версии 2.5, где остаток представлял собой простое числовое значение на конкретную дату, в ЗУП 3.1 система строит динамическую прогнозную цепочку в специализированном регистре сведений ЗаработанныеПраваНаОтпуска.
Программа определяет дату начисления прав на очередные 2,33 дня по следующим правилам:
Когда мы вводим документ начальных остатков с датой 01.12.2017 и указываем остаток 10,67 дней за текущий рабочий год, программа ЗУП 3.1 интерпретирует это так: наступило 1 декабря, и указанные 10,67 дней — это окончательный и зафиксированный остаток, который уже учитывает все нюансы текущего месяца, либо алгоритм считает, что декабрь уже «поглощен» датой ввода остатков. В результате расчетный механизм программы просто не находит оснований для начисления дополнительных 2,33 дней за декабрь, так как считает этот период закрытым ручным вводом.
Проанализируем практическое решение, которое помогло пользователям на практике. Чтобы заставить программу «увидеть» незавершенный декабрь и начислить за него положенные 2,33 дня, необходимо сместить дату фиксации остатков в прошлое.
Разберем этот процесс по шагам:
Что происходит в системе после этого изменения?
Программа фиксирует в регистре сведений ЗаработанныеПраваНаОтпуска начальную точку 10,67 дней на дату 15.11.2017. Поскольку до окончания рабочего года (31.12.2017) остается еще время, встроенный алгоритм «15 дней» успешно срабатывает. Система делает автоматическую запись на 30.11.2017 (или 16.12.2017 в зависимости от конкретных дат начала рабочего года сотрудника) и начисляет недостающие 2,33 дня. В итоге при формировании отчета «Остатки отпусков» на 01.01.2018 мы увидим корректную цифру — 13 дней.
Если фактически учет в новой базе 1С:ЗУП 3.1 начинает полноценно вестись с 1 января 2018 года, а декабрь 2017 года использовался только в качестве технического расчетного месяца для переноса средний заработков, можно применить другой методологический подход.
Рассмотрим этот вариант подробнее:
При таком подходе мы избегаем необходимости заставлять программу производить расчет за переходный месяц. Мы сразу даем системе чистые, выверенные остатки на границе отчетных периодов (на конец года), от которых ЗУП 3.1 начнет безупречно начислять права по 2,33 дня ежемесячно, начиная с января 2018 года.
Бывают ситуации, когда база данных эксплуатируется уже длительное время, за прошедшие периоды сдана отчетность, и прямое редактирование исторических документов ввода начальных остатков крайне нежелательно или заблокировано датой запрета редактирования. В таком случае вносить изменения «задним числом» нельзя.
Для решения проблемы в текущем периоде воспользуемся специальным инструментом:
Этот способ позволяет оперативно исправить сальдо неиспользованных дней отпуска без перепроведения исторических документов и нарушения хронологии расчетов в закрытых периодах.
Чтобы избежать подобных ошибок при переходе на 1С:ЗУП 3.1, рекомендуем придерживаться следующих правил:
ЗаработанныеПраваНаОтпуска. Именно записи в этом регистре определяют, как программа «видит» историю начислений прав сотрудника.Мы надеемся, что приведенные инструкции помогут вам успешно решить проблему с потерей дней отпуска при переходе на новую версию программы и обеспечат точность кадрового учета на вашем предприятии.