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