На сегодняшний день с помощью стандартных инструментов в 1С мы можем построить круговую диаграмму:
Такая диаграмма соответствует простому "одноуровневому" отчету:
Однако, отчеты, например "Продажи", можно сформировать по иерархической структуре данных.
А что, если построить диаграмму по такой структуре данных:
Диаграмма состоит из слоев, в центральной части (самый маленький круг) - строится круговая диаграмма по верхнему уровню справочника. Далее рисуется второй уровень - к каждому элементу верхнего уровня выводится секция, соответствующая группе/элементу второго уровня, далее - третьему уровню и так далее (до самого нижнего уровня в отчете).
Поскольку объем представленных на ней данных - гораздо больше, чем у стандартной диаграммы, легенда приводится отдельно в виде дерева значений (справа). Также, при наведении курсора мыши на определенную область диаграммы - в информационном окне снизу отображается описание данной области:
В обычных формах - диаграмма имеет настройки, позволяющие выбрать источник данных для отчета (один из регистров накопления), поле измерения и поле ресурса, а также - задать отбор по измерениям регистра:
В режиме управляемых форм - диаграмма строится, однако для построения используется выборка только по регистру "Товары на складах", а также - не реализованы раскраска легенды и вывод информации о выделенной области:
В качестве массива цветов первого уровня - выбраны контрастные цвета, приведенные в статье "Таблица и диаграммы сочетания цветов".
Основой идеи для данной публикации послужила бесплатная утилита "scanner" - позволяющая построить похожую диаграмму по файловой системе и посмотреть, какие файлы или папки занимают существенную часть объема диска (Рекомендую! Жаль нет такой программы под Android). Автор данной программы - также поделился исходниками и прокомментировал интересующий меня алгоритм калибровки цветов диаграммы. Большое ему спасибо!
Для построения - использован движок веб-браузера, а именно - Raphael.js, описанный в публикации "Моя "Доминикана" или Я и Рафаель". Большое спасибо автору!
Скриншоты сделаны на демонстрационных примерах 1С (КА 1.1 и УТ 11), но данная обработка не привязана к конкретным конфигурациям.