Как построить диаграмму в отчёте 1С и на форме
Содержание
Диаграмму в 1С строят в отчёте: открываете отчёт, в расширенных настройках добавляете вывод «Диаграмма», перетаскиваете поля в области Точки и Серии, выбираете тип графика и нажимаете «Сформировать». Никакого программирования для этого не нужно — всё делается в пользовательском режиме.
Если же диаграмма должна жить на форме документа или обработки, её рисует разработчик: на управляемую форму кладётся элемент «Поле диаграммы», а данные в него загружаются кодом. Ниже — оба пути: сначала подробно разберём визуализацию в отчётах (это нужно большинству), а в конце покажем, как заполнить диаграмму из встроенного языка.
Работа описана для платформы 1С:Предприятие 8.3 с интерфейсом «Такси». Механизм диаграмм одинаков во всех типовых конфигурациях — БП 3.0, ЗУП 3.1, УТ 11 — потому что диаграмму рисует сама платформа через систему компоновки данных, а не конкретная конфигурация.
Два пути: диаграмма в отчёте и диаграмма на форме
Прежде чем щёлкать мышью, определитесь, что именно вам нужно.
- 📊 Разовый график для анализа — продажи по месяцам, структура затрат, остатки по складам. Это задача отчёта. Строится за минуту в настройках, не требует Конфигуратора.
- 🧩 Постоянная диаграмма внутри интерфейса — например, индикатор выполнения плана на рабочем столе или график на форме обработки. Это задача разработки: элемент формы плюс код.
Для первого случая проще всего взять готовый отчёт, который поддерживает настройку структуры. В «Бухгалтерии предприятия» и «Управлении торговлей» для этого есть Отчёты → Универсальный отчёт — он строит данные по любому регистру или справочнику, а вывод легко переключить на диаграмму. Многие стандартные отчёты (по продажам, по остаткам) тоже умеют показывать результат графиком — ищите в их настройках элемент структуры «Диаграмма».
С чего начать: открываем настройки отчёта
Порядок одинаков для универсального и для большинства типовых отчётов.
- Откройте отчёт и нажмите кнопку
Настройки. Если видите только простой выбор периода, переключитесь в расширенный режим черезЕщё → Изменить вариант отчёта— откроется дерево структуры с полями и настройками. - Сначала задайте, что показывать: на вкладке с полями (группировки, выбранные поля, ресурсы) добавьте измерение для разбивки — например, «Месяц» или «Номенклатура» — и числовой ресурс — «Сумма продаж», «Количество», «Остаток».
- Поставьте отбор и период, чтобы в отчёт попали только нужные данные. Чем точнее отбор, тем читаемее будет график.
- Перейдите на вкладку Структура.
Совет: сначала постройте обычный табличный отчёт и убедитесь, что цифры верные. Диаграмма рисует ровно те же данные — если в таблице пусто или суммы неправильные, график это только повторит.
Добавляем диаграмму и раскладываем поля
На вкладке «Структура» правой кнопкой по корневому элементу вызовите контекстное меню и выберите добавление диаграммы (пункт «Диаграмма» или «Новая диаграмма»). В дереве появится элемент, у которого есть две области для полей — Точки и Серии.
Это ключевой момент, на котором спотыкаются почти все новички. Разберёмся, что куда класть.
- Точки — это категории, по которым данные разбиваются вдоль горизонтальной оси. В гистограмме каждая точка — отдельный столбец или группа столбцов. Сюда тащат измерение: месяцы, склады, контрагентов, виды номенклатуры.
- Серии — это отдельные ряды, каждый своим цветом. Если серия одна, получится простой график. Если серий несколько, в каждой точке будет по столбцу на каждую серию (или несколько линий на графике).
- Значение берётся автоматически из ресурса отчёта — той числовой суммы, которую вы задали на шаге выбора полей.
Пример. Нужно показать выручку по месяцам в разрезе трёх менеджеров:
- в Точки кладём поле «Месяц»;
- в Серии — поле «Менеджер»;
- ресурс — «Сумма».
Получим гистограмму: 12 групп столбцов (по месяцам), в каждой — три столбца (по менеджерам). Поменяйте поля местами — и смысл графика изменится: теперь по оси пойдут менеджеры, а месяцы станут сериями.
Если перепутать точки и серии, диаграмма построится, но будет нечитаемой. Правило простое: по чему сравниваем во времени или по списку — в точки; чем раскрашиваем — в серии.
Выбираем тип диаграммы и настраиваем внешний вид
Тип задаётся в свойствах элемента «Диаграмма» — поле Тип диаграммы в её настройках. Там же собраны параметры оформления. Полезно настроить:
- Заголовок — короткая подпись над графиком;
- Легенду — список серий с цветами; можно убрать, если серия одна, или перенести вниз/вбок;
- Подписи значений — вывод чисел прямо на столбцах или секторах (для круговой удобно показывать проценты);
- Палитру — набор цветов серий;
- Объёмный вид — плоская диаграмма читается лучше объёмной, объём берите только для презентаций.
После настройки нажмите Сформировать (F5). График появится в области результата вместе с таблицей или отдельно — зависит от того, оставили ли вы в структуре табличный вывод.
Круговая и кольцевая диаграммы показывают только одну серию — доли одного показателя в целом. Если положить в серии несколько полей, круговая возьмёт первое, а остальные проигнорирует. Для сравнения нескольких показателей нужна гистограмма или график.
Несколько показателей и серий на одной диаграмме
Когда показателей больше одного (например, план и факт, или выручка и себестоимость), есть два приёма.
Приём первый — несколько серий из одного поля. Положите в «Серии» измерение с нужными значениями (менеджеры, склады, виды операций). Платформа сама создаст серию под каждое значение и раскрасит их. Так строится классический «план/факт по месяцам».
Приём второй — несколько ресурсов. Если план и факт хранятся как два разных числовых поля (два ресурса), добавьте оба в выбранные поля отчёта. В диаграмме они станут отдельными сериями автоматически — по столбцу на каждый ресурс в каждой точке.
Пара практических ограничений:
- Больше 5–7 серий человек уже не различает по цвету. Если серий много, укрупните разрез (не по дням, а по месяцам; не по каждой номенклатуре, а по группам).
- Показатели в разных единицах (рубли и штуки, суммы и проценты) на одной оси выглядят неадекватно: маленькие значения сплющиваются в линию у нуля. Такие данные лучше разнести на две диаграммы или строить по разным осям, если тип диаграммы это поддерживает.
Порядок точек. По умолчанию точки идут в том порядке, в каком платформа выбрала данные. Для месяцев это обычно хронология, а для номенклатуры или контрагентов — порядок справочника, который редко удобен. Чтобы столбцы шли от большего к меньшему, задайте в настройках отчёта сортировку по ресурсу (по убыванию суммы) — диаграмма перестроится вслед за таблицей. Так читается рейтинг: кто продал больше, кто меньше.
Фиксированные цвета серий. Если один и тот же отчёт вы показываете регулярно, удобно закрепить цвет за серией — чтобы «факт» всегда был синим, а «план» серым. Цвет серии задаётся в палитре диаграммы; привязанный к конкретному значению цвет не «скачет» от построения к построению и не путает тех, кто смотрит отчёт каждую неделю.
Какой тип диаграммы выбрать под задачу
Тип решает, насколько быстро читается график. Ориентиры:
| Тип диаграммы | Когда применять |
|---|---|
| Гистограмма | Сравнение значений по категориям: продажи по месяцам, остатки по складам |
| Линейчатая | То же, что гистограмма, но подписи категорий длинные — полосы идут горизонтально |
| График | Динамика и тренд во времени: выручка по дням, курс за период |
| Круговая, кольцевая | Доли одного показателя в целом: структура затрат, 100 % продаж по группам |
| Диаграмма областей | Накопленная динамика нескольких рядов, «заливка» под линиями |
| Радар (лепестковая) | Сравнение объекта сразу по нескольким параметрам |
| Измерительная | Один показатель относительно шкалы или плана — индикатор, «спидометр» |
| Диаграмма Ганта | Сроки и этапы: план-график работ, загрузка |
| Воронкообразная | Этапы с убыванием: воронка сделок, стадии заказов |
| Пузырьковая | Три измерения сразу: по осям X и Y плюс размер пузырька |
Для 80 % задач анализа хватает трёх типов: гистограмма — сравнить, график — проследить динамику, круговая — показать доли. Начинайте с них.
Сохранение диаграммы и перенос в Excel, Word, PDF
Готовый отчёт с диаграммой переносится в другие программы несколькими способами.
Весь отчёт в файл. В сформированном отчёте откройте Файл → Сохранить как (или Ещё → Сохранить) и выберите формат: лист Excel (.xlsx), документ PDF, HTML или табличный документ 1С (.mxl). При выгрузке в Excel и PDF диаграмма сохраняется вместе с таблицей как рисунок. Сохраняйте в .xlsx, а не в устаревший .xls — в старом формате диаграмма может потеряться или исказиться.
Только картинку диаграммы. Щёлкните по диаграмме правой кнопкой — в контекстном меню есть сохранение изображения в файл (.png). Либо выделите диаграмму, нажмите Ctrl+C и вставьте Ctrl+V в Word или письмо — вставится как рисунок.
Печать. Диаграмма печатается из отчёта как часть табличного документа через Файл → Печать или предпросмотр.
Для регулярной рассылки удобнее настроить рассылку отчётов в самой конфигурации (если она это поддерживает) — тогда отчёт с диаграммой уходит получателям по расписанию без ручного экспорта.
Если диаграмма пустая или строится неправильно
Чаще всего дело не в платформе, а в настройках полей или отборе. Быстрая диагностика:
Диаграмма на форме: короткий пример для разработчика
Если диаграмма нужна не в отчёте, а на форме, в Конфигураторе добавьте на управляемую форму реквизит типа Диаграмма и свяжите с ним элемент «Поле диаграммы». Заполняется он из встроенного языка — через коллекции точек и серий:
// ПолеДиаграммы — реквизит формы типа Диаграмма
Диагр = ПолеДиаграммы;
Диагр.Очистить();
Диагр.ТипДиаграммы = ТипДиаграммы.Гистограмма;
// одна серия «Выручка», три точки по месяцам
Серия = Диагр.Серии.Добавить("Выручка");
ТочкаЯнв = Диагр.Точки.Добавить("Январь");
ТочкаФев = Диагр.Точки.Добавить("Февраль");
ТочкаМарт = Диагр.Точки.Добавить("Март");
Диагр.УстановитьЗначение(ТочкаЯнв, Серия, 150000);
Диагр.УстановитьЗначение(ТочкаФев, Серия, 210000);
Диагр.УстановитьЗначение(ТочкаМарт, Серия, 185000);
Логика та же, что в отчёте: сначала создаёте серии и точки, затем для каждой пары «точка + серия» задаёте число методом УстановитьЗначение. Чтобы сменить вид графика, достаточно поменять значение свойства ТипДиаграммы — например, на ТипДиаграммы.Круговая или ТипДиаграммы.График. Перед повторным заполнением вызывайте Очистить(), иначе точки задвоятся.
Для отчётов этот код не нужен — там диаграмму целиком собирает система компоновки данных по настройкам, которые мы разобрали выше.