Почему в 1С:ЗУП 3.1 в расчетном листке дни отпуска выводятся некорректно и как это исправить?

Бухгалтер 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом Бухгалтерский учет
← На главную

При работе в программе 1С:Зарплата и управление персоналом (ЗиУП) 3.1 пользователи иногда сталкиваются с ситуацией, когда после очередного обновления расчетные листки начинают формироваться некорректно. Одной из таких ярких проблем стало поведение релиза 3.1.13.146, в котором при оформлении обычного ежегодного отпуска в колонку «Рабочие дни» расчетного листка стали выводиться календарные дни вместо фактически пропущенных рабочих дней по графику сотрудника. Например, если сотрудник берет отпуск на 7 календарных дней (с понедельника по воскресенье), в расчетном листке в поле рабочих дней вместо привычных 5 дней отображалось 7.

В этой статье мы подробно разберем, почему возникает данная проблема, как устроена логика регистров учета времени в 1С, и что необходимо сделать для исправления этой ситуации.

Выясняем причину: почему изменилось поведение программы?

Для того чтобы понять суть проблемы, нам необходимо проанализировать внутренние механизмы проведения документов в 1С:ЗУП. Когда мы проводим документ Отпуск, программа делает записи в несколько ключевых регистров. Одним из важнейших для формирования аналитических отчетов и расчетных листков является регистр накопления ОтработанноеВремяПоСотрудникам.

Давайте разберем структуру движения документа Отпуск по этому регистру:

  1. Ресурс «Оплачено дней» — сюда записывается количество фактически оплачиваемых дней отпуска. Для обычного отпуска это календарные дни (в нашем примере — 7 дней). Здесь расчет производится правильно.
  2. Ресурс «Время (дн.)» (или «Отработано дней») — этот показатель отражает количество рабочих дней по индивидуальному графику сотрудника, которые приходятся на период его отсутствия. При стандартной пятидневке за неделю отпуска сотрудник пропускает именно 5 рабочих дней. Соответственно, программа должна записать в данный ресурс значение 5.

Именно значение из ресурса «Время (дн.)» напрямую транслируется в расчетный листок в колонку «Рабочие дни». Однако в релизе 3.1.13.146 из-за масштабных внутренних доработок механизма учета времени (связанных с экстренным введением поддержки президентских указов об оплачиваемых нерабочих днях «ОН» весной 2020 года) разработчики допустили ошибку. Программа перестала сопоставлять период проведения отпуска с графиком работы сотрудника и начала дублировать календарные дни в поле рабочих дней регистра. В результате в регистр записывалось значение 7, которое затем благополучно перекочевывало в расчетный листок, вызывая панику у расчетчиков и бухгалтеров.

Проверяем наличие проблемы в вашей базе

Чтобы убедиться, что некорректное отображение дней в вашей базе вызвано именно этой программной ошибкой, давайте выполним совместный технический анализ движений документа:

  1. Откройте документ Отпуск, который вызывает у вас сомнения.
  2. Нажмите на панели документа кнопку «Движения документа» (кнопка с изображением двух стрелок или через меню «Еще» — «Движения документа»).
  3. Найдите вкладку, соответствующую регистру накопления Отработанное время по сотрудникам.
  4. Проанализируйте колонки «Оплачено дней» и «Время (дн.)» (или «Отработано дней»). Если у сотрудника установлена стандартная пятидневка, а период отпуска включает выходные дни, но в обеих колонках стоят одинаковые цифры (например, 7 и 7), значит, вы столкнулись именно с этой программной ошибкой.

Обратите внимание, что сам расчет начислений (сумма отпускных) при этом не страдает, так как расчет среднего заработка и суммы отпуска опирается на календарные дни, которые рассчитываются по отдельным формулам и алгоритмам. Проблема носит исключительно визуальный и учетный характер, искажая данные в расчетных листках и табелях.

Как решить проблему и вернуть правильные данные

Поскольку данное поведение является официально зарегистрированной ошибкой релиза 3.1.13.146, фирма «1С» оперативно выпустила исправление. Ошибка была устранена в следующем техническом релизе — 3.1.13.151.

Для исправления ситуации воспользуемся проверенным алгоритмом действий:

Шаг 1. Обновление конфигурации

Прежде всего необходимо обновить вашу информационную базу до релиза 3.1.13.151 или любого более актуального релиза ветки 3.1. Перед выполнением обновления обязательно создайте резервную копию (бэкап) базы данных.

Шаг 2. Перепроведение документов

После успешного обновления конфигурации автоматически данные в регистре не изменятся, так как документы уже были записаны старым кодом. Нам потребуется заставить программу пересчитать движения. Для этого:

  1. Перейдите в раздел Зарплата — Отпуска.
  2. Найдите документы за проблемный период (в частности, оформленные в период работы на релизе 3.1.13.146).
  3. Откройте каждый проблемный документ, нажмите кнопку «Пересчитать документ» (если программа предлагает это сделать), после чего нажмите «Провести и закрыть».
  4. Если таких документов много, можно воспользоваться обработкой группового перепроведения документов (раздел Администрирование — Обслуживание — Групповое изменение реквизитов или встроенными стандартными обработками проведения документов).

Шаг 3. Контрольная проверка результатов

Давайте убедимся, что наши действия привели к желаемому результату. Снова сформируем расчетный листок по сотруднику за тот период, в котором был проведен отпуск. Теперь в строке отпуска в колонке «Рабочие дни» должно отображаться правильное количество пропущенных рабочих дней по графику (например, 5 дней при недельном отпуске), а в колонке оплаченных дней останутся правильные 7 календарных дней. Проблема успешно решена!

← На главную