Почему при расчете премии показатели ВремяВДнях и ОтработаноДней возвращают неверные значения?

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

При настройке формул для расчета премий в программах «1С:Зарплата и управление персоналом» (ЗУП) или «Зарплата и кадры государственного учреждения» (ЗГУ) редакции 3.1 пользователи часто сталкиваются с ситуацией, когда показатели ВремяВДнях или ОтработаноДней возвращают стандартную норму месяца (например, 20 или 22 дня), даже если сотрудник находился в отпуске или на больничном. Разберем детально, почему это происходит и как правильно настроить программу, чтобы премия рассчитывалась корректно.

Анализируем назначение начисления

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

  1. Квартальная премия или Премия: Если выбрано такое назначение, программа предполагает, что расчет производится за определенный результат, который не всегда привязан к табелю. При использовании формул в отдельном документе «Премия», система может игнорировать текущие отсутствия (отпуска, больничные), так как этот документ не предназначен для полноценного учета времени.
  2. Повременная оплата и надбавки: Как отмечается в обсуждении, это наиболее «чувствительное» к времени назначение. При его выборе программа активирует механизмы анализа фактически отработанных дней и часов на основании графика и введенных документов-отклонений.
  3. Прочие начисления и выплаты: Это универсальное назначение, которое также позволяет использовать показатели времени, но требует тщательной настройки вкладок «Учет времени» и «Приоритет».

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

Разбираем разницу между показателями ВремяВДнях и ОтработаноДней

Важно понимать внутреннюю суть этих показателей в движке 1С:

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

– ОтработаноДней — этот показатель должен возвращать фактически отработанное время за вычетом отсутствий.

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

Использование расчетной базы как альтернатива

Рассмотрим более надежный способ настройки премии, который рекомендуют эксперты. Вместо того чтобы пытаться напрямую делить дни в формуле, например:

Результат = СуммаПремии * (ОтработаноДней / ВремяВДнях)

Целесообразно использовать зависимость от Расчетной базы. Посмотрим на алгоритм настройки:

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

Проанализируем формулу в этом случае:

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

Механизм «Доля отработанного времени»

Для квартальных и годовых премий в системе предусмотрен специальный показатель ДоляОтработанногоВремени. Это наиболее корректный способ учесть отработанное время, особенно если премия начисляется за период, отличный от текущего месяца.

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

Настройка вкладки «Учет времени» и «Приоритет»

Если вы все же решили использовать собственные показатели времени в формуле, проверьте следующие настройки:

  1. Вкладка «Учет времени»: Убедитесь, что переключатель стоит в положении «За работу в полную смену в пределах нормы времени». Если выбрано «Дополнительная оплата за уже оплаченное время», показатели ОтработаноДней могут работать некорректно, так как система считает, что время уже «поглощено» основным начислением.
  2. Вкладка «Приоритет»: Проверьте список начислений в правой колонке («Начисления, приоритет которых выше»). Там обязательно должны быть перечислены «Отпуск основной», «Больничный», «Отпуск без сохранения оплаты» и другие отклонения. Если их там нет, система не будет вычитать эти дни из показателя ОтработаноДней при расчете конкретно этой премии.

Почему в документе «Премия» всегда выходит «20»?

Выясним причину этой конкретной ошибки. Когда мы создаем документ «Премия» за апрель, программа смотрит на «Период, за который начисляется премия» в шапке документа. Если начисления-отклонения (отпуск) проведены, но в настройках самой премии не указано, что она зависит от времени или не настроены приоритеты, программа берет данные из графика работы.

Для исправления ситуации попробуем выполнить следующие шаги:

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

← На главную