При настройке формул для расчета премий в программах «1С:Зарплата и управление персоналом» (ЗУП) или «Зарплата и кадры государственного учреждения» (ЗГУ) редакции 3.1 пользователи часто сталкиваются с ситуацией, когда показатели ВремяВДнях или ОтработаноДней возвращают стандартную норму месяца (например, 20 или 22 дня), даже если сотрудник находился в отпуске или на больничном. Разберем детально, почему это происходит и как правильно настроить программу, чтобы премия рассчитывалась корректно.
Первое, на что необходимо обратить внимание — это поле Назначение начисления в карточке вида расчета. В 1С ЗУП 3.1 логика работы показателей времени напрямую зависит от выбранного назначения. Рассмотрим, как это влияет на результат:
Проанализируем ситуацию: если мы хотим, чтобы премия автоматически уменьшалась при наличии прогулов или отпусков, нам нужно либо сменить назначение, либо использовать механизм расчетной базы.
Важно понимать внутреннюю суть этих показателей в движке 1С:
– ВремяВДнях — этот показатель чаще всего возвращает норму рабочего времени по графику сотрудника за указанный период.
– ОтработаноДней — этот показатель должен возвращать фактически отработанное время за вычетом отсутствий.
Однако, если мы рассчитываем премию отдельным документом до того, как был произведен окончательный расчет зарплаты, показатель ОтработаноДней может «не знать» об отпуске. Выясним причину: документ «Премия» не всегда обращается к механизму вытеснения в реальном времени. Если табель еще не проведен или расчетный период в документе премии указан неверно, система просто подставит данные из планового графика работы.
Рассмотрим более надежный способ настройки премии, который рекомендуют эксперты. Вместо того чтобы пытаться напрямую делить дни в формуле, например:
Результат = СуммаПремии * (ОтработаноДней / ВремяВДнях)
Целесообразно использовать зависимость от Расчетной базы. Посмотрим на алгоритм настройки:
Проанализируем формулу в этом случае:
Результат = РасчетнаяБаза * ПроцентПремии / 100
Для квартальных и годовых премий в системе предусмотрен специальный показатель ДоляОтработанногоВремени. Это наиболее корректный способ учесть отработанное время, особенно если премия начисляется за период, отличный от текущего месяца.
Посмотрим, как он работает: программа суммирует норму за все месяцы квартала и делит на нее сумму фактически отработанных дней за этот же квартал. Этот показатель учитывает все введенные документы отклонений (больничные, отпуска), если они зарегистрированы в системе.
Если вы все же решили использовать собственные показатели времени в формуле, проверьте следующие настройки:
ОтработаноДней могут работать некорректно, так как система считает, что время уже «поглощено» основным начислением.ОтработаноДней при расчете конкретно этой премии.Выясним причину этой конкретной ошибки. Когда мы создаем документ «Премия» за апрель, программа смотрит на «Период, за который начисляется премия» в шапке документа. Если начисления-отклонения (отпуск) проведены, но в настройках самой премии не указано, что она зависит от времени или не настроены приоритеты, программа берет данные из графика работы.
Для исправления ситуации попробуем выполнить следующие шаги:
Таким образом, для корректного расчета премий в 1С ЗУП 3.1 важно не просто написать формулу, но и обеспечить систему данными о вытеснении времени через правильный выбор назначения начисления и настройку приоритетов.