Ситуация, когда после обновления системы или внезапно после выходных в документах Начисление зарплаты и взносов пропадают все виды расчета, кроме основного оклада, является критической для расчетчика. Особенно тревожно это выглядит, когда даже в уже проведенных и «правильных» документах при попытке перезаполнения исчезают доплаты за вредность, ночные, праздничные и другие плановые начисления. Проанализируем причины этой проблемы и разберем по шагам алгоритм диагностики и исправления ситуации.
Первым делом нам необходимо выяснить, «видит» ли программа назначенные сотруднику начисления на текущую дату. Разберем, как это сделать правильно:
Сотрудники.КадровыйПеревод, ИзменениеОплатыТруда или ПрекращениеПлановогоНачисления, которые могли случайно отменить надбавки.НачальнаяШтатнаяРасстановка. Если база была перенесена из версии 2.5, этот документ часто становится источником проблем при случайном перепроведении или отмене.Если в экранных формах всё выглядит корректно, нам нужно заглянуть глубже — в регистры сведений. Выясним, установлены ли флаги активности для записей о начислениях. Посмотрим на ситуацию с точки зрения системы:
Иногда документ может быть проведен, но запись в регистре ПлановыеНачисления может оказаться «битой» или помеченной как неиспользуемая. Проверим регистр напрямую (через Все функции или Функции для технического специалиста). Если напротив регистратора (документа-основания) отсутствует галочка «Используется», значит, начисление программно выключено. В этом случае поможет перепроведение документа, назначившего оплату.
Рассмотрим ситуацию, связанную с глобальными настройками программы. При обновлении релиза (например, при переходе с 3.1.6 на 3.1.7) могут произойти сбои в значениях функциональных опций. Проверим путь:
Настройка — Расчет зарплаты — Настройка состава начислений и удержаний.
Проанализируем вкладки Почасовая оплата, Прочие начисления и Удержания. Если там сняты флажки (например, «Надбавка за вредность» или «Работа в праздничные и выходные дни»), то соответствующие виды расчета будут игнорироваться программой при заполнении документа, даже если они назначены сотруднику планово. Система считает, что функционал просто отключен в настройках предприятия.
Одной из самых частых причин исчезновения начислений является неверная настройка вкладок Приоритет. Выясним, как это работает. Если у начисления Оклад в списке приоритетных (вытесняющих) видов расчета по ошибке оказались другие начисления, или наоборот — оклад стал вытеснять всё остальное из-за изменений в учете времени, программа просто исключит «лишние» строки.
Рассмотрим подробнее вкладку Учет времени в самом виде расчета ОплатаПоОкладу. Если там указан вид времени, который по логике программы не может пересекаться с другими (например, какая-то специфическая «Явка», настроенная как целодневное отсутствие), это приведет к конфликту. Убедимся, что Оклад регистрирует именно Явка.
Посмотрим на ситуацию, когда начисления зависят от отработанного времени (ночные, праздничные, вредность). Если Производственный календарь на текущий год не заполнен или «слетел» после обновления, норма времени может стать нулевой. Проанализируем действия:
Многие доплаты (например, процентные надбавки) рассчитываются от базы, в которую входит оклад. Если в настройках доплаты на вкладке Расчет базы исчез сам Оклад (или он задвоился, и выбран «не тот» вид оклада), то результат расчета будет нулевым. В ЗУП 3.1 есть особенность: если результат начисления равен нулю и в настройках вида расчета не указано «Результат записывается всегда», такая строка просто не выводится в документ Начисление зарплаты и взносов.
Если все настройки проверены и совпадают с копией базы, где всё работает, причина может крыться в технологическом сбое. Рассмотрим методы «лечения» базы:
Зарплата — Сервис — Перерасчеты. Иногда там скапливаются тысячи записей, которые блокируют корректный расчет. Удалим записи по проблемным сотрудникам.Для программистов и опытных пользователей полезно проверить данные в регистре расчета Начисления. Если мы видим, что записи формируются, но с нулевым результатом, стоит проверить функцию расчета в модуле:
// Пример логики, которую проверяет система при расчете:
Если Начисление.ТребуетсяРасчетБазы Тогда
База = СформироватьРасчетнуюБазу(Сотрудник, Период, ВидРасчета);
Если База = 0 Тогда
// Начисление может не попасть в документ, если нет базы
КонецЕсли;
КонецЕсли;
В случае с версией 3.1.7 и выше, обратите внимание на расширения. Попробуйте временно отключить все расширения конфигурации. Часто именно они, будучи написанными под старые релизы, конфликтуют с новыми процедурами расчета в общем модуле ПроведениеРасчетовПереопределяемый.
Подводя итог, можно сказать, что решение задачи всегда кроется в сопоставлении трех факторов: назначение начисления (плановые документы), настройка учета времени (графики и календари) и техническая целостность базы (кеш и индексы).