При настройке расчета заработной платы часто возникает необходимость включить новый вид начисления (например, вахтовый оклад или надбавку) в базу расчета надбавок и коэффициентов. Однако при попытке записать изменения в плане видов расчета Основные начисления организации для предопределенного начисления Районный коэффициент система может выдать ошибку, требующую скорректировать список ведущих видов расчета или дописать начисление в виды расчета группы Основной заработок.
Разберем детально механизм возникновения этой коллизии и выясним, как правильно настроить зависимости начислений без нарушения целостности базы данных.
Проанализируем внутреннее устройство планов видов расчета и регистров расчета в конфигурациях на обычных формах (таких как 1С:ЗУП ред. 2.5 или 1С:УПП ред. 1.3). В этих системах механизм вытеснения и зависимости по базе работает в строгом соответствии с графом связей:
Расчетная база определяет список видов расчета, числовые результаты которых складываются и служат базой для начисления текущего процента.Ведущие начисления определяет механизм отслеживания перерасчетов. Если документ прошлых периодов по ведущему начислению изменяется, программа регистрирует необходимость пересчитать зависимое начисление.Когда мы пытаемся добавить новый вид расчета в Ведущие начисления для районного коэффициента, платформа проверяет транзитивность связей. Поскольку районный коэффициент входит в средний заработок, система требует, чтобы все ведущие начисления районного коэффициента также входили в ведущие начисления вышестоящего расчета среднего заработка. Если цепочка разрывается, платформа блокирует запись элемента.
Рассмотрим пошагово штатное и наиболее корректное решение проблемы, к которому пришел автор темы:
Средний заработок через меню конфигурации или интерфейс расчета зарплаты.Основной заработок: индексируемый, Основной заработок: неиндексируемый, а также начисления для расчета пособий ФСС.Расчетная база (или список базовых/ведущих начислений).Расчетная база и Ведущие начисления. Запись пройдет без системных ошибок.Проанализируем альтернативный вариант настройки, если по регламенту предприятия новое начисление не должно участвовать в расчете среднего заработка или если требуется оперативно провести начисление коэффициента без изменения правил расчета отпускных:
Прочие в табличную часть Расчетная база добавим созданный вахтовый оклад. Это позволит программе математически начислить процент районного коэффициента на сумму оклада.Важный нюанс: при использовании второго способа автоматическая регистрация необходимости перерасчета районного коэффициента при исправлении документов вахтового оклада за прошлые периоды выполняться не будет. Корректировки при необходимости придется отслеживать вручную.
Если после выполнения предыдущих шагов ошибка сохраняется, выясним причину в очередности расчета начислений. Обратим внимание на закладку Расчеты созданного начисления:
Первичное начисление, районный коэффициент должен иметь статус Зависимое первого уровня.Зависимым первого уровня), то районный коэффициент не может иметь тот же уровень.Зависимое второго уровня (или третьего уровня), чтобы исключить циклические ссылки в расчетах.Посмотрим на отличия в современных версиях программ: в линейке ЗУП редакции 3.1 механизм ручного сопоставления списков ведущих начислений и уровней зависимости был автоматизирован платформой. В современных версиях достаточно указать список базовых начислений на закладке Расчет базы, а очередность вычисления и регистрация перерасчетов определяются алгоритмами конфигурации автоматически.