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

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

Что такое серии и точки в диаграмме 1С

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

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

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

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

Что такое точка диаграммы и за что она отвечает

Точка — это элемент оси категорий. В гистограмме точки идут по горизонтали, в графике — тоже по оси X, в круговой диаграмме каждая точка становится отдельным сектором. Набор точек определяет «скелет» диаграммы: сколько делений будет на оси и как они подписаны.

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

Важно понимать: количество точек не связано с количеством показателей. Если у вас 12 месяцев и 3 показателя, точек будет 12, а серий — 3. Каждая ячейка этой «сетки» 12×3 — отдельное значение диаграммы.

Что такое серия диаграммы и когда их несколько

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

Каждая серия хранит собственный набор значений по всем точкам. Если для какой-то точки значение серии не задано, платформа отобразит пропуск (разрыв линии на графике или отсутствие столбца), а не ноль — это частый источник путаницы при сравнении с отчётами, где пустое значение показывается как 0.

Как устроены значения: пересечение серии и точки

Конкретное число на диаграмме — это значение, заданное для пары «серия + точка». В встроенном языке оно устанавливается методом УстановитьЗначение, куда передаются точка, серия и число. Получить значение обратно можно методом ПолучитьЗначение — он возвращает структуру с самим значением и расшифровкой, если она была задана.

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

Настройка серий и точек в конфигураторе без кода

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

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

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

Что назначить сериями, а что точками

Нужно сравнить показатели во времени (месяцы, недели)Период — в точки, показатели (план/факт) — в серии
Нужно сравнить подразделения или склады по одному показателюПодразделения — в точки, одна серия для показателя
Нужно сравнить несколько объектов по нескольким периодамПериоды — в точки, объекты — в серии, но не более 5–7 серий для читаемости
Уникальных значений поля больше 10–15Не делайте это поле сериями — сгруппируйте данные или используйте точки

Программное заполнение диаграммы на встроенном языке

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

Диаграмма.Очистить();

Диаграмма.КоличествоСерий = 1;

Диаграмма.КоличествоТочек = 0; // точки добавим по мере обхода

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

СоответствиеТочек = Новый Соответствие;

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

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

Точка = СоответствиеТочек[Выборка.Период];

Если Точка = Неопределено Тогда

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

СоответствиеТочек.Вставить(Выборка.Период, Точка);

КонецЕсли;

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

КонецЦикла;

Обратите внимание на вызов Очистить() перед заполнением: без него при повторном построении старые точки и серии останутся, и диаграмма «удвоится». Это одна из самых частых ошибок при динамическом обновлении диаграмм на форме.

Порядок программного заполнения диаграммы
  1. 1
    Вызовите Очистить() у объекта диаграммы
  2. 2
    Подготовьте запрос с полями: категория, показатель, значение
  3. 3
    Задайте серии через УстановитьСерию и сохраните их в соответствие
  4. 4
    В цикле по выборке создавайте точки через УстановитьТочку
  5. 5
    Установите значения методом УстановитьЗначение(Точка, Серия, Значение)
  6. 6
    Проверьте диаграмму на форме: легенда, подписи осей, отсутствие дублей

Типичные ошибки и как их диагностировать

Первая группа ошибок — структурные: серии и точки перепутаны местами. Признак — диаграмма «лежит на боку»: вместо 12 месяцев по оси X вы видите 2 точки и 12 серий. Лечится переназначением полей в настройках СКД или местами вызовов УстановитьТочку/УстановитьСерию в коде.

Вторая группа — данные с дублями категорий. Если запрос возвращает один и тот же период в разном представлении (например, дата с временем вместо начала месяца), каждое значение станет отдельной точкой, и вместо 12 столбцов появятся сотни. Приводите периоды к единой гранулярности функциями запроса НАЧАЛОПЕРИОДА.

Третья группа — пропуски значений. Если для пары «точка + серия» значение не установлено, на графике будет разрыв. Проверьте, что запрос возвращает строки для всех комбинаций, либо явно проставляйте 0 там, где отсутствие данных означает именно ноль.

Типичные ошибки при работе с сериями и точками
01
Забыли Очистить() перед заполнением — старые и новые данные накладываются, диаграмма дублируется
02
Перепутали серии и точки — вместо графика по месяцам получили десятки серий и две точки
03
Назначили сериями поле с сотнями уникальных значений — нечитаемая легенда и медленная отрисовка
04
Не сгруппировали периоды — каждая дата с временем стала отдельной точкой
05
Ожидали ноль вместо пропуска — на графике появились разрывы линий

Как проверить, что диаграмма построена правильно

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

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

Контрольные точки

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

Количество точек
Норма

Равно числу различных категорий в запросе

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

Точек намного больше — вероятны дубли из-за разного представления периода

Количество серий
Норма

Равно числу сравниваемых показателей, легенда читаема

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

Десятки серий — поле серий выбрано неверно

Значения на графике
Норма

Совпадают с итогами запроса по каждой паре точка/серия

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

Разрывы или нули там, где в данных есть значения

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

Диаграмма перестраивается без дублей

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

Старые серии и точки остаются — не вызван Очистить()

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

Чем серия отличается от точки простыми словами?

Точка — это «где» на оси категорий стоит значение (месяц, склад, товар). Серия — это «что именно» измеряется в этой точке (план, факт, прошлый год). Одна диаграмма всегда состоит из сетки: точки по горизонтали, серии как отдельные ряды значений.

Почему диаграмма пустая, хотя запрос возвращает данные?

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

Сколько серий можно добавить на одну диаграмму?

Жёсткого практического ограничения для разумных объёмов нет, но с ростом числа серий диаграмма становится нечитаемой: цвета повторяются, легенда раздувается. Практический ориентир — до 5–7 серий; при большем количестве лучше группировать данные или использовать несколько диаграмм.

Как сделать подпись точки отличной от её значения?

У объекта точки есть свойство текста подписи, которое можно задать отдельно от значения. Это удобно, когда значением является ссылка или дата, а на оси нужно показать короткое представление, например «Янв» вместо полной даты.

Можно ли по клику на столбец диаграммы открыть расшифровку?

Да. При установке значения передайте расшифровку (произвольные данные, например структуру отборов), а в обработчике события диаграммы получите её через ПолучитьЗначение и откройте нужный отчёт или объект. Это штатный механизм интерактивности.

Почему на графике разрывы линий вместо нулей?

Потому что для соответствующих пар «точка + серия» значение не задано вовсе, а пропуск отображается как разрыв. Если отсутствие данных означает ноль, явно устанавливайте значение 0 при заполнении диаграммы.

Итог

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

Точка — категория на оси, серия — сравниваемый ряд значений, а каждое число диаграммы живёт на их пересечении. Перед заполнением очищайте диаграмму, не назначайте сериями поля с множеством уникальных значений и сверяйте результат с исходным запросом по числу точек, серий и итогам.