Не так давно мне потребовалось сделать отчет и показать график по этому отчету, проблема была в том, что количество графиков не было известно заранее и, следовательно, создавать их нужно было программно, об этом и пойдет речь ниже.
Весь код выглядит приблизительно так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | Процедура КнопкаВыполнитьНажатие(Кнопка) Диаг = ЭлементыФормы.Добавить(Тип("Диаграмма"), "Диаграмма", Истина, ЭлементыФормы.ПолеТД); Диаг.ТипДиаграммы = ТипДиаграммы.График; //Диаг.ОбластьЗаголовка.Текст = "Диаграмма"; //Диаг.ОбластьЗаголовка.Верх = 1; //Диаг.ОбластьЗаголовка.Лево = 1; //Диаг.ОбластьЗаголовка.Низ = 1; //Диаг.ОбластьЗаголовка.Право = 1; //Диаг.ОбластьПостроения.Верх = 1; //Диаг.ОбластьПостроения.Право = 1; Диаг.Обновление = Ложь; Диаг.АвтоТранспонирование = Ложь; Диаг.Верх = 10; Диаг.Лево = 10; Диаг.Ширина = 120; Диаг.Высота = 60; ПродажиСерия1 = Диаг.УстановитьСерию("Продажи 1"); ПродажиСерия2 = Диаг.УстановитьСерию("Продажи 2"); Данные = Новый ГенераторСлучайныхЧисел; Для С=1 По 12 Цикл ТочкаДиаграммы = Диаг.УстановитьТочку(С); Диаг.УстановитьЗначение(ТочкаДиаграммы, ПродажиСерия1, Данные.СлучайноеЧисло(10000, 30000)); Диаг.УстановитьЗначение(ТочкаДиаграммы, ПродажиСерия2, Данные.СлучайноеЧисло(10000, 30000)); КонецЦикла; Диаг.Обновление = Истина; Диаг.АвтоТранспонирование = Истина; Диаг.Видимость = Истина; КонецПроцедуры |
Теперь разберем код подробнее.
В строке 2 и 3 создается сама диаграмма, в четвертом параметре с чудесным названием — «ПоместитьНа», я указываю поле табличного документа, на которое и выводится весь отчет.
Закомментированные строки 5-13 позволяют задать заголовок для диаграммы, а также определить его положение, как и положение области построения.
В строках 15-22, задаются размеры и положение диаграммы, а также отключаются некоторые, пока ненужные, параметры.
В строках 24 и 25, я создаю серии диаграммы (серия это набор значений, в данном случае серии хранят значения по оси y, а значения по оси x будут обозначены точками).
В строках 27-34 идет создание точек диаграммы и установка значений точки для созданных ранее серий (в этом мне помогает генератор случайных чисел).
В конце, строки 36-38, включаем обратно, отключенные ранее параметры и показываем нашу диаграмму.
В итоге получается нечто подобное:
На этом все, спасибо за внимание, надеюсь данная статья кому-то помогла.
Загрузка...
Супер) Как раз то, что я искала!
На Вашем примере (СПАСИБО) сделал свой, всё хорошо, но не могу назначить событие (Выбор) этой диаграмме, собственно действие создаётся, но не работает (по двойному клику)… Не найдётся ли комментария?
Спасибо
Главное пожаловаться, а там и ошибка найдётся
Спасибо за соучастие…
Спасибо. Очень пригодилось.
А сделать гистограммы пошире не подскажете, а то что-то не получается