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