Почему ЗУП 3.1 не видит начисление «Компенсация отпуска» при увольнении и как это исправить?

Бухгалтер 1С v8.3 (Управляемые формы)
← На главную

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

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

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

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

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

Почему это происходит? В системе ЗУП 3.1 заложен встроенный механизм проверки среднего заработка на соответствие МРОТ (минимальному размеру оплаты труда). Этот механизм автоматически учитывает ставку сотрудника (долю неполного времени), если она правильно настроена в графике работы или кадровых документах. Когда пользователь принудительно вставляет ДоляНеполногоРабочегоВремени в формулу компенсации, происходит конфликт: программа не может однозначно сопоставить результат расчета с ожидаемым алгоритмом проверки МРОТ, и «сбрасывает» это начисление из списка доступных для автоматического подбора.

Шаг 1. Проверка «Назначения начисления»

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

  1. Перейдем в раздел Настройка — Начисления.
  2. Найдем начисление Компенсация отпуска (основного) или Компенсация отпуска (дополнительного), которое не видится программой.
  3. На вкладке Основное проверим поле Назначение начисления. Оно должно иметь значение Компенсация отпуска.
  4. Убедимся, что в поле Начисление выполняется стоит значение В перечисленных ниже документах, а в списке документов отмечено Увольнение.

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

Шаг 2. Тестирование типовой формулы

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

СреднийЗаработокОбщий * КоличествоДнейКомпенсации

После записи начисления с такой формулой попробуем перезаполнить документ Увольнение. Если ошибка «Начисление не найдено» исчезла, значит, причина именно в использовании показателя ДоляНеполногоРабочегоВремени или других специфических констант, которые нарушают логику системы.

Шаг 3. Решение проблемы с расчетом по МРОТ для неполных ставок

Рассмотрим ситуацию, когда мы не можем просто удалить ДоляНеполногоРабочегоВремени из формулы, так как нам критично важно не допустить переплаты при сравнении среднего заработка с МРОТ для сотрудников на полставки. Как выяснилось в обсуждении, именно это является основным камнем преткновения.

Правильный методический подход:

Вместо изменения формулы компенсации необходимо корректно настроить График работы сотрудника. Посмотрим, как это сделать:

  1. В настройках графика (раздел Настройка — Графики работы сотрудников) установим флаг Неполное рабочее время.
  2. Выберем вид: Неполный рабочий день или Неполная рабочая неделя.
  3. Установим флаг Считать норму по другому графику и выберем график пятидневки (полного рабочего времени).

При такой настройке ЗУП при расчете среднего заработка сама применит коэффициент доли ставки к величине МРОТ. Например, если МРОТ составляет 19 242 рубля, а сотрудник работает на 0.5 ставки по такому графику, система будет сравнивать его средний заработок с 9 621 рублем автоматически, без добавления лишних показателей в формулу компенсации.

Шаг 4. Обходной путь (если графики настроить невозможно)

Разберем ситуацию, когда по каким-то причинам (например, использование КТУ или сложных систем доплат) типовой механизм МРОТ не срабатывает. В этом случае можно применить «хитрую» формулу, предложенную участниками сообщества, которая позволит учесть долю времени, не используя «запрещенный» показатель ДоляНеполногоРабочегоВремени.

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


СреднийЗаработокОбщий * КоличествоДнейКомпенсации * (РасчетнаяБаза / ВремяВЧасах * НормаЧасов / Оклад)

В данном примере нам потребуется:

  1. Включить в Расчетную базу этого начисления только Оклад.
  2. Использовать показатели времени текущего месяца.

Важно: Этот метод является «костылем» (временной заплаткой) и требует тщательного тестирования на различных категориях сотрудников (окладники, часовики). Мы рекомендуем использовать его только в крайнем случае.

Шаг 5. Работа с кэшем и регистрами

Если настройки верны, формула типовая, а ошибка сохраняется — проанализируем состояние системных данных. Иногда в регистре сведений Настройки расчета среднего заработка происходит сбой. Именно поэтому помогает маневр «выбрать другое начисление — сохранить — вернуть обратно».

Рассмотрим, что можно сделать для очистки системы:

  1. Очистка кэша: Попробуйте удалить базу из списка и добавить её снова или запустить 1С с параметром /ClearCache.
  2. Проверка дублей: Выясним, нет ли в справочнике Виды отпусков дублирующихся записей для одного и того же типа отпуска (например, два «Северных»). Если их два, программа может пытаться найти начисление для одного вида, а в документе выбран другой.
  3. Тестирование на демо-базе: Как было отмечено в обсуждении, ошибка воспроизводится даже на чистых базах при определенных версиях релиза. Если у вас релиз ниже 3.1.23, рассмотрите возможность обновления. В ветках 3.1.23 и 3.1.27 механизмы проверки МРОТ для неполных ставок были значительно переработаны и стали более устойчивыми к изменениям формул.

Резюме и рекомендации

Подведем итоги нашего исследования проблемы, когда ЗУП не видит начисление компенсации:

  1. Основная причина — конфликт пользовательской формулы (наличие показателя ДоляНеполногоРабочегоВремени) с внутренним алгоритмом подбора начислений документа Увольнение.
  2. Лучшее решение — вернуть формулу к типовому виду СреднийЗаработокОбщий * КоличествоДнейКомпенсации, а расчет МРОТ для неполных ставок делегировать системному механизму через настройки Графика работы.
  3. Если нужно срочно — используйте временное переподключение вида начисления в документе, но помните, что после закрытия/открытия формы или перезахода в программу проблема может вернуться.
  4. Техническая поддержка — если вы используете старый релиз (например, 3.1.18), обязательно проверьте наличие патчей. Разработчики выпускали исправления, касающиеся корректности определения прав на отпуск при кадровых переводах, что косвенно влияло на видимость компенсаций.

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

← На главную