Как построить список сотрудников с группировкой по подразделениям предприятия в 1С:УПП 1.3?

Программист 1С v8.3 (Обычные формы) Управленческий учет Промышленность, строительство и АПК
← На главную

При разработке отчетов по персоналу в конфигурации 1С:Управление производственным предприятием 1.3 часто возникает задача предоставить руководству сводные данные не по юридическим лицам (организациям), а по управленческой структуре компании — подразделениям предприятия. В реальной практике один и тот же человек (физическое лицо) может быть трудоустроен в нескольких организациях холдинга или в разных подразделениях организаций, относящихся к одному управленческому отделу.

Разберем архитектуру хранения кадровых данных в 1С:УПП 1.3, выясним причину сложностей при сопоставлении структуры и построим универсальное решение для системы компоновки данных (СКД).

Архитектурные особенности кадрового учета в УПП 1.3

В конфигурации параллельно реализованы две модели кадрового учета:

  1. Управленческий контур: использует справочник ФизическиеЛица, управленческие кадровые документы и регистр сведений Работники. В типовой практике этот контур зачастую не заполняется кадровиками напрямую, из-за чего регистр остается пустым.
  2. Регламентированный контур: оперирует справочником СотрудникиОрганизаций, приказами по юрлицам и регистром сведений РаботникиОрганизаций. Именно здесь хранится реальная кадровая история и начисления.

Для объединения этих двух контуров в типовой конфигурации предусмотрен регистр сведений СоответствиеПодразделенийИПодразделенийОрганизаций, который связывает справочники Подразделения (управленческие) и ПодразделенияОрганизаций (регламентированные).

Пошаговый алгоритм получения данных

Разберем по шагам, как правильно связать регламентированные кадровые данные со структурой предприятия в запросе:

  1. Получение актуального кадрового среза: обращаемся к виртуальной таблице РегистрСведений.РаботникиОрганизаций.СрезПоследних на требуемую дату.
  2. Исключение уволенных сотрудников: обязательно фильтруем записи, где состояние сотрудника не равно увольнению.
  3. Связка с физическим лицом: через справочник СотрудникиОрганизаций получаем ссылку на ФизическиеЛица для устранения дублирования данных по людям.
  4. Сопоставление подразделений: соединяем срез кадровых данных с регистром сведений СоответствиеПодразделенийИПодразделенийОрганизаций по полям Организация и ПодразделениеОрганизации. При этом используем ЛЕВОЕ СОЕДИНЕНИЕ, чтобы сотрудники, у подразделений которых не задано управленческое соответствие, не выпали из выборки.

Пример построения текста запроса

Рассмотрим пример запроса, который выбирает работающих сотрудников и сопоставляет их с подразделениями предприятия:


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

Настройка структуры и агрегации в СКД

Проанализируем, как правильно настроить варианты отчета в схеме компоновки данных в зависимости от бизнес-требований руководства:

  1. Иерархия подразделений: для поля ПодразделениеПредприятия в группировке СКД выбираем тип Иерархия. Это позволит автоматически отобразить вложенность дирекций, отделов и департаментов компании.
  2. Подсчет реальной численности vs ставок: на вкладке «Ресурсы» настраиваем агрегацию:

    Для фактического количества людей (физлиц): Количество(Различные Физлицо)

    Для количества кадровых мест: Количество(Сотрудник)

    Для фонда ставок: Сумма(ЗанимаемыхСтавок)

  3. Отображение совместителей: если сотрудница числится главным бухгалтером в одной организации и ведущим бухгалтером в другой, при группировке по ПодразделениеПредприятия детальные записи выведут все ее позиции с указанием конкретных организаций без искажения общей численности.

Особенности расширения отчета начислениями и удержаниями

Если в дальнейшем потребуется добавить в отчет данные по начисленной заработной плате, важно помнить о специфике таблиц расчетов:

  1. Разделение наборов данных: не рекомендуется объединять срез кадровых данных и виртуальные таблицы регистров расчета (ОсновныеНачисленияРаботниковОрганизаций) в одном запросе во избежание декартова произведения строк.
  2. Связи наборов в СКД: добавьте отдельный набор данных для начислений и свяжите его с кадровым набором по полям Сотрудник и ПериодДействия.
  3. Использование подсистемы затрат: если целью является анализ фонда оплаты труда в разрезе управленческих подразделений, данные можно получать напрямую из регистра накопления Затраты после проведения регламентных документов Отражение зарплаты в упр. учете.
← На главную