В работе с программой «1С:Зарплата и управление персоналом 8» (редакция 3.1) пользователи часто сталкиваются с ситуацией, когда при оформлении документа Увольнение программа выдает диагностическое сообщение: «Начисление не найдено». При этом сама компенсация отпуска в справочнике начислений настроена, вид отпуска выбран верно, а расчет среднего заработка заполнен. Ситуация осложняется тем, что временные «лайфхаки», такие как перевыбор вида начисления, помогают только до следующего перезахода в программу.
В этой статье мы подробно разберем причины возникновения данной ошибки, проанализируем влияние формул на алгоритмы поиска начислений и найдем оптимальные способы решения проблемы, основываясь на практическом опыте специалистов.
Для начала разберем, как именно конфигурация ЗУП 3.1 подбирает начисления в документ Увольнение. В отличие от простых документов начислений, где выбор происходит напрямую из справочника, документ Увольнение использует сложный программный запрос. Система ищет начисление, у которого в настройках на вкладке Основное указано Назначение начисления: Компенсация отпуска.
Однако простого совпадения назначения недостаточно. Программа анализирует формулу начисления. Если в формулу внесены показатели, которые система считает «несовместимыми» с автоматическим механизмом подбора, начисление игнорируется. Опытным путем и с помощью отладки было выяснено, что наиболее частой причиной «выпадения» начисления является использование показателя ДоляНеполногоРабочегоВремени.
Почему это происходит? В системе ЗУП 3.1 заложен встроенный механизм проверки среднего заработка на соответствие МРОТ (минимальному размеру оплаты труда). Этот механизм автоматически учитывает ставку сотрудника (долю неполного времени), если она правильно настроена в графике работы или кадровых документах. Когда пользователь принудительно вставляет ДоляНеполногоРабочегоВремени в формулу компенсации, происходит конфликт: программа не может однозначно сопоставить результат расчета с ожидаемым алгоритмом проверки МРОТ, и «сбрасывает» это начисление из списка доступных для автоматического подбора.
Прежде чем приступать к исправлению формул, нам необходимо убедиться в базовых настройках. Рассмотрим пошагово:
Компенсация отпуска.В перечисленных ниже документах, а в списке документов отмечено Увольнение.Если здесь указано «Прочие начисления и выплаты», программа никогда не подставит это начисление в автоматический расчет компенсации при увольнении.
Для того чтобы подтвердить гипотезу о влиянии формулы, проведем небольшой эксперимент. Попробуем временно изменить формулу начисления на типовую:
СреднийЗаработокОбщий * КоличествоДнейКомпенсации
После записи начисления с такой формулой попробуем перезаполнить документ Увольнение. Если ошибка «Начисление не найдено» исчезла, значит, причина именно в использовании показателя ДоляНеполногоРабочегоВремени или других специфических констант, которые нарушают логику системы.
Рассмотрим ситуацию, когда мы не можем просто удалить ДоляНеполногоРабочегоВремени из формулы, так как нам критично важно не допустить переплаты при сравнении среднего заработка с МРОТ для сотрудников на полставки. Как выяснилось в обсуждении, именно это является основным камнем преткновения.
Правильный методический подход:
Вместо изменения формулы компенсации необходимо корректно настроить График работы сотрудника. Посмотрим, как это сделать:
При такой настройке ЗУП при расчете среднего заработка сама применит коэффициент доли ставки к величине МРОТ. Например, если МРОТ составляет 19 242 рубля, а сотрудник работает на 0.5 ставки по такому графику, система будет сравнивать его средний заработок с 9 621 рублем автоматически, без добавления лишних показателей в формулу компенсации.
Разберем ситуацию, когда по каким-то причинам (например, использование КТУ или сложных систем доплат) типовой механизм МРОТ не срабатывает. В этом случае можно применить «хитрую» формулу, предложенную участниками сообщества, которая позволит учесть долю времени, не используя «запрещенный» показатель ДоляНеполногоРабочегоВремени.
Идея заключается в том, чтобы «вытащить» коэффициент ставки через отношение фактически начисленного оклада к его норме. Попробуем настроить формулу следующим образом:
СреднийЗаработокОбщий * КоличествоДнейКомпенсации * (РасчетнаяБаза / ВремяВЧасах * НормаЧасов / Оклад)
В данном примере нам потребуется:
Важно: Этот метод является «костылем» (временной заплаткой) и требует тщательного тестирования на различных категориях сотрудников (окладники, часовики). Мы рекомендуем использовать его только в крайнем случае.
Если настройки верны, формула типовая, а ошибка сохраняется — проанализируем состояние системных данных. Иногда в регистре сведений Настройки расчета среднего заработка происходит сбой. Именно поэтому помогает маневр «выбрать другое начисление — сохранить — вернуть обратно».
Рассмотрим, что можно сделать для очистки системы:
/ClearCache.Подведем итоги нашего исследования проблемы, когда ЗУП не видит начисление компенсации:
ДоляНеполногоРабочегоВремени) с внутренним алгоритмом подбора начислений документа Увольнение.СреднийЗаработокОбщий * КоличествоДнейКомпенсации, а расчет МРОТ для неполных ставок делегировать системному механизму через настройки Графика работы.Надеемся, что этот подробный разбор поможет вам восстановить корректную работу программы и избавит от необходимости ручного вмешательства в каждый документ увольнения.