Диаграммы в 1С: визуализация данных отчёта
Содержание
Создать диаграмму в 1С 8.3 можно двумя путями. Пользователю — добавить диаграмму в готовый отчёт на системе компоновки данных (СКД) через настройки варианта, не заходя в конфигуратор. Разработчику — вывести диаграмму из формы или из печатной формы, заполнив объект Диаграмма кодом.
Оба способа опираются на один объект платформы — Диаграмма. Она состоит из точек (категории, обычно по горизонтальной оси) и серий (наборы значений, которые сравниваются между собой). Значение задаётся на пересечении точки и серии.
Диаграмма имеет смысл там, где таблица чисел читается тяжело: доли в выручке, динамика продаж по месяцам, сравнение остатков по складам. Если данных мало или они разнородные, график только мешает — об этом в конце.
С чего начать: данные и подходящий отчёт
Диаграмма не рисуется «с нуля» — она строит картинку по уже готовым данным. Поэтому первый шаг всегда один: получить набор строк с числами, которые есть что сравнивать.
Для пользователя источник данных — это отчёт. Большинство типовых отчётов в 1С:Бухгалтерии (БП 3.0), ЗУП 3.1 и Управлении торговлей (УТ 11) построены на СКД, а значит, в их вариант можно добавить диаграмму.
Что проверить до начала:
- 📊 В отчёте есть хотя бы один числовой показатель (ресурс) — сумма, количество, остаток.
- 🧩 Есть поле-разрез, по которому данные делятся на части — номенклатура, месяц, контрагент, склад.
- 🔢 Разрезов не слишком много. Сто категорий на круговой диаграмме превратятся в кашу.
Если нужна диаграмма не внутри отчёта, а на собственной форме обработки или в печатной форме, данные готовит разработчик — запросом или из таблицы значений. Логика та же: сначала строки с числами, потом визуализация.
Самый быстрый путь для пользователя — взять отчёт, который уже выводит нужные цифры таблицей, и добавить к нему диаграмму вторым элементом структуры. Таблицу при этом можно оставить или скрыть.
Как добавить диаграмму в отчёт на СКД
Это основной способ без программирования. Диаграмма добавляется в структуру варианта отчёта.
Порядок действий в типовой конфигурации на управляемых формах («Такси»):
- Откройте нужный отчёт и нажмите кнопку
Настройки. - Переключите вид настроек на расширенный — обычно это команда
Ещё → Расширенныйили переключатель вида настроек в шапке формы настроек. - Перейдите на закладку
Структура. - В контекстном меню корневого элемента структуры выберите добавление нового элемента и укажите тип
Диаграмма. - Для добавленной диаграммы задайте поля: разрез — в
Точки, при необходимости второй разрез — вСерии, а числовой показатель попадёт в значения автоматически как ресурс отчёта. - Сформируйте отчёт.
Перед тем как перестраивать структуру рабочего отчёта, сохраните текущий вариант через Ещё → Сохранить вариант отчёта — иначе привычная настройка может потеряться.
Разберёмся с «Точками» и «Сериями», потому что их путают чаще всего:
- Точки — это категории, которые идут вдоль оси. Если в точки положить
Месяц, на оси появятся месяцы. - Серии — это отдельные линии или группы столбцов одного цвета. Положите в серии
Склад— и для каждого склада будет свой цвет. - Если серия не нужна (сравниваем один показатель по одному разрезу), поле серий оставляют пустым — получится одноцветная диаграмма.
Диаграмму в структуре можно комбинировать с группировками. Если поместить её внутрь группировки по организации, система построит отдельный график для каждой организации — удобно, когда нужно сравнить одни и те же показатели в разрезе компаний холдинга. А таблицу и диаграмму нередко оставляют рядом: таблица даёт точные цифры, диаграмма — общую картину.
После добавления диаграммы её можно сохранить как отдельный вариант отчёта и выдавать пользователям готовым, чтобы они не настраивали структуру каждый раз.
Какой тип графика выбрать и как работают оси
Тип задаётся в свойствах диаграммы (в настройках элемента структуры или в свойствах объекта на форме). Платформа поддерживает несколько семейств: гистограмма (столбцы), линейчатая (горизонтальные полосы), круговая, график (линия), области, измерительная, биржевая, радар и объёмные варианты перечисленных. Отдельно стоят сводная диаграмма — её данными управляют как в сводной таблице, перетаскивая разрезы, — и диаграмма Ганта для сроков и этапов, которую применяют в задачах планирования.
Тип диаграммы выбирают не по вкусу, а по задаче:
| Задача | Подходящий тип | Почему |
|---|---|---|
| Доля частей в целом | Круговая | Сразу видно, что занимает большую часть |
| Сравнить величины по объектам | Гистограмма / линейчатая | Столбцы легко сопоставить по высоте |
| Показать динамику во времени | График | Линия подчёркивает рост и спад |
| Оценить один показатель против нормы | Измерительная | «Спидометр» с зонами план/факт |
По осям важно понимать распределение:
- 📈 Горизонтальная ось (ось категорий) — это точки. По ней раскладываются разрезы.
- 📉 Вертикальная ось (ось значений) — это числа. Её шкала по умолчанию строится автоматически от нуля.
- 🥧 У круговой и измерительной диаграмм привычных осей X/Y нет — там работают доли и шкала.
Шкалу значений в большинстве случаев оставляют автоматической. Фиксировать минимум и максимум вручную стоит, только если нужно сравнивать несколько одинаковых диаграмм между собой — тогда у них должна быть общая шкала.
Вывод диаграммы из формы: объект и код
Когда диаграмма нужна в обработке, отчёте с собственной формой или на рабочем столе, её выводят через объект формы. Этот путь — для разработчика.
Шаги в конфигураторе:
- В форме добавьте реквизит формы типа
Диаграмма. - Перетащите его на форму — появится элемент управления с областью построения.
- В серверной процедуре заполните диаграмму данными.
Заполнение сводится к трём действиям: задать тип, создать точки и серии, проставить значения. Диаграмма сначала очищается, чтобы при повторном построении не накладывались старые данные:
Диаграмма.Очистить();
Диаграмма.ТипДиаграммы = ТипДиаграммы.Гистограмма;
Серия = Диаграмма.УстановитьСерию("Выручка");
Для Каждого Строка Из ТаблицаДанных Цикл
Точка = Диаграмма.УстановитьТочку(Строка.Месяц);
Диаграмма.УстановитьЗначение(Точка, Серия, Строка.Сумма);
КонецЦикла;
Здесь ТаблицаДанных — заранее собранный запросом или вручную набор строк с полями Месяц и Сумма. Методы УстановитьТочку и УстановитьСерию находят элемент по идентификатору или создают новый, поэтому их безопасно вызывать в цикле. УстановитьЗначение ставит число на пересечении.
Чтобы вывести несколько линий, добавьте вторую серию и проставьте значения отдельно для неё. Серий может быть сколько угодно, но на экране больше пяти-шести линий читаются плохо.
Заполняйте объект Диаграмма на сервере, а не на клиенте. Данные формы передаются между клиентом и сервером, и тяжёлую выборку логично собирать там, где есть доступ к базе.
Чтобы диаграмма стала интерактивной, у метода УстановитьЗначение есть дополнительный параметр — расшифровка. Передайте в него ссылку или структуру с ключами отбора, и по щелчку на столбце пользователь сможет провалиться в детальные данные. Обработку щелчка пишут в событии выбора диаграммы на форме:
Диаграмма.УстановитьЗначение(Точка, Серия, Строка.Сумма, Строка.Контрагент);
Здесь при клике по сектору или столбцу в расшифровке окажется конкретный контрагент — его удобно открыть или передать в отбор связанного отчёта.
Отдельный случай — диаграмма в печатной форме. В конструкторе макета (табличного документа) добавляется объект-рисунок с типом диаграммы, ему задаётся имя, а в коде формирования печати он заполняется через коллекцию рисунков макета теми же методами — точки, серии, значения. Так диаграмма ложится прямо в печатную форму рядом с таблицей.
Оформление: цвета, легенда и подписи
По умолчанию диаграмма выглядит сыро: случайные цвета, нет подписей, легенда занимает половину области. Настройка решается в свойствах диаграммы.
Что обычно правят:
- 🎨 Цвета серий — задаются в палитре диаграммы. Для фирменного стиля удобно закрепить цвет за каждой серией, чтобы один и тот же склад везде был одного оттенка.
- 🏷️ Подписи значений — включите отображение значений у точек, если чисел немного. На плотной гистограмме подписи лучше убрать, оставив их во всплывающей подсказке.
- 📋 Легенда — её можно показать сбоку, снизу или скрыть. Если серия одна, легенда не нужна.
- 🔤 Подписи оси категорий — при длинных названиях разверните их под углом или перейдите на линейчатый тип, где подписи идут горизонтально.
Не раскрашивайте диаграмму в десять ярких цветов. Для деловой визуализации достаточно одного-двух основных оттенков и серого для второстепенных данных — так взгляд цепляется за главное.
Для круговой диаграммы полезно включить отображение долей в процентах: читателю важнее не абсолютная сумма сектора, а его доля в целом.
Печать, сохранение и перенос в Excel
Отчёт с диаграммой — это табличный документ. Поэтому к нему применимы все стандартные действия с табличным документом.
Что можно сделать с готовой диаграммой:
- 🖨️ Напечатать. Команда
Печатьв менюЕщёформы отчёта или сочетаниеCtrl+P. Перед печатью проверьте предпросмотр: диаграмма должна целиком помещаться на лист. - 💾 Сохранить в файл. Через
Ещё → Сохранить(илиФайл → Сохранить копию…) выберите формат: табличный документ.mxl, книга Excel.xlsx, документ.pdf. - 📎 Перенести в Excel. При сохранении в
.xlsxдиаграмма переносится в файл изображением, а не как «живой» график Excel. Если нужна интерактивная диаграмма Excel, выгружайте в файл сами данные (таблицу), а график стройте уже средствами Excel.
Для регулярной выгрузки картинки диаграммы её сохраняют программно — метод записи у объекта-диаграммы позволяет выгрузить изображение в файл заданного формата. Это удобно для автоматической вставки графика в письма или дашборды.
Если диаграмма нужна не на бумаге, а в системе мониторинга, помните: 1С умеет отдавать данные, а не только картинки. Для внешней аналитики надёжнее выгружать числовой ряд, а визуализацию строить на принимающей стороне.
Почему диаграмма не строится или выглядит неправильно
Чаще всего проблема не в платформе, а в данных или в настройке точек и серий.
Ещё одна частая причина «кривого» графика — смешанные единицы. Если в одной серии рубли, а в другой штуки, их нельзя класть на общую ось значений: масштаб раздавит меньшие числа. Для таких случаев используют вспомогательную ось значений или отдельную диаграмму.
Когда диаграмму лучше не строить
График — не всегда улучшение. Иногда он скрывает данные вместо того, чтобы их показать.
Диаграмма не нужна или вредит, когда:
- 🔢 Строк всего две-три. Таблица из трёх чисел читается быстрее любой картинки, а место на экране экономится.
- 🎯 Важны точные суммы, а не тренд. Для сверки оборотов или подготовки данных в учёт нужны цифры до копейки — диаграмма их округляет в восприятии.
- ⚖️ Показатели разнородные. Рубли и штуки на одной оси несопоставимы: шкала подстроится под крупные числа и раздавит мелкие.
- 📄 Отчёт идёт на согласование или в архив. В таких документах ценят таблицу с итогами, а не визуальный акцент.
Полезное правило: сначала решите, какой вывод должен сделать человек, посмотрев на диаграмму. Если ответа нет — значит, графику здесь не место, и таблица справится лучше.
Частые вопросы
Можно ли построить диаграмму без конфигуратора?
Настройки в режиме расширенных настроек. Программирование не нужно.Чем отличаются точки и серии?
Как показать на диаграмме проценты, а не суммы?
Почему диаграмма в выгруженном Excel не редактируется как график?
.xlsx диаграмма переносится картинкой. Чтобы получить настоящий график Excel, выгрузите из 1С числовой ряд (таблицу) и постройте диаграмму средствами Excel.