При настройке управленческого учета заработной платы в конфигурации 1С:Управление производственным предприятием 1.3 нередко возникает ситуация: сотруднику введен табель учета рабочего времени с явными переработками (например, 198 часов при графиковой норме 164,5 часа), однако при расчете начисления по произвольной формуле программа упорно подставляет часы по норме графика.
Разберем, почему стандартные показатели времени игнорируют введенные фактические часы и какими способами можно реализовать корректный расчет управленческой зарплаты.
Проанализируем ситуацию с точки зрения механизмов платформы и структуры конфигурации УПП. Проблема заключается в разделении контуров регламентированного и управленческого учета:
ТабельУчетаРабочегоВремени формирует движения строго для регламентированного расчета зарплаты сотрудников организаций. Отдельного управленческого документа «Табель» в типовой конфигурации не предусмотрено.ВремяВЧасах или ОтработаноВремениВЧасах) запрос обращается напрямую к графику работы сотрудника предприятия через левое соединение, полностью игнорируя регламентированный табель.По этой причине расчет с комментарием всегда возвращает норму графика, сколько бы фактических часов ни содержал регламентированный табель.
Рассмотрим наиболее надежный и методологически чистый вариант, не требующий внесения изменений в типовую конфигурацию. Реализуем передачу фактического времени через пользовательские показатели:
ПоказателиСхемМотивации и создадим новый показатель, например, ФактическиОтработаноЧасов. Назначим ему вид: числовой, вводится ежемесячно перед расчетом для каждого сотрудника.
Результат = Тарифная ставка месячная * ФактическиОтработаноЧасов / Норма времени в часах
ВводЗначенийПоказателейСхемМотивации (или вручную в табличную часть начисления). Для удобства заполнения этого документа фактическими часами из регламентированного табеля можно подключить простую внешнюю обработку табличной части.Если методология компании допускает начисление переработки отдельной строкой, разберем типовую схему разделения:
Результат = Тарифная ставка месячная / Норма времени в часах * Время в часах
Результат = (Тарифная ставка месячная / Норма времени в часах) * ЧасыПереработки
Если конфигурация уже находится на поддержке с возможностью изменения и требуется, чтобы показатель ОтработаноВремениВЧасах сразу видел данные табеля, выясним причину в коде общего модуля.
В процедурах сбора данных для плана видов расчета УправленческиеНачисления выполняется левое соединение с графиками. Для изменения поведения потребуется модифицировать текст запроса расчета показателей произвольных формул:
ОтработаноВремениВЧасах.Данный путь требует тщательного тестирования, так как изменение поведения базового запроса повлияет на все управленческие начисления, использующие учет отработанного времени.