Отчеты и Аналитика · 9 мин
1С: как работать с диаграммами
Как работать с диаграммами в 1С: виды диаграмм, настройка в СКД и вручную, вывод на форму, типичные ошибки и проверка результата.
Диаграммы в 1С — это встроенный инструмент визуализации данных: графики продаж, структура задолженности, динамика остатков на складе. Они доступны и пользователю в готовых отчётах, и разработчику, который строит собственные формы и отчёты через СКД или программный код.
Работа с диаграммой делится на три независимые задачи: подготовить данные (запрос или таблица значений), настроить саму диаграмму (тип, серии, точки, подписи) и вывести её туда, где её увидит пользователь — в отчёт, на форму или на начальную страницу. Ошибка на любом из этих шагов приводит к пустому графику или к нечитаемой картинке.
Ниже разобраны основные виды диаграмм, настройка через конструктор СКД, программное заполнение, вывод на управляемую форму и типичные проблемы. Материал ориентирован на типовые конфигурации на платформе 8.3, но принципы одинаковы для большинства решений.
Какие виды диаграмм доступны в 1С и когда их применять
Платформа поддерживает несколько десятков типов диаграмм: график, гистограмма, круговая, измерительная (спидометр), лепестковая, поверхность и другие. Выбор типа определяется характером данных, а не вкусом разработчика: неправильный тип делает отчёт нечитаемым даже при корректных цифрах.
Динамику во времени (продажи по месяцам, остатки по дням) показывают графиком или гистограммой. Структуру целого (доля товарных групп в выручке) — круговой диаграммой, но только если долей не больше 5–7, иначе сектора сливаются. Сравнение нескольких показателей по одним категориям удобно делать гистограммой с накоплением или группировкой.
Измерительные диаграммы подходят для показа одного значения относительно шкалы — например, выполнение плана в процентах. Использовать их для множества значений бессмысленно: они занимают много места и не дают сравнения.
Выбор типа диаграммы
Динамика показателя во времени; не подходит для сравнения несвязанных категорий
Сравнение значений по категориям и нескольким сериям; перегружается при большом числе точек
Доли в целом при 3–7 секторах; нечитаема при большом количестве мелких долей
Один показатель относительно шкалы (выполнение плана); не для сравнения серий
Ключевые понятия: серии, точки и значения
Любая диаграмма в 1С строится на трёх сущностях. Точки — это категории по оси X (месяцы, контрагенты, склады). Серии — измеряемые показатели (сумма продаж, количество, прибыль). Значение — число на пересечении точки и серии. Понимание этой модели обязательно: большинство ошибок при программном заполнении связано именно с путаницей между сериями и точками.
Например, для графика «Продажи по менеджерам по месяцам» менеджеры будут сериями, месяцы — точками, а сумма продаж конкретного менеджера в конкретном месяце — значением. Если поменять серии и точки местами, диаграмма построится, но будет показывать данные в неудобном разрезе.
Добавление диаграммы в отчёт через СКД
Самый быстрый способ получить диаграмму без программирования — система компоновки данных. В схеме компоновки отчёта на закладке «Настройки» в дереве элементов выберите «Диаграмма» и добавьте её в структуру. Затем в настройках диаграммы укажите, какое поле будет точками, какое — сериями, а какое — ресурсом (значением).
Запрос набора данных должен возвращать все три измерения: измерение точек, измерение серий и числовой ресурс. Если в запросе нет отдельного поля для серий, диаграмма построится с одной безымянной серией — для простых графиков этого достаточно.
Тип диаграммы задаётся в параметрах вывода настроек: «Тип диаграммы» в свойствах элемента. Там же включаются легенда, подписи значений и заголовок. Для круговой диаграммы имеет смысл включить отображение процентов, для гистограммы — подписи значений, если точек немного.
- 1Сформируйте запрос набора данных с полями: измерение точек, измерение серий, числовой ресурс
- 2На закладке «Настройки» добавьте элемент «Диаграмма» в структуру отчёта
- 3В свойствах диаграммы укажите поля точек, серий и ресурс
- 4Задайте тип диаграммы и включите легенду
- 5Сформируйте отчёт и проверьте, что данные отображаются в ожидаемых разрезах
Программное заполнение диаграммы на форме
Если диаграмма нужна на произвольной форме (например, на панели показателей руководителя), добавьте на форму элемент «Диаграмма» и заполните его кодом. Сначала очищают диаграмму методом Очистить(), затем создают серии и точки и устанавливают значения.
Типовой фрагмент кода выглядит так:
Диаграмма.Очистить();
Диаграмма.ТипДиаграммы = ТипДиаграммы.График;
Серия = Диаграмма.УстановитьСерию("Продажи");
Пока Выборка.Следующий() Цикл
Точка = Диаграмма.УстановитьТочку(Выборка.Период);
Диаграмма.УстановитьЗначение(Точка, Серия, Выборка.Сумма);
КонецЦикла;
Источником данных обычно служит результат запроса или таблица значений. Важно заполнять диаграмму после получения данных и обновлять её при изменении отборов — иначе пользователь увидит устаревший график. Для автообновления на форме подключают обработчик ожидания или перезаполняют диаграмму в обработчике изменения параметров.
Настройка внешнего вида: подписи, легенда, цвета
Читаемость диаграммы определяют мелочи. Легенда обязательна, если серий больше одной, — без неё пользователь не поймёт, какая линия чему соответствует. Подписи значений включают только при небольшом числе точек: на графике из 30 точек подписи наложатся друг на друга.
Цвета серий платформа назначает автоматически, но их можно переопределить через свойство Цвет серии. Это полезно, когда нужно закрепить фирменные цвета или выделить проблемную серию красным. Для гистограмм доступен режим накопления, где виден и вклад каждой серии, и итог.
Текст заголовка и подписи осей задаются свойствами диаграммы. Если диаграмма выводится в отчёте СКД, часть оформления управляется параметрами вывода, а не кодом — проверяйте оба места, когда настройка «не срабатывает».
Типичные ошибки и их устранение
Самая частая жалоба — пустая диаграмма при корректном запросе. Причины: поле ресурса не числовое (например, строка), в выборке нет данных под текущими отборами, либо в СКД поле ресурса не добавлено в ресурсы схемы. Проверяйте запрос отдельно в консоли запросов, прежде чем искать ошибку в настройках диаграммы.
Вторая группа проблем — неправильные разрезы: диаграмма строится, но серии и точки перепутаны. В СКД это лечится переносом полей между списками точек и серий; в коде — заменой аргументов в УстановитьЗначение.
Третья группа — производительность. Диаграмма с тысячами точек строится медленно и выглядит как сплошное пятно. Ограничивайте число точек группировкой (по месяцам вместо дней) или отбором топ-N значений.
Проверка результата и границы самостоятельной работы
После настройки сверьте диаграмму с исходными данными: сформируйте тот же отчёт в табличном виде и сравните итоги по сериям. Совпадение сумм — главный признак корректной настройки. Дополнительно проверьте поведение при пустой выборке (диаграмма должна очищаться, а не показывать старые данные) и при изменении периода.
Самостоятельно безопасно настраивать диаграммы в копии базы или в расширении конфигурации. Прямые изменения типового отчёта в рабочей базе могут быть потеряны при обновлении конфигурации — для доработок используйте расширения или внешние отчёты.
Как проверить результат
Совпадают с суммами табличного отчёта за тот же период
Суммы расходятся — ошибка в запросе или ресурсах
Диаграмма очищается или показывает отсутствие данных
Остаются данные прошлого формирования — нет Очистить()
Построение занимает секунды
Формирование «зависает» — слишком много точек
Часто задаваемые вопросы
Можно ли вывести диаграмму в печатную форму?
Да. Диаграмму можно поместить в табличный документ как рисунок: сначала диаграмма формируется (на форме или программно), затем выводится в область табличного документа. Учтите, что качество и пропорции зависят от заданных размеров области.
Почему круговая диаграмма показывает «Прочие» вместо всех секторов?
При большом числе точек платформа или настройки отчёта могут объединять мелкие доли. Ограничьте выборку топ-N значений в запросе, а остаток сгруппируйте вручную в категорию «Прочие» — так вы контролируете результат.
Как обновлять диаграмму автоматически при изменении данных?
На управляемой форме подключите обработчик ожидания с нужным интервалом и в нём перезаполняйте диаграмму. В отчётах СКД достаточно кнопки «Сформировать» — диаграмма перестраивается вместе с отчётом.
Можно ли построить диаграмму без СКД и без программирования?
В типовых конфигурациях многие отчёты уже содержат диаграммы — достаточно включить их в настройках варианта отчёта. Также в ряде конфигураций есть универсальные отчёты, где диаграмма добавляется через пользовательские настройки без изменения кода.
Диаграмма строится медленно. Что делать?
Сократите число точек группировкой по более крупным периодам, ограничьте выборку отборами, отключите автообновление диаграммы на время заполнения в коде. Если данные тяжёлые, вычисляйте итоги запросом с группировками, а не суммируйте в цикле.
Что важно запомнить
Диаграмма в 1С строится из точек, серий и значений. Простые графики добавляйте через СКД, произвольные — программно с методами УстановитьТочку, УстановитьСерию, УстановитьЗначение. Проверяйте итоги по табличному отчёту, ограничивайте число точек и делайте доработки через расширения, а не изменением типовой конфигурации.