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

Программист 1С v8.3 (Обычные формы) Бухгалтерский учет Промышленность, строительство и АПК
← На главную

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

В рамках этой статьи мы подробно разберем, почему возникает эта ошибка, какие архитектурные особенности подсистемы расчета зарплаты в 1С:УПП 1.3 (аналогичной «1С:Зарплата и управление персоналом 2.5») на это влияют, и как пошагово восстановить корректный расчет среднего заработка.

Причина 1. Очистка расчетной базы в Плане видов расчета «Средний заработок»

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

Рассмотрим подробнее, как проверить и исправить настройки расчетной базы:

  1. Перейдем в меню «Операции» -> «Планы видов расчета» -> Средний заработок.
  2. Откроем элемент, отвечающий за расчет отпусков (например, Основной заработок: неиндексируемый или Основной заработок: индексируемый).
  3. Перейдем на вкладку «Расчетная база».
  4. Проанализируем список начислений, входящих в базу. Очень часто после свертки этот список оказывается практически пустым (например, там может остаться только одна Оплата по производственным нарядам, а стандартный Оклад по дням, Оклад по часам и другие базовые начисления исчезают).
  5. Если список пуст или неполон, нам необходимо вручную или с помощью обработки перенести состав начислений из старой (несвернутой) базы данных. Добавим в расчетную базу все необходимые виды расчетов (такие как Оклад по дням, премии и т.д.).

После восстановления состава расчетной базы в Плане видов расчета Средний заработок программа снова «увидит», из каких начислений за прошлые месяцы ей нужно собирать сумму для расчета среднего заработка.

Причина 2. Иллюзия существования регистра «Расчет среднего заработка»

При переносе данных через XML-выгрузку многие специалисты совершают методологическую ошибку. Они пытаются найти и перенести несуществующий регистр расчета. Важно понимать, что в типовой конфигурации 1С:УПП 1.3 не существует физического регистра расчета с названием «Расчет среднего заработка». Данные для среднего заработка собираются динамически из других таблиц.

Вся историческая информация о начислениях за прошлые периоды (которые выступают в качестве расчетного периода для среднего заработка) хранится в двух основных регистрах расчета:

Если при свертке базы данных на 01.01.2019 вы очистили эти регистры за 2018 год, программе будет физически неоткуда брать данные по заработку для расчета отпускных в 2019 году. Для корректного расчета среднего заработка за прошлые периоды в свернутой базе обязательно должны присутствовать записи этих регистров расчета за последние 12 месяцев до даты свертки.

Причина 3. Проблема виртуальных таблиц и фактического периода действия

Даже если вы аккуратно перенесли записи регистров расчета за прошлый год с помощью XML-переноса или документа Корректировка записей регистров, расчет среднего заработка все равно может выдавать нулевые или некорректные значения. Выясним причину этого поведения.

Алгоритмы 1С:УПП 1.3 рассчитывают отработанное время (знаменатель формулы среднего заработка) на основании данных виртуальной таблицы «Период фактического действия» регистров расчета. При прямом переносе данных (особенно программной записью) эта виртуальная таблица может просто не сформироваться.

Чтобы решить эту проблему и заставить платформу пересчитать итоги, выполним следующие шаги:

  1. Запустим базу данных в режиме Конфигуратор.
  2. Откроем меню «Администрирование» -> Тестирование и исправление...
  3. Установим флажки напротив пунктов:
    • Реструктуризация таблиц информационной базы;
    • Пересчет итогов.
  4. Нажмем кнопку «Выполнить» и дождемся завершения процесса. Это принудительно пересоздаст виртуальные таблицы и восстановит корректность расчета времени.

Причина 4. Нарушение механизма вытеснения видов расчета

Если суммы среднего заработка в документах заполняются правильно, а количество отработанных календарных дней рассчитывается неверно (например, программа всегда подставляет полный месяц — 29.3 дня, игнорируя то, что сотрудник болел или был в отпуске), то проблема кроется в механизме вытеснения.

В свернутой базе могут измениться внутренние идентификаторы (GUID) видов расчета или сбиться настройки приоритетов в Плане видов расчета Основные начисления организаций:

Причина 5. Отсутствие данных об индексации окладов

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

Проверим наличие записей в периодическом регистре сведений КоэффициентыИндексацииЗаработка за исторический период. Если при свертке этот регистр не был перенесен, то расчет среднего заработка по индексируемому основному заработку будет производиться по историческим «старым» окладам без повышающих коэффициентов, что приведет к занижению сумм отпускных по сравнению со старой базой.

Методика сравнения результатов и поиска ошибок

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

  1. Выберем одного сотрудника, у которого наблюдаются расхождения в расчете отпускных между старой и новой базами.
  2. В обеих базах откроем расчетный документ (например, Начисление отпуска сотрудникам организаций).
  3. Нажмем кнопку Печать -> Расчет среднего заработка.
  4. Распечатаем или сохраним в формат MXL обе таблицы и сравним их построчно и помесячно:
    • Если в конкретном месяце расходятся суммы — значит, какое-то конкретное начисление (например, разовая премия или доплата) не входит в базу в новой информационной базе. Проверяем состав ПВР Средний заработок.
    • Если в конкретном месяце расходятся дни — проверяем, проведены ли по сотруднику документы-отклонения за этот период в свернутой базе и настроено ли вытеснение для этих видов расчета.
← На главную