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

Бухгалтер 1С v8.3 (Обычные формы) 1С:Зарплата и Управление Персоналом Бухгалтерский учет
← На главную

В процессе расчета заработной платы в программе «1С:Зарплата и управление персоналом» (редакция 2.5) пользователи часто сталкиваются с ситуацией, когда скопированный и настроенный по аналогии вид расчета ведет себя некорректно. Классический пример — доплата по дням рассчитывается идеально и уменьшается при наличии неоплачиваемых периодов (например, отпуска за свой счет), а аналогичная доплата по часам упорно начисляет сотруднику полную норму времени.

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

---

Анализ исходной проблемы

Рассмотрим ситуацию. В программе настроен вид расчета для доплаты по дням со следующей формулой:

ФиксированнаяСумма / НормаВремениВДнях * ВремяВДнях

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

Однако при попытке создать аналогичное начисление по часам с формулой:

ФиксированнаяСумма / НормаВремениВЧасах * ВремяВЧасах

программа выдает полную сумму доплаты, игнорируя зарегистрированный в этом же месяце отпуск за свой счет. В документе «Начисление зарплаты сотрудникам» в колонке оплаченного времени для доплаты отображается полная норма (например, 141.4 часа вместо фактически отработанных 124.6 часов).

Выясним причины такого поведения системы и найдем пути решения.

---

Шаг 1. Настройка вида времени в свойствах начисления

Основная техническая причина, по которой показатель ВремяВЧасах не уменьшается на время отсутствий — некорректные настройки на вкладке «Время» в форме самого начисления.

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

Для исправления этой ошибки выполните следующие действия:

  1. Откройте план видов расчета «Основные начисления организации» (или «Дополнительные начисления», в зависимости от того, где создана доплата).
  2. Найдите ваш созданный вид расчета доплаты по часам и откройте его свойства.
  3. Перейдите на вкладку «Время».
  4. В поле «Вид времени по классификатору» обязательно укажите значение «Явка» (или «Дни явок» в зависимости от версии релиза).
  5. Сохраните изменения по кнопке «ОК».

Благодаря этой настройке механизм расчета жестко свяжет показатель ВремяВЧасах с фактически зарегистрированным временем явки в регистре расчета. Любое введенное отклонение (больничный, отпуск, отпуск без содержания) автоматически уменьшит количество часов «Явки», и формула отработает корректно.

---

Шаг 2. Проверка основного начисления сотрудника

Проанализируем еще одну архитектурную особенность 1С:ЗУП 2.5. Зависимые начисления рассчитываются на основании данных, которые поставляет базовое (основное) начисление сотрудника.

Обратите внимание на то, какая система оплаты установлена для работника в качестве планового начисления:

---

Шаг 3. Соблюдение строгой последовательности ввода документов

Даже при абсолютно верных настройках формулы и видов времени расчет может «сломаться», если нарушена последовательность действий пользователя. В отличие от современных редакций программы, платформа 1С:Предприятие 8 на обычных формах (в частности, ЗУП 2.5) крайне чувствительна к порядку проведения документов.

Разберем правильный пошаговый алгоритм работы в течение расчетного месяца:

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

Важное правило: Если вы были вынуждены ввести документ-отклонение задним числом (после того, как уже был заполнен Табель), обязательно откройте ранее созданный Табель, перезаполните его, проведите и только после этого пересчитайте документ начисления зарплаты.

---

Дополнительные рекомендации и риски

При настройке подобных доплат некоторые специалисты пытаются заменить показатель ВремяВЧасах на системный показатель ОтработаноВремениВЧасах (или аналогичные переменные). Мы рекомендуем избегать этого решения.

Показатель ОтработаноВремениВЧасах имеет иную логику извлечения данных из базы. При возникновении перерасчетов за прошлые периоды (например, при предоставлении больничного листа в текущем месяце за прошлый) использование некорректных показателей может привести к «схлопыванию» или, наоборот, необоснованному задвоению часов в регистрах. Это напрямую повлияет на некорректный расчет среднего заработка для будущих отпусков и командировок. Связка правильно настроенного вида времени («Явка») и стандартного показателя ВремяВЧасах является наиболее безопасной и методически верной.

← На главную