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