При разработке отчетов в системе компоновки данных (СКД) на платформе 1С:Предприятие начинающие специалисты часто сталкиваются с проблемой, когда круговая или столбчатая диаграмма выводится сплошным монолитным блоком одного цвета. Вроде бы данные в информационной базе есть, в запросе выбраны нужные поля (например, статусы «Пройдено», «Не пройдено», «В ожидании»), но диаграмма упорно показывает общую сумму всех записей без разделения на цветные сектора. Давайте подробно разберем, почему возникает эта ошибка, как устроена логика работы графических схем в СКД, и по шагам настроим красивый, информативный отчет.
Для того чтобы понять причину проблемы, нам необходимо разобраться в том, как СКД интерпретирует данные для построения графиков. Любая диаграмма в 1С строится на трех китах:
Когда мы просто выбираем текстовое поле статуса в запросе и выводим его на диаграмму без указания ресурсов и правильной структуры, СКД не понимает, по какому показателю производить расчет. Система видит лишь набор строк и выводит их общим количеством, окрашивая всю диаграмму в один дефолтный цвет.
Давайте исправим эту ситуацию и спроектируем отчет правильно с самого начала.
Первое, с чего мы начнем — это изменение структуры запроса. Первоначальный запрос, который выбирал только дату и статус, не подходит:
ВЫБРАТЬ
СтатусыФизЛиц.Дата КАК Дата,
СтатусыФизЛиц.Статус КАК Статус
ИЗ
Документ.СтатусыФизЛиц КАК СтатусыФизЛиц
Чтобы система могла посчитать количество документов по каждому статусу, нам необходимо выбрать уникальный идентификатор каждой записи. В случае с документами это поле Ссылка. Изменим наш запрос следующим образом:
ВЫБРАТЬ
СтатусыФизЛиц.Статус КАК Статус,
СтатусыФизЛиц.Ссылка КАК Ссылка
ИЗ
Документ.СтатусыФизЛиц КАК СтатусыФизЛиц
Теперь у нас есть аналитика (поле Статус) и объект для расчета (поле Ссылка).
Перейдем на вкладку «Ресурсы» в схеме компоновки данных. Нам нужно указать системе, что поле Ссылка является агрегируемым показателем, который мы будем подсчитывать.
Перенесем поле Ссылка в список ресурсов. В колонке «Выражение» платформа автоматически предложит нам формулу суммирования, но для ссылочных типов данных суммирование невозможно. Нам необходимо вручную или с помощью выпадающего списка прописать выражение подсчета количества:
Количество(Ссылка)
Или, если в выборку могут попасть дубли, используем более строгий вариант:
Количество(Различные Ссылка)
Теперь СКД знает, что у нас есть числовой показатель, который можно агрегировать и делить на доли.
Перейдем на вкладку «Настройки». Именно здесь происходит магия визуализации данных. Давайте настроим структуру нашего отчета по шагам:
Статус в ветку «Серии». Ветку «Точки» мы оставляем абсолютно пустой. Это критически важно для классической круговой диаграммы, так как серии будут отвечать за деление круга на разноцветные сектора.Ссылка (в сформированном отчете это поле будет отображаться как количество).После выполнения этих трех шагов диаграмма уже начнет корректно работать: она разделится на разноцветные сектора, соответствующие различным статусам, а размер каждого сектора будет пропорционален количеству документов с этим статусом.
Чтобы диаграмма была не просто разноцветным кругом, а несла конкретную смысловую нагрузку без необходимости постоянно наводить мышку на сектора, настроим вывод подписей прямо на графике.
Выделим элемент «Диаграмма» в структуре настроек, перейдем на вкладку «Другие настройки» (в правом нижнем углу конструктора СКД) и найдем следующие параметры:
Круговая или Круговая объемная.Серия + процент или Серия + значение + процент. Это позволит вывести на секторах понятные подписи вроде: «Пройдено: 50%».Справа или Внизу.Стандартная палитра 1С присваивает цвета секторам случайным образом. Но для восприятия отчета пользователем гораздо удобнее, когда статус «Пройдено» всегда отображается зеленым цветом, «Не пройдено» — красным, а «В ожидании» — желтым. Для реализации этой логики мы применим механизм условного оформления.
Разберем, как это настроить:
Статус Равно "Пройдено".Статус.Благодаря этой настройке, независимо от объема данных и порядка их вывода, цвета секторов диаграммы будут жестко привязаны к бизнес-логике ваших статусов, что значительно облегчит чтение отчета конечными пользователями.
Если вы работаете на современных версиях платформы (начиная с 1С:Предприятие 8.3.15 и выше), мы рекомендуем обратить внимание на тип диаграммы Кольцевая (или Кольцевая объемная). Это современный аналог круговой диаграммы (так называемый "donut chart").
Она настраивается абсолютно так же, но имеет дополнительные эстетические преимущества:
Мы полностью разобрали процесс создания диаграммы. Применив этот пошаговый алгоритм, вы сможете быстро и профессионально строить любые графические отчеты в СКД 1С. В качестве готового решения для анализа показателей можно использовать отчет на СКД для сбора статистики по документам.