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

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

В последних релизах программы 1С:Зарплата и управление персоналом 8 (редакция 3.1.31 и 3.1.32) многие пользователи столкнулись с неприятной ситуацией: при заполнении документа Начисление за первую половину месяца программа игнорирует проведенные отпуска сотрудников. В результате сотруднику начисляется полная сумма аванса за рабочие дни, которые он фактически провел в отпуске. Проанализируем, почему это происходит, и разберем пошагово, как восстановить корректный расчет.

Суть проблемы и техническая причина

Рассмотрим типичную ситуацию: сотрудник уходит в учебный или ежегодный основной отпуск, документ оформлен и проведен. Однако при расчете аванса (за первую половину месяца) программа упорно ставит 10 рабочих дней (стандартная норма за две недели при пятидневке), игнорируя период невыхода. Выясним причину: в новых версиях конфигурации был существенно переработан механизм запроса данных о времени из виртуальных таблиц. Если в системе включена многофункциональность (разделение прав кадровика и расчетчика в версии КОРП), документ Начисление за первую половину месяца может «не видеть» документ Отпуск, если он не прошел полный цикл утверждения или если записи в регистрах сведений не обновились корректно.

Способ 1. Проверка статусов утверждения в версии КОРП

Проанализируем настройки документа в версии ЗУП КОРП. В данной редакции часто используется разделение обязанностей. Если документ Отпуск введен кадровиком, но не «доработан» расчетчиком, данные о времени могут не попасть в расчет аванса. Выполним следующие действия:

  1. Откроем документ Отпуск, по которому возникли расхождения в авансе.
  2. Проверим наличие флага Расчет утвердил. В некоторых настройках «Многофункциональности» недостаточно просто провести документ — расчет должен быть подтвержден ответственным лицом.
  3. Обратим внимание на статус Отпуск утвержден. Если в программе настроено обязательное утверждение кадровых приказов, то без этой отметки запись в регистр Состояния сотрудников может не влиять на расчет времени в документе аванса.
  4. Попробуем нажать кнопку Пересчитать сотрудника внутри самого отпуска, даже если расчет кажется верным. Это инициирует обновление вспомогательных данных.

Способ 2. Очистка табелей и перепроведение документов

Иногда причиной ошибки становится наличие документа Табель, созданного до расчета аванса. Рассмотрим, как это влияет на процесс: документ Начисление за первую половину месяца при заполнении приоритетно обращается к фактическим данным о времени. Если Табель был введен ошибочно или содержит неактуальные сведения, аванс рассчитается неверно. Разберем алгоритм исправления:

  1. Найдем и временно пометим на удаление все документы Табель за текущий месяц.
  2. Отменим проведение документа Начисление за первую половину месяца.
  3. Зайдем в документ Отпуск и выполним его перепроведение. Это важно для актуализации регистра Данные о времени для расчета среднего заработка и регистра Состояния сотрудников.
  4. Снова создадим или заполним Начисление за первую половину месяца. Проверим, уменьшилось ли количество рабочих дней.

Способ 3. Установка исправляющих патчей (Исправление ошибки 3.1.32)

Разработчики 1С подтвердили наличие багов в алгоритме вытеснения времени для релизов 3.1.32.17 и 3.1.32.39. Если вышеописанные действия не помогают, скорее всего, вы столкнулись с программной ошибкой запроса к базе данных. Посмотрим, как это лечится технически:

Для ветки 3.1.32 компания 1С выпускает оперативные исправления (патчи). Нам необходимо убедиться, что в базе установлены патчи, касающиеся «Учета времени в авансе» (например, патчи серии EF_2017xxxx). Чтобы проверить это, перейдем в раздел Администрирование — Обслуживание — Обновление программы — Установленные исправления (патчи). Если нужного исправления нет, рекомендуется обновить конфигурацию до самого актуального релиза или разрешить автоматическую загрузку патчей.

Способ 4. Работа с регистром «Данные о времени для расчета среднего заработка»

Выясним еще одну скрытую причину. Программа при расчете аванса может проверять записи в регистре сведений Данные о времени для расчета среднего заработка. Если документ отпуска не сделал запись в этот регистр (например, из-за конфликта периодов или ошибки проведения), аванс «не поймет», что время должно быть вытеснено. Попробуем решить это через групповое перепроведение:

  1. Перейдем в меню Администрирование — Обслуживание — Корректировка данных.
  2. Выберем Групповое перепроведение документов.
  3. Выберем документы Отпуск за проблемный месяц и выполним их перепроведение. Это заставит систему пересчитать движения по всем связанным регистрам.

Резюме для пользователя

Подведем итог: если вы видите, что в аванс попадает 10 дней вместо фактических 3 или 5 при наличии отпуска, это явный признак того, что механизм вытеснения не сработал. В 90% случаев в новых релизах это лечится либо установкой официального патча от 1С, либо (в версии КОРП) проверкой всех галочек утверждения в кадровом документе. Помните, что последовательность ввода документов имеет значение: сначала утверждаем все невыходы (отпуска, больничные), и только в последнюю очередь заполняем расчет аванса.

← На главную