HelpF.pro

Построение диаграммы

Код 1C v 8.х
 Процедура ФормДиаграммы()
Траб=Новый ТаблицаЗначений;
Траб.Очистить();
Траб.Колонки.Добавить("ххх");
Траб.Колонки.Добавить("Норм");
Траб.Колонки.Добавить("Факт");

НовСтр=Траб.Добавить();
НовСтр.ххх="а1";
НовСтр.Норм=5;
НовСтр.Факт=10;
НовСтр=Траб.Добавить();
НовСтр.ххх="а2";
НовСтр.Норм=2;
НовСтр.Факт=15;
НовСтр=Траб.Добавить();
НовСтр.ххх="а3";
НовСтр.Норм=8;
НовСтр.Факт=14;

ТабДок = Новый ТабличныйДокумент;
Макет = Отчеты.УчетнаяКарточка.ПолучитьМакет("Диагр");

ОблДиаграмма = Макет.ПолучитьОбласть("Диагр1");
Диаграмма = ОблДиаграмма.Рисунки.D1.Объект;

Диаграмма.СерииВСтроках = Ложь;
Диаграмма.Обновление=Ложь;

Диаграмма.ИсточникДанных = Траб;

Диаграмма.Обновление=Истина;
ТабДок.Вывести(ОблДиаграмма);

ТабДок.АвтоМасштаб=Истина;
ТабДок.ОриентацияСтраницы=ОриентацияСтраницы.Ландшафт;
ТабДок.Показать();
КонецПроцедуры


Полезная процедура формирования диаграммы в макете

Строить можно и в макете и в форме.
Код 1C v 8.х
 
Процедура ПостроитьДиаграмму(Траб,Диаграмма)

Для Каждого Колонка из Траб.Колонки Цикл
Если Траб.Колонки.Индекс(Колонка) <> 0 Тогда
Диаграмма.Серии.Добавить(Колонка.Имя);
КонецЕсли;
КонецЦикла;

Для Каждого СтрТраб из Траб Цикл
Точка=Диаграмма.Точки.Добавить(СтрТраб.Получить(0));
Индекс=0;
Для Каждого Серия из Диаграмма.Серии Цикл
Индекс=Индекс+1;
Диаграмма.УстановитьЗначение(Точка,Серия,СтрТраб.Получить(Индекс));
КонецЦикла;
КонецЦикла;
КонецПроцедуры

gwa. Григорьев В.
Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq8/view/363.html