Как настроить гистограмму с накоплением в СКД для группировки нескольких ресурсов по категориям?

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

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

Понимание структуры диаграммы в СКД

Прежде чем приступать к настройкам, важно понять, как именно СКД интерпретирует данные для построения графиков. В терминологии диаграмм 1С мы имеем:

Стандартная ошибка заключается в попытке добавить все 6 ресурсов в один список значений. В этом случае СКД создаст 6 отдельных сегментов, не понимая, что три из них должны быть «объединены» логически. Чтобы добиться результата, нам нужно перестроить архитектуру данных.

Решение через приведение данных к плоскому виду

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

  1. Трансформация данных в запросе. Вместо набора отдельных ресурсов (Заказано, Произведено и т.д.), нам нужно создать структуру, где виды операций станут измерениями. Мы можем использовать оператор ОБЪЕДИНИТЬ ВСЕ, чтобы превратить данные в такой вид:
    
    ВЫБРАТЬ
        Организация,
        Заказ,
        "Заказ" КАК ВидОперации,
        "Факт" КАК ТипПоказателя,
        Заказано КАК Количество
    ОБЪЕДИНИТЬ ВСЕ
    ВЫБРАТЬ
        Организация,
        Заказ,
        "Заказ" КАК ВидОперации,
        "Остаток" КАК ТипПоказателя,
        ОсталосьПоЗаказу КАК Количество
    ...
    
  2. Настройка структуры диаграммы. Когда данные приняты в таком виде, мы получаем возможность использовать ВидОперации и ТипПоказателя в качестве серий.
  3. Группировка серий. В настройках диаграммы СКД вы добавляете поле ВидОперации как родительскую группу для серии, а внутри него — ТипПоказателя. Это позволит 1С корректно отобразить легенду и сгруппировать сегменты.

Использование вычисляемых полей

Если изменять структуру запроса через ОБЪЕДИНИТЬ ВСЕ затруднительно, можно воспользоваться механизмом вычисляемых полей в СКД. Мы можем создать поле ГруппаОпераций с помощью выражения ВЫБОР КОГДА ... ТОГДА ... КОНЕЦ. Это позволит динамически классифицировать ресурсы прямо в процессе компоновки.

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

Практические советы по оформлению

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

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

← На главную