Как настроить круговую диаграмму в СКД 1С для отображения соотношения статусов документов

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Почему диаграмма выводится целиком одного цвета?

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

  1. Значения (Ресурсы) — это числовые показатели, которые определяют размер секторов круга или высоту столбцов. Без числового выражения система просто не знает, в каких пропорциях делить диаграмму.
  2. Точки — это деления по горизонтальной оси (X). В круговой диаграмме точки обычно не используются, так как она отображает структуру одного показателя.
  3. Серии — это категории, на которые делятся наши данные. Именно серии формируют легенду диаграммы (список соответствия цветов и значений).

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

Давайте исправим эту ситуацию и спроектируем отчет правильно с самого начала.

Шаг 1. Корректировка запроса в конструкторе

Первое, с чего мы начнем — это изменение структуры запроса. Первоначальный запрос, который выбирал только дату и статус, не подходит:


ВЫБРАТЬ
    СтатусыФизЛиц.Дата КАК Дата,
    СтатусыФизЛиц.Статус КАК Статус
ИЗ
    Документ.СтатусыФизЛиц КАК СтатусыФизЛиц

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


ВЫБРАТЬ
    СтатусыФизЛиц.Статус КАК Статус,
    СтатусыФизЛиц.Ссылка КАК Ссылка
ИЗ
    Документ.СтатусыФизЛиц КАК СтатусыФизЛиц

Теперь у нас есть аналитика (поле Статус) и объект для расчета (поле Ссылка).

Шаг 2. Определение ресурсов отчета

Перейдем на вкладку «Ресурсы» в схеме компоновки данных. Нам нужно указать системе, что поле Ссылка является агрегируемым показателем, который мы будем подсчитывать.

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

Количество(Ссылка)

Или, если в выборку могут попасть дубли, используем более строгий вариант:

Количество(Различные Ссылка)

Теперь СКД знает, что у нас есть числовой показатель, который можно агрегировать и делить на доли.

Шаг 3. Настройка структуры диаграммы

Перейдем на вкладку «Настройки». Именно здесь происходит магия визуализации данных. Давайте настроим структуру нашего отчета по шагам:

  1. В корне структуры отчета добавим новый элемент. Для этого нажмем правой кнопкой мыши на корневой элемент и выберем «Добавить Диаграмму».
  2. В структуре созданной диаграммы появятся две ветки: «Точки» и «Серии».
  3. Перенесем наше поле Статус в ветку «Серии». Ветку «Точки» мы оставляем абсолютно пустой. Это критически важно для классической круговой диаграммы, так как серии будут отвечать за деление круга на разноцветные сектора.
  4. Выделим саму диаграмму в структуре настроек и перейдем на вкладку «Выбранные поля» в нижней части окна конструктора.
  5. Добавим туда наш созданный ресурс — Ссылка (в сформированном отчете это поле будет отображаться как количество).

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

Шаг 4. Настройка вывода процентов и подписей

Чтобы диаграмма была не просто разноцветным кругом, а несла конкретную смысловую нагрузку без необходимости постоянно наводить мышку на сектора, настроим вывод подписей прямо на графике.

Выделим элемент «Диаграмма» в структуре настроек, перейдем на вкладку «Другие настройки» (в правом нижнем углу конструктора СКД) и найдем следующие параметры:

Шаг 5. Тонкая настройка цветов (Условное оформление)

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

Разберем, как это настроить:

  1. В настройках СКД перейдем на вкладку «Условное оформление».
  2. Добавим новый элемент оформления.
  3. В появившемся окне в поле «Оформление» найдем параметр «Цвет в диаграмме». Нажмем на него и выберем приятный зеленый цвет.
  4. Перейдем на вкладку «Условие» и добавим новое условие: Статус Равно "Пройдено".
  5. Перейдем на вкладку «Оформляемые поля» и выберем наше поле Статус.
  6. Повторим аналогичные действия для остальных статусов: для «Не пройдено» зададим красный цвет, а для «В ожидании» — желтый.

Благодаря этой настройке, независимо от объема данных и порядка их вывода, цвета секторов диаграммы будут жестко привязаны к бизнес-логике ваших статусов, что значительно облегчит чтение отчета конечными пользователями.

Использование современных кольцевых диаграмм

Если вы работаете на современных версиях платформы (начиная с 1С:Предприятие 8.3.15 и выше), мы рекомендуем обратить внимание на тип диаграммы Кольцевая (или Кольцевая объемная). Это современный аналог круговой диаграммы (так называемый "donut chart").

Она настраивается абсолютно так же, но имеет дополнительные эстетические преимущества:

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

← На главную