|
|
|
Как заполнить и вывести диаграмму в табличном документе ? | ☑ | ||
|---|---|---|---|---|
|
0
Prost
08.11.04
✎
11:35
|
Есть отчет, который выводит в табличный документ какую-то таблицу на основании макета.
В макете есть область с диаграммой. Не могу отобразить заполненную диаграмму в таблице док-та. Диаграмму заполняю вручную через Серии.Добавить, Точки.Добавить и УстановитьЗначение. В книге Митичкина есть пример с диаграммой в форме, а примера с диаграммой в табдоке нету.... |
|||
|
1
Волшебник
08.11.04
✎
11:44
|
Митичкина на мыло...
|
|||
|
2
Prost
08.11.04
✎
11:47
|
Да ладно. Посоветуй.
|
|||
|
3
Волшебник
08.11.04
✎
11:51
|
Покажи программный код
|
|||
|
4
Prost
08.11.04
✎
11:53
|
Процедура Вывести()
Таб=Новый ТабличныйДокумент; таб.ТолькоПросмотр=Ложь; Макет=Отчеты.АнализПоказателя.ПолучитьМакет("Макет"); облдиаг=макет.ПолучитьОбласть("График"); д=облдиаг.Рисунки[0]; Сообщить("Тип-"+д); диаг=облдиаг.Рисунки[0].Заполнение; // диаг=Новый Диаграмма; диаг.Обновление=Ложь; диаг.Серии.Добавить("План"); диаг.Серии.Добавить("Факт"); обл=макет.ПолучитьОбласть("ШапкаТаблицы"); обл.Параметры.имя=""+Показатель+" , "+Показатель.едиз; обл.Параметры.период=?(ДатаНач=ДатаКон,"за "+Формат(ДатаНач,"ЧГ=0")+" год","за "+Формат(ДатаНач,"ЧГ=0")+"-"+Формат(ДатаКон,"ЧГ=0")+" год"); Таб.Вывести(обл); Таб.Вывести(макет.ПолучитьОбласть("заголовок")); дата1=дата(датанач,1,1); дата2=дата(датакон,12,31); спр=справочники.Задачи; плф=Справочники.ПланФакт; Если показатель.ЭтоГруппа Тогда // спр.ИспользоватьРодителя(показатель); КонецЕсли; спрвыб=спр.Выбрать(); Пока спрвыб.Следующий() Цикл // // берем только один элемент справочника зад=спрвыб.Ссылка; Если не показатель.Этогруппа Тогда Если показатель<>зад Тогда Продолжить; КонецЕсли; КонецЕсли; колточек=-1; пф=плф.Выбрать(,зад,,"Код"); Пока пф.Следующий() Цикл текгод=0+Лев(пф.код,4); текмес=0+Прав(пф.код,2); //Сообщить("ТекГод-"+текгод+"+ДатаКон-"+ДатаКон); Если (текгод<=ДатаКон)и(текгод>=ДатаНач) Тогда //Сообщить("пф-"+пф); обл=макет.ПолучитьОбласть("ДеталиПФ"); обл.Параметры.пф=пф; обл.Параметры.пф_план=пф.План; обл.Параметры.пф_факт=пф.Факт; обл.Параметры.зад_НижнПред=зад.НижнПред; обл.Параметры.зад_ВерхПред=зад.ВерхПред; нпЧис=пф.План-пф.План*зад.НижнПред/100; впЧис=пф.План-пф.План*зад.ВерхПред/100; Если пф.Факт<=нпЧис Тогда обл.Параметры.откл=пф.Факт-нпЧис; ИначеЕсли пф.Факт>=впЧис Тогда обл.Параметры.откл=пф.Факт-впЧис; КонецЕсли; колточек=колточек+1; диаг.Точки.Добавить(пф.Наименование); диаг.УстановитьЗначение(колточек,0,пф.План); диаг.УстановитьЗначение(колточек,1,пф.Факт); Таб.Вывести(обл); КонецЕсли; КонецЦикла; КонецЦикла; // // // обл=макет.ПолучитьОбласть("График"); // обл.Параметры.едиз=зад.ЕдИз; // Таб.Вывести(обл); диаг.Обновление=Истина; // облдиаг.Рисунки[0]=Диаг; Таб.Вывести(облдиаг); Таб.Показать(); КонецПроцедуры |
|||
|
5
Prost
08.11.04
✎
12:04
|
В макете в области "График" вставлен Рисунок "Диаг" типа График
|
|||
|
6
Prost
08.11.04
✎
14:08
|
Может так ?
макет.Рисунки.Диаг.Объект=диаг; , но выходит ошибка "Недоступен для записи" |
|||
|
7
Prost
09.11.04
✎
14:25
|
А надо было наоборот :))
диаг=макет.Рисунки.Диаг.Объект; Все вопросов больше нет. |
|||
|
8
Волшебник
09.11.04
✎
14:25
|
Главное - не мешать человеку!
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |