При разработке отчетов по персоналу в конфигурации 1С:Управление производственным предприятием 1.3 часто возникает задача предоставить руководству сводные данные не по юридическим лицам (организациям), а по управленческой структуре компании — подразделениям предприятия. В реальной практике один и тот же человек (физическое лицо) может быть трудоустроен в нескольких организациях холдинга или в разных подразделениях организаций, относящихся к одному управленческому отделу.
Разберем архитектуру хранения кадровых данных в 1С:УПП 1.3, выясним причину сложностей при сопоставлении структуры и построим универсальное решение для системы компоновки данных (СКД).
В конфигурации параллельно реализованы две модели кадрового учета:
ФизическиеЛица, управленческие кадровые документы и регистр сведений Работники. В типовой практике этот контур зачастую не заполняется кадровиками напрямую, из-за чего регистр остается пустым.СотрудникиОрганизаций, приказами по юрлицам и регистром сведений РаботникиОрганизаций. Именно здесь хранится реальная кадровая история и начисления.Для объединения этих двух контуров в типовой конфигурации предусмотрен регистр сведений СоответствиеПодразделенийИПодразделенийОрганизаций, который связывает справочники Подразделения (управленческие) и ПодразделенияОрганизаций (регламентированные).
Разберем по шагам, как правильно связать регламентированные кадровые данные со структурой предприятия в запросе:
РегистрСведений.РаботникиОрганизаций.СрезПоследних на требуемую дату.СотрудникиОрганизаций получаем ссылку на ФизическиеЛица для устранения дублирования данных по людям.СоответствиеПодразделенийИПодразделенийОрганизаций по полям Организация и ПодразделениеОрганизации. При этом используем ЛЕВОЕ СОЕДИНЕНИЕ, чтобы сотрудники, у подразделений которых не задано управленческое соответствие, не выпали из выборки.Рассмотрим пример запроса, который выбирает работающих сотрудников и сопоставляет их с подразделениями предприятия:
ВЫБРАТЬ
ЕСТЬNULL(СоответствиеПодразделений.Подразделение, ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)) КАК ПодразделениеПредприятия,
РаботникиСрез.Организация КАК Организация,
РаботникиСрез.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
РаботникиСрез.Сотрудник КАК Сотрудник,
РаботникиСрез.Сотрудник.Физлицо КАК Физлицо,
РаботникиСрез.Должность КАК Должность,
РаботникиСрез.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок
ИЗ
РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Период, ) КАК РаботникиСрез
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоответствиеПодразделенийИПодразделенийОрганизаций КАК СоответствиеПодразделений
ПО РаботникиСрез.Организация = СоответствиеПодразделений.Организация
И РаботникиСрез.ПодразделениеОрганизации = СоответствиеПодразделений.ПодразделениеОрганизации
ГДЕ
РаботникиСрез.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
Проанализируем, как правильно настроить варианты отчета в схеме компоновки данных в зависимости от бизнес-требований руководства:
ПодразделениеПредприятия в группировке СКД выбираем тип Иерархия. Это позволит автоматически отобразить вложенность дирекций, отделов и департаментов компании.Для фактического количества людей (физлиц): Количество(Различные Физлицо)
Для количества кадровых мест: Количество(Сотрудник)
Для фонда ставок: Сумма(ЗанимаемыхСтавок)
ПодразделениеПредприятия детальные записи выведут все ее позиции с указанием конкретных организаций без искажения общей численности.Если в дальнейшем потребуется добавить в отчет данные по начисленной заработной плате, важно помнить о специфике таблиц расчетов:
ОсновныеНачисленияРаботниковОрганизаций) в одном запросе во избежание декартова произведения строк.Сотрудник и ПериодДействия.Затраты после проведения регламентных документов Отражение зарплаты в упр. учете.