К статье
Практический материал

Отчеты и Аналитика · 13 мин

Как настроить график в 1С: практическое руководство

Как настроить график и диаграмму в 1С: выбор типа, источники данных, настройка серий и точек, оформление, типичные ошибки и проверка результата.

Графики и диаграммы в 1С используются в отчётах, на формах документов и в управляемых интерфейсах рабочего стола. Под «настройкой графика» обычно понимают три разные задачи: построение диаграммы в отчёте на СКД, вывод диаграммы на форму через программный код и настройку внешнего вида уже готовой диаграммы. Подход к каждой задаче отличается, поэтому сначала определите, где именно должен появиться график.

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

Ниже разобраны оба сценария: работа с диаграммой в режиме «Предприятие» через настройки отчёта и полноценная настройка в конфигураторе с заполнением серий и точек. Отдельно описаны типичные ошибки, из-за которых график не отображается или показывает неверные данные.

Определите, где нужен график: отчёт, форма или рабочий стол

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

Если график должен быть частью интерфейса — например, индикатор на начальной странице или диаграмма загрузки в карточке объекта — потребуется доработка конфигурации. Элемент «Диаграмма» добавляется на форму в конфигураторе, а данные в него подставляются кодом на встроенном языке. Такая работа требует прав на изменение конфигурации и тестовой базы для проверки.

Третий вариант — диаграммы Ганта и графические схемы для планирования и маршрутов. Они настраиваются похожим образом, но имеют собственные типы и ограничения. Не пытайтесь заменить диаграмму Ганта обычной линейной диаграммой: шкала времени и связи между интервалами в ней не реализуются штатно.

Маршрут решения

Как выбрать подход

График нужен для анализа данных и периодических просмотровИспользуйте отчёт на СКД с диаграммой — настраивается без изменения конфигурации
График должен постоянно отображаться на форме или рабочем столеДобавьте элемент «Диаграмма» на форму в конфигураторе и заполняйте программно
Нужно показать интервалы во времени (проекты, смены, ремонты)Используйте диаграмму Ганта, а не обычный график
Диаграмма уже есть в типовом отчёте, но не устраивает видОткройте «Ещё → Изменить вариант» и настройте закладку «Диаграмма»

Настройка диаграммы в отчёте на СКД в режиме «Предприятие»

Откройте нужный отчёт и перейдите в настройки: в типовых конфигурациях это кнопка «Настройки» или пункт «Ещё → Изменить вариант отчёта». В расширенных настройках появятся закладки, среди которых есть «Диаграмма». Если закладки нет, в текущем варианте отчёта диаграмма не предусмотрена — переключитесь на структуру отчёта и добавьте элемент «Диаграмма» вместо таблицы или вместе с ней.

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

После настройки нажмите «Закрыть и сформировать». Если диаграмма появилась, но выглядит пустой, проверьте отборы отчёта: чаще всего данные просто отфильтрованы периодом или условием. Если данные в табличной части того же отчёта есть, а диаграмма пустая — проблема в привязке полей к сериям и точкам.

Порядок настройки диаграммы в отчёте
  1. 1
    Откройте отчёт и перейдите в «Ещё → Изменить вариант» (или «Настройки → Расширенные»)
  2. 2
    В структуре отчёта добавьте элемент «Диаграмма», если его нет
  3. 3
    На закладке «Диаграмма» выберите тип: график, гистограмма, круговая и т.д.
  4. 4
    Перетащите поля в области «Серии», «Точки» и укажите значение
  5. 5
    Нажмите «Закрыть и сформировать» и проверьте результат на реальных данных
  6. 6
    Сохраните вариант отчёта, чтобы настройки не потерялись

Выбор типа диаграммы под задачу

Тип диаграммы определяет, насколько удобно читать данные. График (линейный) подходит для динамики во времени: выручка по месяцам, курс валют, остаток на складе. Гистограмма удобна для сравнения категорий: продажи по менеджерам, поступления по поставщикам. Круговая диаграмма показывает доли целого, но только если категорий немного — при десятке секторов она становится нечитаемой.

Изометрические (объёмные) варианты выглядят эффектно, но искажают восприятие пропорций. Для управленческой отчётности лучше использовать плоские типы: они точнее передают соотношения. Если рядов данных много, попробуйте гистограмму с накоплением — она покажет и структуру, и итог по категории.

Типы диаграмм и когда их применять

График (линейный)

Динамика во времени. Ограничение: плохо читается при большом числе серий — линии сливаются

Гистограмма

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

Круговая

Доли в целом при 3–7 категориях. Ограничение: не показывает динамику и плохо сравнивает близкие значения

График с областями

Динамика с акцентом на накопленный объём. Ограничение: наложение областей может скрывать малые ряды

Диаграмма Ганта

Интервалы и связи во времени: проекты, расписания. Ограничение: требует данных с датами начала и окончания

Настройка диаграммы на форме в конфигураторе

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

Заполнение выполняется кодом в модуле формы. Базовый принцип: сначала очищается диаграмма, затем добавляются серии и точки, после чего метод УстановитьЗначение связывает их числовыми значениями. Данные обычно получают запросом к регистрам или документам, выборку обходят в цикле и передают в диаграмму.

Пример минимального кода для заполнения диаграммы на управляемой форме:

&НаСервере

Процедура ЗаполнитьДиаграмму()

ДиаграммаПродажи.Очистить();

ДиаграммаПродажи.ТипДиаграммы = ТипДиаграммы.График;

Запрос = Новый Запрос(

"ВЫБРАТЬ

| Продажи.Период КАК Период,

| СУММА(Продажи.СуммаОборот) КАК Сумма

|ИЗ

| РегистрНакопления.Продажи.Обороты(&Начало, &Конец, Месяц, ) КАК Продажи

|СГРУППИРОВАТЬ ПО

| Продажи.Период

|УПОРЯДОЧИТЬ ПО

| Период");

Запрос.УстановитьПараметр("Начало", НачалоГода(ТекущаяДатаСеанса()));

Запрос.УстановитьПараметр("Конец", КонецМесяца(ТекущаяДатаСеанса()));

Выборка = Запрос.Выполнить().Выбрать();

Серия = ДиаграммаПродажи.УстановитьСерию("Продажи");

Пока Выборка.Следующий() Цикл

Точка = ДиаграммаПродажи.УстановитьТочку(Формат(Выборка.Период, "ДФ=МММ"));

ДиаграммаПродажи.УстановитьЗначение(Точка, Серия, Выборка.Сумма);

КонецЦикла;

КонецПроцедуры

Вызывайте заполнение из обработчика ПриСозданииНаСервере или по команде обновления. Учитывайте, что при каждом обновлении диаграмму нужно очищать методом Очистить(), иначе серии и точки будут дублироваться.

bsl
ДиаграммаПродажи.Очистить();
ДиаграммаПродажи.ТипДиаграммы = ТипДиаграммы.Гистограмма;
Серия = ДиаграммаПродажи.УстановитьСерию("Выручка");
Точка = ДиаграммаПродажи.УстановитьТочку("Январь");
ДиаграммаПродажи.УстановитьЗначение(Точка, Серия, 150000);

Оформление: подписи, легенда, цвета и шкалы

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

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

Цвета серий платформа подбирает автоматически из стандартной палитры. Если нужна корпоративная раскраска или акцент на конкретной серии, цвет задаётся программно через свойства серии. Не раскрашивайте каждую серию вручную без необходимости: при добавлении новых данных палитра собьётся, и диаграмму придётся перенастраивать.

Проверка результата и типичные ошибки

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

Самая частая причина пустой диаграммы — несоответствие полей: в серии или точки поставлено поле, которого нет в выборке, либо значение не числовое. Вторая по частоте проблема — отборы отчёта, отсекающие все данные. Третья — заполнение диаграммы на клиенте данными, которые доступны только на сервере: на управляемых формах запросы выполняются в серверных процедурах.

Типичные ошибки при настройке графиков
01
Не вызван Очистить() перед заполнением — серии и точки дублируются при каждом обновлении
02
В качестве значения передана строка или NULL вместо числа — точки не отображаются
03
Запрос выполняется в клиентской процедуре управляемой формы — ошибка или пустые данные
04
Слишком много серий на линейном графике — линии сливаются, график нечитаем
05
Круговая диаграмма на 15+ категорий — сектора неразличимы, легенда занимает половину экрана
06
Изменения внесены в настройки отчёта, но вариант не сохранён — после перезапуска всё пропало
Контрольные точки

Как проверить результат

Диаграмма отображается после формирования отчёта
Норма

Видны серии, точки и значения, соответствующие табличным данным отчёта

Тревожный признак

Пустая область диаграммы при заполненной таблице — проверяйте привязку полей

Повторное формирование отчёта
Норма

График обновляется без дублирования серий

Тревожный признак

Легенда растёт, линии накладываются — не выполняется очистка

Период без данных
Норма

Диаграмма пустая или показывает нули, ошибок нет

Тревожный признак

Сообщение об ошибке или «зависшее» старое изображение

Суммы на графике
Норма

Совпадают с итогами табличной части отчёта

Тревожный признак

Расхождения — в запросе диаграммы и таблицы разные отборы или группировки

Ограничения и когда нужен разработчик

Возможности пользовательской настройки в режиме «Предприятие» ограничены: можно менять тип диаграммы, поля серий и точек, отборы и период, но нельзя добавить произвольную шкалу, вторую ось значений или нестандартную подпись. Такие задачи решаются только в конфигураторе через макет СКД или программное формирование.

Доработка конфигурации требует осторожности. Изменения типовых объектов усложняют последующие обновления, поэтому графики на формах типовых конфигураций по возможности выносят в расширения. Работайте на копии базы и проверяйте, что обновление конфигурации не затрагивает доработанные формы.

Часто задаваемые вопросы

Почему диаграмма в отчёте пустая, хотя таблица с данными есть?

Чаще всего в настройках диаграммы в области серий или точек указано поле, которое отсутствует в выборке текущего варианта отчёта, либо значение показателя не является числом. Откройте расширенные настройки, закладку «Диаграмма» и проверьте, что поля серий, точек и значения соответствуют полям выборки. Также убедитесь, что к диаграмме применяются те же отборы, что и к таблице.

Можно ли настроить график без конфигуратора и программирования?

Да, если график нужен в отчёте. В типовых конфигурациях откройте отчёт, перейдите в «Ещё → Изменить вариант», добавьте элемент «Диаграмма» и настройте тип, серии и точки. Сохраните вариант отчёта под своим именем. Вывод диаграммы на форму документа или рабочий стол без конфигуратора невозможен.

Как изменить тип диаграммы с гистограммы на график?

В режиме «Предприятие» — через настройки варианта отчёта: закладка «Диаграмма», поле «Тип диаграммы». В конфигураторе — через свойство элемента формы или программно: Диаграмма.ТипДиаграммы = ТипДиаграммы.График;. После смены типа проверьте читаемость: линейный график требует упорядоченных точек, иначе линия будет «прыгать».

Почему при обновлении данных на форме серии диаграммы дублируются?

Потому что перед повторным заполнением не вызывается метод Очистить(). Каждый вызов УстановитьСерию и УстановитьТочку добавляет новые элементы к существующим. Первой строкой процедуры заполнения всегда очищайте диаграмму, а настройки оформления серий задавайте заново после заполнения.

Как показать на графике данные за произвольный период?

В отчёте на СКД добавьте параметры периода в настройках отчёта — пользователь сможет менять их перед формированием. При программном заполнении передавайте даты в параметры запроса, как в примере выше: УстановитьПараметр("Начало", ...) и УстановитьПараметр("Конец", ...), а границы периода берите из реквизитов формы.

Что делать, если одно значение намного больше остальных и график нечитаем?

Это типичная проблема масштаба. Варианты решения: исключить выброс отбором и показать его отдельно, сменить тип диаграммы на гистограмму с накоплением, либо сгруппировать мелкие значения в категорию «Прочие». Логарифмическая шкала в стандартной диаграмме 1С не настраивается штатно, поэтому данные иногда приходится готовить в запросе с нормировкой.

Итог

Что важно запомнить

График в отчёте настраивается через «Изменить вариант» с закладкой «Диаграмма» — это доступно без программирования. График на форме требует конфигуратора: элемент «Диаграмма» плюс код с Очистить(), УстановитьСерию, УстановитьТочку и УстановитьЗначение. Тип диаграммы выбирайте под задачу, результат проверяйте на пустых и пиковых данных, а доработки типовых конфигураций выполняйте на копии через расширения.