Часто бухгалтеры и специалисты по расчету зарплаты сталкиваются с ситуацией, когда после обновления конфигурации 1С:Зарплата и управление персоналом 3.1 (особенно это характерно для ветки 3.1.14) привычные формулы начинают работать некорректно. Типичный пример: индивидуальная надбавка, которая должна зависеть от фактически отработанного времени, начисляется в полном объеме, игнорируя отпуска, больничные или другие отсутствия сотрудника. При этом основной оклад за тот же период рассчитывается правильно.
В этой статье мы подробно разберем, почему так происходит, проанализируем настройки начисления и выясним, как заставить систему корректно учитывать отработанное время в формулах надбавок.
Рассмотрим стандартную ситуацию. У сотрудника настроена надбавка с формулой:
НадбавкаИндивидуальная * ВремяВДнях / НормаДнейПоГрафикуПолногоРабочегоВремени.
Эта формула идентична формуле оклада, за исключением самого показателя суммы. Логика программы должна быть следующей: показатель ВремяВДнях должен уменьшаться, если у сотрудника зарегистрировано отклонение (например, «Отпуск основной»). Однако на практике в расчетном листке мы видим, что для оклада ВремяВДнях подставляется верное (уменьшенное), а для надбавки — полное, равное норме.
Выясним причину такого поведения. В версиях 1С:ЗУП 3.1.14.97 и выше были внесены изменения в механизмы оптимизации расчета. Теперь система по-разному обрабатывает основные начисления (оплата труда) и прочие надбавки, даже если у них одинаковые настройки вытеснения.
Первым делом нам необходимо убедиться, что программа «знает», какие документы должны уменьшать время действия надбавки. Проанализируем вкладку «Приоритет» в настройках начисления:
Важный нюанс: недостаточно просто скопировать настройки оклада. В проблемных релизах 3.1.14 был замечен баг: если список вытесняющих видов расчета очень длинный, система могла игнорировать некоторые из них. Попробуйте перезаписать начисление, удалив и заново добавив основные виды отсутствий.
Рассмотрим подробнее закладку «Учет времени». Для того чтобы показатель ВремяВДнях в формуле заполнялся на основании фактически отработанного времени, настройки должны быть следующими:
Как показывает практика общения на форумах и опыт внедрений, в релизах 3.1.14.97-129 часто единственным надежным способом зафиксировать время для надбавок является создание документа «Табель».
Разберем, почему это помогает. В 1С:ЗУП существует два пути получения данных о времени для расчета:
В указанных релизах механизм «метода отклонений» для дополнительных надбавок может срабатывать некорректно из-за внутренних ошибок в регистре сведений Данные состояний сотрудников. Создание документа «Табель» принудительно записывает фактически отработанные дни в систему, и формула начинает видеть показатель ВремяВДнях правильно. Хотя в теории «Табель» в ЗУП 3.1 не является обязательным, в данной ситуации он выступает необходимым «костылем».
Если вышеуказанные действия не помогли, проанализируем техническое состояние базы данных. Проблема может крыться в обновлении конфигурации, при котором не пересчитались внутренние таблицы зависимостей.
Рекомендуемые действия:
Зависимости начислений по ФПД. В нем должна быть зафиксирована связь между вашей надбавкой и видами времени (отпуск, явка).ВремяВДнях на ВремяВДняхЧасах. В некоторых случаях это «встряхивает» алгоритм сбора данных, и расчет начинает учитывать графики корректно.Проблема «полного начисления надбавки» в 1С:ЗУП 3.1.14 чаще всего связана с изменением логики работы внутреннего движка программы. Для исправления ситуации выполните следующую последовательность действий:
Явка вместо общего Рабочее время.Табель за расчетный месяц.