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