1С-Предприятие 8.0. Практическое пособие разработчика


Создание отчета РейтингКлиентов - часть 5


Теперь изменим тип диаграммы на "Круговая объемная":

Только что мы рассмотрели с вами общий случай заполнения Диаграммы данными. Однако если исходные данные могут быть получены в виде таблицы значений или области ячеек табличного Документа, существует более простой и эффективный способ [205] заполнения диаграммы данными, используя свойство диаграммы – "ИсточникДанных".

Вернемся в модуль формы отчета "РейтингКлиентов" и все строки, которыми мы добавляли в диаграмму данные:

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

   Диаграмма = ЭлементыФормы.Диаграмма;

   //запретить обновление и автотранспонирование диаграммы

   Диаграмма.Обновление = Ложь;

   Диаграмма.АвтоТранспонирование = Ложь;

   //создать единственную точку диаграммы

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

   //перебрать выборку результата запроса и создать серии и значения

   Пока ВыборкаРезультатаЗапроса.Следующий() Цикл

       ТекущаяСерияДиаграммы = Диаграмма.УстановитьСерию(ВыборкаРезультатаЗапроса.Клиент);

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

   КонецЦикла;

   //разрешить обновление и автотранспонирование диаграммы

   Диаграмма.Обновление = Истина;

   Диаграмма.АвтоТранспонирование = Истина;

 

заменим одной строкой:

   ЭлементыФормы.Диаграмма.ИсточникДанных = Запрос.Выполнить().Выгрузить();

 

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

Запустите 1С:Предприятие в режиме отладки и проверьте работу отчета. Обратите внимание на то, что некоторые типы диаграмм выглядят "некрасиво" (график) или не отображаются совсем (изометрическая непрерывная, изометрическая лента). Это связано с тем, что при использовании источника данных нет возможности использовать свойство диаграммы "АвтоТранспонирование" и нужно [206] обрабатывать транспонирование диаграммы "вручную" (используя свойство СерииВСтроках).

Таким образом, на примере этого отчета мы продемонстрировали как создавать запросы, используя конструктор запросов, и как использовать диаграмму для визуализации результата запроса. [207]




Начало  Назад  Вперед



Книжный магазин