Как настроить отчет «Штатная расстановка» в 1С:ЗУП 3.1 для корректного вывода занятых, свободных и общих ставок?

Пользователь 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом Управленческий учет
← На главную

В работе кадровой службы и HR-аналитиков одной из наиболее частых задач является анализ заполненности штатного расписания. Отчет «Штатная расстановка» в программе «1С:Зарплата и управление персоналом» (ЗУП 3.1) предоставляет подробные сведения о том, какие сотрудники занимают те или иные позиции. Однако при попытке настроить отчет под специфические требования руководства пользователи регулярно сталкиваются со следующей проблемой:

При установке отбора по занятым позициям (чтобы скрыть пустые «вакансии» и видеть только работающих сотрудников) отчет начинает некорректно рассчитывать общие итоги по ставкам. Свободные и общие ставки начинают суммироваться исключительно по тем позициям, на которых числится хотя бы один человек. Полностью вакантные должности и их ставки просто исчезают из общих итогов отчета, искажая общую картину по предприятию.

В этой статье мы подробно разберем природу данной проблемы, выясним, как работает механизм компоновки данных (СКД) в 1С при наложении отборов, и рассмотрим пошаговые варианты решения задачи с помощью пользовательских полей и альтернативных настроек.

Почему стандартный отбор «ломает» итоговые показатели отчета?

Для того чтобы эффективно решить проблему, проанализируем внутреннюю логику работы системы компоновки данных. Когда мы открываем настройки отчета и устанавливаем жесткое условие (например, Состояние позиции равно Занята или накладываем фильтр по заполненности сотрудника), СКД применяет этот отбор ко всей выборке данных на уровне запроса к базе данных или на уровне фильтрации результирующего набора.

Это приводит к следующему результату:

  1. Строки штатного расписания, по которым нет ни одного принятого сотрудника (абсолютно свободные позиции), физически исключаются из результирующей таблицы отчета.
  2. Поскольку этих строк больше нет в таблице, СКД не может получить доступ к их показателям Количество ставок и Свободно ставок.
  3. При расчете математических итогов по группировкам (подразделениям, филиалам) и по всему документу программа суммирует только те данные, которые прошли через фильтр. Соответственно, все вакантные ставки полностью выпадают из суммирования, и итоговое число свободных ставок становится заниженным.

Ниже мы подробно разберем несколько практических способов обойти это ограничение платформы и получить корректный, информативный отчет.

Способ 1. Использование встроенного параметра скрытия пустых позиций

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

Выполним следующие шаги:

  1. Откроем отчет «Штатная расстановка» в разделе «Кадры» — «Кадровые отчеты».
  2. Нажмем кнопку «Настройки...» на панели отчета.
  3. Переключим вид настройки в режим «Расширенный» (в нижней части окна настроек).
  4. Перейдем на вкладку «Фильтры» (или «Параметры» в зависимости от версии релиза вашей конфигурации).
  5. Найдем параметр «Выводить пустые позиции» и снимем с него флаг (установим значение в Ложь).

Этот параметр работает иначе, чем обычный отбор по состоянию позиции. Он не исключает незанятые позиции из выборки данных СКД, а лишь скрывает их визуальное отображение в итоговой таблице. При этом все математические итоги в шапке отчета и разрезе подразделений рассчитываются с учетом абсолютно всех позиций штатного расписания — как занятых, так и вакантных.

Способ 2. Настройка отборов на уровне группировок

Если первый способ не подходит и вам требуется более тонкая фильтрация, мы можем наложить отбор не на весь отчет целиком, а только на конкретную группировку строк. Например, мы можем скрыть пустые строки на уровне детальных записей сотрудников.

Рассмотрим этот процесс по шагам:

  1. В расширенном окне настроек перейдем на вкладку «Структура».
  2. Найдем группировку, отвечающую за вывод детальных сведений (обычно это ветка Детальные записи или группировка по полю Сотрудник).
  3. Дважды кликнем по этой группировке или нажмем кнопку «Изменить».
  4. В открывшемся окне перейдем на вкладку «Отбор» и добавим условие: Сотрудник Заполнено (или Сотрудник СпецЗначение Не Заполнено с оператором отрицания).
  5. Сохраним настройки и сформируем отчет.

В этом случае на уровне итогов по должностям и подразделениям данные по ставкам по-прежнему будут суммироваться корректно, так как исходный набор данных не был урезан глобальным фильтром.

Способ 3. Создание пользовательских полей-выражений

Что делать, если пользователю жизненно важно видеть в детальных строках именно долю ставки конкретного сотрудника (например, 0.5 или 0.25 ставки по совместительству), а в итогах по подразделениям — правильное математическое соотношение запланированных и свободных ставок? Для решения этой задачи идеально подходит механизм пользовательских полей СКД.

Давайте выясним разницу между схожими показателями в системе:

Создадим новое пользовательское поле, которое разграничит логику вывода информации на детальном уровне (по сотрудникам) и на уровне итогов (по подразделениям).

Разберем по шагам создание такого поля:

  1. В окне настроек отчета (в режиме «Расширенный») перейдем на вкладку «Пользовательские поля».
  2. Нажмем кнопку «Добавить» и выберем пункт «Новое поле-выражение».
  3. Зададим имя для нашего нового поля, например: Занято ставок (кастомное).
  4. Нам откроется форма с двумя основными областями для ввода формул: «Выражение» (для детальных строк) и «Выражение для итоговых записей» (для группировок и общих итогов).

В поле «Выражение» (детальные записи сотрудников) укажем следующий системный ресурс:

[Всего ставок]

Это обеспечит вывод реальной доли ставки, занимаемой каждым конкретным физическим лицом в строке таблицы.

В поле «Выражение для итоговых записей» пропишем формулу, которая будет математически вычислять разницу между запланированными ставками по штатному расписанию и текущими свободными ставками:

Сумма([Количество ставок]) - Сумма([Свободно ставок])

Обратите внимание на обязательное использование агрегатной функции Сумма() в выражении для итогов. Без нее СКД не сможет корректно свернуть данные по иерархии подразделений.

После ввода формул нажмите «ОК», перейдите на вкладку «Поля и сортировки», найдите в списке доступных полей созданное нами пользовательское поле Занято ставок (кастомное) и перетащите его в правое окно (выбранные поля). Лишние стандартные поля можно отключить, сняв с них флажки.

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

Особенности учета занятых ставок в современных релизах ЗУП 3.1

При настройке отчетов по штатному расписанию важно помнить о глобальных изменениях в учете занятости ставок, которые были внедрены разработчиками фирмы «1С» в последних версиях программы (начиная с релиза 3.1.10). Эти изменения напрямую влияют на итоговые цифры в отчетах:

Если при сверке итогов вы наблюдаете «лишние» или дробные доли ставок, рекомендуем вывести в детальные поля отчета специализированные показатели: Временно занято ставок, Ставок подработок и Ставок совмещений. Это поможет быстро локализовать причину расхождения показателей.

Альтернативные кадровые отчеты для сверки

Если структура отчета «Штатная расстановка» кажется вам избыточной из-за обилия персональных кадровых данных, а руководство требует лаконичную и точную сводку по вакансиям, рекомендуем обратить внимание на другие стандартные отчетах в разделе «Кадры» — «Кадровые отчеты»:

1. «Заполненность штатного расписания»

Этот отчет специально оптимизирован для анализа вакантных мест. Он выводит детальную информацию по каждой позиции ШР, включая временно отсутствующих сотрудников, временно занятые ставки и свободные остатки, не перегружая таблицу фамилиями всех работающих сотрудников.

2. «Анализ занимаемых ставок»

Позволяет сгруппировать информацию по кратности занимаемых ставок. Он незаменим в организациях с большим количеством внешних и внутренних совместителей, работающих на 0.25, 0.5 или 0.75 ставки, так как помогает быстро оценить реальный дефицит физических лиц при формально заполненном штатном расписании.

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

← На главную