Как настроить вертикальный вывод ресурсов в отчете на СКД?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Способ 1. Настройка параметра «Расположение ресурсов» в СКД

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

Разберем по шагам, как активировать этот режим:

  1. Откроем схему компоновки данных и перейдем на вкладку Настройки.
  2. Выберем корневой элемент структуры отчета (или конкретную группировку, для которой требуется изменить отображение) и перейдем на вкладку Другие настройки в нижней части окна.
  3. Найдем параметр Расположение ресурсов.
  4. Установим значение параметра в Вертикально (по умолчанию используется значение Горизонтально или Авто).

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

Проанализируем дополнительные параметры, которые помогут сделать отчет еще более читаемым:

Способ 2. Группировка выбранных полей

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

  1. Перейдем на вкладку Настройки и выделим нужную группировку или отчет в целом.
  2. На вкладке Выбранные поля выделим зажатой клавишей Ctrl несколько ресурсов, которые должны располагаться вертикально.
  3. Вызовем контекстное меню правой кнопкой мыши и выберем пункт Сгруппировать поля....
  4. Для созданной группы полей в свойствах укажем параметр Расположение = Вертикально (или В отдельной колонке).

Этот способ позволяет гибко комбинировать обычный горизонтальный вывод для одних показателей и вертикальный — для других.

Способ 3. Разворот показателей на уровне запроса (Unpivot)

Рассмотрим ситуативный вариант, когда требования к оформлению или расчету итогов не позволяют обойтись стандартными настройками СКД. В этом случае показатели разворачиваются из колонок в строки непосредственно в тексте запроса с помощью конструкций ОБЪЕДИНИТЬ ВСЕ.

Посмотрим на пример формирования схемы запроса:


ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(Продажи.Период, МЕСЯЦ) КАК ПериодМесяц,
    Продажи.Контрагент.Сеть КАК Сеть,
    Продажи.Контрагент,
    Продажи.Номенклатура,
    "Продано количество" КАК ПсевдонимПоказателя,
    ВЫБОР
        КОГДА Продажи.Количество > 0
            ТОГДА Продажи.Количество
        ИНАЧЕ 0
    КОНЕЦ КАК ЗначениеПоказателя
ИЗ
    РегистрНакопления.Продажи КАК Продажи

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(Продажи.Период, МЕСЯЦ),
    Продажи.Контрагент.Сеть,
    Продажи.Контрагент,
    Продажи.Номенклатура,
    "Продано стоимость",
    ВЫБОР
        КОГДА Продажи.Стоимость > 0
            ТОГДА Продажи.Стоимость
        ИНАЧЕ 0
    КОНЕЦ
ИЗ
    РегистрНакопления.Продажи КАК Продажи

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

Важно учитывать недостатки данного способа:

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

← На главную