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

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

Часто бухгалтеры и специалисты по расчету зарплаты сталкиваются с ситуацией, когда после обновления конфигурации 1С:Зарплата и управление персоналом 3.1 (особенно это характерно для ветки 3.1.14) привычные формулы начинают работать некорректно. Типичный пример: индивидуальная надбавка, которая должна зависеть от фактически отработанного времени, начисляется в полном объеме, игнорируя отпуска, больничные или другие отсутствия сотрудника. При этом основной оклад за тот же период рассчитывается правильно.

В этой статье мы подробно разберем, почему так происходит, проанализируем настройки начисления и выясним, как заставить систему корректно учитывать отработанное время в формулах надбавок.

Анализ проблемы и сравнение с расчетом оклада

Рассмотрим стандартную ситуацию. У сотрудника настроена надбавка с формулой: НадбавкаИндивидуальная * ВремяВДнях / НормаДнейПоГрафикуПолногоРабочегоВремени. Эта формула идентична формуле оклада, за исключением самого показателя суммы. Логика программы должна быть следующей: показатель ВремяВДнях должен уменьшаться, если у сотрудника зарегистрировано отклонение (например, «Отпуск основной»). Однако на практике в расчетном листке мы видим, что для оклада ВремяВДнях подставляется верное (уменьшенное), а для надбавки — полное, равное норме.

Выясним причину такого поведения. В версиях 1С:ЗУП 3.1.14.97 и выше были внесены изменения в механизмы оптимизации расчета. Теперь система по-разному обрабатывает основные начисления (оплата труда) и прочие надбавки, даже если у них одинаковые настройки вытеснения.

Шаг 1. Проверка настроек приоритета (вытеснения)

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

  1. Откроем карточку начисления (раздел «Настройка» — «Начисления»).
  2. Перейдем на закладку «Приоритет».
  3. В левой колонке («Начисления, приоритет которых выше») должны быть перечислены все виды отсутствий: «Отпуск основной», «Больничный за счет работодателя», «Отсутствие по невыясненной причине», «Отпуск без сохранения оплаты» и т.д.

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

Шаг 2. Корректировка настроек учета времени

Рассмотрим подробнее закладку «Учет времени». Для того чтобы показатель ВремяВДнях в формуле заполнялся на основании фактически отработанного времени, настройки должны быть следующими:

  1. Переключатель «Начисление выполняется» должен стоять в положении «Ежемесячно» (или «Только если введено значение показателя», в зависимости от вашей методики).
  2. В поле «Вид времени» часто по умолчанию стоит «Рабочее время». Для решения проблемы с некорректным расчетом в релизах 3.1.14 попробуйте выбрать конкретный вид времени — «Явка». Это заставляет алгоритм расчета жестко привязываться к присутствию сотрудника на рабочем месте.
  3. Проверьте, установлена ли настройка «За работу в полную смену в пределах нормы времени». Если надбавка настроена как «Дополнительное начисление за уже оплаченное время», она может игнорировать вытеснения, так как система считает, что время уже «оплачено» окладом.

Шаг 3. Использование документа «Табель» как временное решение

Как показывает практика общения на форумах и опыт внедрений, в релизах 3.1.14.97-129 часто единственным надежным способом зафиксировать время для надбавок является создание документа «Табель».

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

  1. Метод отклонений: Время = График работы - Зарегистрированные отсутствия.
  2. Метод табеля: Время берется напрямую из документа «Табель».

В указанных релизах механизм «метода отклонений» для дополнительных надбавок может срабатывать некорректно из-за внутренних ошибок в регистре сведений Данные состояний сотрудников. Создание документа «Табель» принудительно записывает фактически отработанные дни в систему, и формула начинает видеть показатель ВремяВДнях правильно. Хотя в теории «Табель» в ЗУП 3.1 не является обязательным, в данной ситуации он выступает необходимым «костылем».

Шаг 4. Техническая проверка регистров и кэша

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

Рекомендуемые действия:

Резюме

Проблема «полного начисления надбавки» в 1С:ЗУП 3.1.14 чаще всего связана с изменением логики работы внутреннего движка программы. Для исправления ситуации выполните следующую последовательность действий:

  1. Убедитесь, что на вкладке «Приоритет» настроено вытеснение отпусками и больничными.
  2. На вкладке «Учет времени» установите конкретный вид времени Явка вместо общего Рабочее время.
  3. Если расчет по-прежнему неверен, введите документ Табель за расчетный месяц.
  4. По возможности обновите конфигурацию до более свежих релизов (3.1.18 или последние патчи 3.1.14), где ошибки взаимодействия показателей времени были исправлены разработчиками.
← На главную