Ситуация, когда при заполнении документа Начисление зарплаты и взносов программа игнорирует конкретных сотрудников, является одной из самых трудоемких в диагностике. Особенно это сбивает с толку, когда плановые начисления актуальны, табель заполнен, а документы отклонений (больничные, отпуска) отсутствуют. Рассмотрим пошагово, как выявить скрытую причину этой проблемы в конфигурации 1С:ЗУП 3.1.
Прежде всего, нам необходимо убедиться, не была ли зарплата за этот период уже начислена другим документом. В 1С:ЗУП 3.1 существует строгий контроль: система не позволяет начислить одну и ту же сумму дважды. Разберем, как это проверить через универсальный механизм просмотра регистров.
Перейдем в меню Функции для технического специалиста (ранее «Все функции») и найдем РегистрНакопления.НачисленияУдержанияПоСотрудникам. В этом регистре фиксируются все результаты расчетов. Выполним следующие действия:
Если в списке присутствуют документы типа Увольнение, Отпуск или даже Премия (если в них стоял флаг «Начислить зарплату»), то программа считает, что основной заработок уже рассчитан. Если регистр пуст или содержит только премию, переходим к следующему этапу.
Это ключевой регистр сведений, который определяет, имеет ли сотрудник право на получение тех или иных выплат в конкретном месяце. Рассмотрим ситуацию: если сотрудника нет в этом регистре на текущий месяц, то документ начисления просто «не видит» оснований для расчета его оклада.
Проанализируем возможные причины отсутствия записей в РегистрСведений.ПрименениеПлановыхНачислений:
Изменение оплаты труда или Назначение планового начисления, где по ошибке указана дата окончания, совпадающая с началом текущего месяца.СостоянияСотрудников.В нашем случае по сотрудникам начислена премия. Выясним, как это влияет на оклад. Если премия рассчитывается как процент от РасчетнаяБаза, а в базу входит Оплата по окладу, возникает логическая зависимость.
Рассмотрим важный нюанс: в ЗУП 3.1 премия, введенная отдельным документом Премия, может блокировать начисление оклада, если настройки приоритетов заданы неверно. Проанализируем настройки вида расчета премии на вкладке Приоритет. Если в правой колонке («Начисления, приоритет которых выше») по ошибке указан ваш основной вид начисления (оклад), либо если сама премия ошибочно настроена как вытесняющее начисление, оклад не будет рассчитан.
Также стоит обратить внимание на формулу. Рассмотрим пример:
Результат = ПроцентПремии * РасчетнаяБаза / 100
Если такая премия выплачивается в межрасчетный период, программа пытается рассчитать базу здесь и сейчас. Если на этот момент оклад еще не начислен основным документом, база может быть пустой или рассчитаться некорректно. Однако, если премия видна в расчетном листке, значит, расчет базы уже произошел. Проверьте, не «захватила» ли эта премия всё рабочее время сотрудника.
Одной из самых неочевидных причин отсутствия начислений является наличие записей в сервисе Перерасчеты. Программа может решить, что данные сотрудника нуждаются в пересмотре за прошлые периоды, и блокирует текущий расчет до момента обработки этих исправлений.
Выполним проверку по шагам:
Разберем ситуацию, когда по сотруднику вместо оклада начисляется «Праздничные» или странные суммы (например, 100 рублей за 2 дня). Это явный признак того, что система нашла данные о времени, которые вытесняют основной оклад.
Проанализируем следующие объекты:
Для программиста наиболее эффективным способом найти причину является отладка программного кода в момент заполнения документа. Основная логика сосредоточена в обработке МенеджерРасчетаЗарплаты.
Рассмотрим, на что обратить внимание при отладке:
СоздатьОбъектМенеджер инициализирует таблицы данных.ВТДанныеДляРасчета. Если в ней для сотрудника нет строк с видом расчета «Оклад», значит, проблема в предварительных фильтрах (плановые начисления или вытеснения).Результат = 0, проблема в показателях или фактически отработанном времени.Часто проблема кроется в том, что в настройках начисления Оклад на вкладке Учет времени указан вид времени, который конфликтует с тем, что указано в документе Премия или Табель. Убедитесь, что Явка не вытесняется другими видами времени, которые по факту являются рабочими.
Резюме: Если сотрудники исчезли из документа, последовательно проверьте Перерасчеты, регистр Применение плановых начислений и настройки Вытеснения в виде расчета Премия. В 90% случаев проблема заключается в том, что система считает время сотрудника уже «занятым» другим начислением или ожидает исправления прошлых периодов.