HelpF.pro

Как сформировать диаграмму с типом Круговая

В этом примере показано как сформировать диаграмму с типом Круговая, которая выглядит:

Настройки

 

Код

Код 1C v 8.х
 Состояние("Формирование диаграммы продаж");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа КАК НоменклатураНоменклатурнаяГруппа,
| КОЛИЧЕСТВО(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот,
| СУММА(0) КАК Проц
|ИЗ
| РегистрНакопления.Продажи.Обороты(
| &ND,
| &KD,
| Запись,
| Организация = &Org
| И ДоговорКонтрагента.Менеджер В ИЕРАРХИИ (&Mened)) КАК ПродажиОбороты
|
|СГРУППИРОВАТЬ ПО
| ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа
|
|УПОРЯДОЧИТЬ ПО
| НоменклатураНоменклатурнаяГруппа
|АВТОУПОРЯДОЧИВАНИЕ";


Запрос.УстановитьПараметр("KD",КонПериодаР);
Запрос.УстановитьПараметр("Mened", МенеджерОПР);
Запрос.УстановитьПараметр("ND", НачПериодаР);
Запрос.УстановитьПараметр("Org", ДляОрганизацииОР);
Результат = Запрос.Выполнить();
Выборка = Результат.Выгрузить();
итог = Выборка.Итог("КоличествоОборот");
Для каждого СтрокаТЗ Из Выборка Цикл
СтрокаТЗ.Проц = Окр(СтрокаТЗ.КоличествоОборот*100/итог,2);
КонецЦикла;


ДиаграммаВП = ЭлементыФормы.ДиаграммаОР;
Для Каждого СтрТраб из Выборка Цикл
Серия=ДиаграммаВП.Серии.Добавить(?(ЗначениеЗаполнено(СтрТраб.Получить(0).Наименование), СтрТраб.Получить(0).Наименование+" - "+Строка(СтрТраб.Получить(2))+"%","Без группы"));
Попытка
ДиаграммаВП.УстановитьЗначение(1,Серия,?(СтрТраб.Получить(2)=Неопределено,0,СтрТраб.Получить(2)));
Исключение
// такого не должно быть, но на всякий случай
КонецПопытки;
КонецЦикла;  

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/1626.html