Почему в 1С:ЗУП 3.1 не начисляется зарплата по отдельным сотрудникам

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

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

Анализ движений по регистрам накопления

Прежде всего, нам необходимо убедиться, не была ли зарплата за этот период уже начислена другим документом. В 1С:ЗУП 3.1 существует строгий контроль: система не позволяет начислить одну и ту же сумму дважды. Разберем, как это проверить через универсальный механизм просмотра регистров.

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

  1. Нажмем кнопку Еще и выберем Настроить список.
  2. В окне настройки установим отбор по «проблемным» сотрудникам и периоду регистрации (например, Май 2024).
  3. Проанализируем колонку Регистратор.

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

Проверка регистра «Применение плановых начислений»

Это ключевой регистр сведений, который определяет, имеет ли сотрудник право на получение тех или иных выплат в конкретном месяце. Рассмотрим ситуацию: если сотрудника нет в этом регистре на текущий месяц, то документ начисления просто «не видит» оснований для расчета его оклада.

Проанализируем возможные причины отсутствия записей в РегистрСведений.ПрименениеПлановыхНачислений:

Взаимодействие с документом «Премия» и расчетная база

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

Рассмотрим важный нюанс: в ЗУП 3.1 премия, введенная отдельным документом Премия, может блокировать начисление оклада, если настройки приоритетов заданы неверно. Проанализируем настройки вида расчета премии на вкладке Приоритет. Если в правой колонке («Начисления, приоритет которых выше») по ошибке указан ваш основной вид начисления (оклад), либо если сама премия ошибочно настроена как вытесняющее начисление, оклад не будет рассчитан.

Также стоит обратить внимание на формулу. Рассмотрим пример:

Результат = ПроцентПремии * РасчетнаяБаза / 100

Если такая премия выплачивается в межрасчетный период, программа пытается рассчитать базу здесь и сейчас. Если на этот момент оклад еще не начислен основным документом, база может быть пустой или рассчитаться некорректно. Однако, если премия видна в расчетном листке, значит, расчет базы уже произошел. Проверьте, не «захватила» ли эта премия всё рабочее время сотрудника.

Механизм «Перерасчеты» — скрытая блокировка

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

Выполним проверку по шагам:

  1. Перейдем в раздел Зарплата — Сервис — Перерасчеты.
  2. Найдем в списке наших сотрудников.
  3. Если записи есть, попробуем их удалить (если мы уверены, что перерасчет не требуется) или нажать кнопку Доначислить сейчас.

Конфликты времени и «фантомные» начисления

Разберем ситуацию, когда по сотруднику вместо оклада начисляется «Праздничные» или странные суммы (например, 100 рублей за 2 дня). Это явный признак того, что система нашла данные о времени, которые вытесняют основной оклад.

Проанализируем следующие объекты:

Использование «Менеджера расчета зарплаты» для отладки

Для программиста наиболее эффективным способом найти причину является отладка программного кода в момент заполнения документа. Основная логика сосредоточена в обработке МенеджерРасчетаЗарплаты.

Рассмотрим, на что обратить внимание при отладке:

  1. Метод СоздатьОбъектМенеджер инициализирует таблицы данных.
  2. Проверьте таблицу ВТДанныеДляРасчета. Если в ней для сотрудника нет строк с видом расчета «Оклад», значит, проблема в предварительных фильтрах (плановые начисления или вытеснения).
  3. Если строки есть, но Результат = 0, проблема в показателях или фактически отработанном времени.

Часто проблема кроется в том, что в настройках начисления Оклад на вкладке Учет времени указан вид времени, который конфликтует с тем, что указано в документе Премия или Табель. Убедитесь, что Явка не вытесняется другими видами времени, которые по факту являются рабочими.

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

← На главную