Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
15 мар 2025, 17:35

СводнаяДиагрмамма на форме отчета

Автор Funt432286, 19 фев 2025, 15:07

0 Пользователей и 1 гость просматривают эту тему.

Funt432286

всем доброго времени суток!

На форме есть ДеревоЗначений, которое заполняется из запроса, так же на форме отчета помещен - элемент СводнуюДиаграмма, который необходимо заполнять из значений ДЗ.
Посмотрел в нете примеры, но немного не понял что есть Серии, что есть Точки и как их заполнять.

//************* заполнить ВИДРАБОТ в таблице за ГОД ***************
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| А_ПланПреПресс.СтатусЗаказаОтдел КАК ВидРабот
|ИЗ
| РегистрСведений.А_ПланПреПресс КАК А_ПланПреПресс
|ГДЕ
| А_ПланПреПресс.ДатаОперацияПрепресс МЕЖДУ &ДатаОт И &ДатаДо
|
|СГРУППИРОВАТЬ ПО
| А_ПланПреПресс.СтатусЗаказаОтдел";

Запрос.УстановитьПараметр("ДатаОт", СтрокаДаты(МесяцНачало));
Запрос.УстановитьПараметр("ДатаДо", СтрокаДаты(МесяцОкончание));

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

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

ВыборкаГод.Количество();

Пока ВыборкаГод.Следующий() Цикл
стрВидРабот = ТЗ_ОтчетОтделГод.Строки.Добавить();
стрВидРабот.ВидРабот = ВыборкаГод.ВидРабот;

//Диаграмма.Серии.Добавить("ВыборкаГод.ВидРабот");
//Точка = Диаграмма.УстановитьТочку(2);
//Диаграмма.ус.УстановитьЗначение(Точка, Серия);

КонецЦикла;

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

Для Каждого Стр из ЭлементыФормы.ТЗ_ОтчетОтделГод Цикл
Диаграмма.Серии.Добавить("Стр.ВидРабот");
КонецЦикла;

//*****************************************************************

Подскажите пожалуйста как програмно заполнить Диаграмму, просто никогда с этим элементом не сталкивался!

Funt432286

помогите пожалуйста, кто чем может!!! ))))

LexaK

Funt432286, похоже, что так сложно как вы
сначала получить данные, затем из них сформировать ДЗ,
а затем по ДЗ построить график!!!!

настоящие программисты стараются делать все просто
или запросом получают данные для отчета - графика
или можно использовать подготовленную ТЗ как внешние данные...

(но что бы по ДЗ строить график.... не приходилось  :fdbsdfbsd:  )
если помогло нажмите: Спасибо!

Funt432286

LexaK, хорошо! Я не стандартный программист, у меня свои обычно алгоритм!

У меня больше проблема как сформировать данные в самой диаграмме?

antoneus


Funt432286

antoneus, Гистограмма Объемная

Я приложил исходную таблицу с формы и желаемую диаграмму на выходе.

Вот как правильно заполнить данные на Точки и Серии

antoneus

Внесение правок и т.д. - это серии.
Январь, февраль - это точки.

От 0 до 250 - это значения серий в точках.

То есть

Диаграмма.Серии.Добавить("Внесение правок");//у серии будет индекс 0.
Диаграмма.Серии.Добавить("Макет");// - индекс 1, и так далее

Диаграмма.Точки.Добавить("январь");//у точки индекс 0, и так далее

Диаграмма.УстановитьЗначение(0, 0, 15);// - было 15 внесений правок (серия 0) в январе (точка 0).

Funt432286

antoneus,

Добавил код с учетом своих названий объектов
получился такой код:
    ДиаграммаГод.Серии.Добавить("Внесение правок");//у серии будет индекс 0.
    ДиаграммаГод.Серии.Добавить("Макет");// - индекс 1, и так далее

    ДиаграммаГод.Точки.Добавить("январь");//у точки индекс 0, и так далее

    ДиаграммаГод.УстановитьЗначение(0, 0, 15);// - было 15 внесений правок (серия 0) в январе (точка 0).

Выдает вот такую ошибку
Ошибка при вызове метода контекста (Добавить)
{Отчет.ОтчетПреПрессОтдел.Форма.ОтчетПреПрессОтдел.Форма(296)}:    ДиаграммаГод.Серии.Добавить("Внесение правок");//у серии будет индекс 0.
{Отчет.ОтчетПреПрессОтдел.Форма.ОтчетПреПрессОтдел.Форма(4)}:    ЗаполнитьТаблицуЗаГод();
по причине:
Недопустимое значение параметра (параметр номер '1'

Funt432286

Funt432286, вернее полный код выглядит вот так:

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

ДиаграммаГод.ОбластьЗаголовка.Текст = "Данные За год по отделу";
ДиаграммаГод.Обновить();

//*****************************************************************

ДиаграммаГод.Серии.Добавить("Внесение правок");//у серии будет индекс 0.
ДиаграммаГод.Серии.Добавить("Макет");// - индекс 1, и так далее

ДиаграммаГод.Точки.Добавить("январь");//у точки индекс 0, и так далее

ДиаграммаГод.УстановитьЗначение(0, 0, 15);// - было 15 внесений правок (серия 0) в январе (точка 0).

Для Каждого СтрТЗ Из ТЗ_ОтчетОтделГод.Строки Цикл
//Для Каждого СтрПантон Из СтрТЗ.Строки Цикл
//Сообщить("! СтрТЗ.Строки - " + СтрТЗ.ВидРабот);

//Серия = ДиаграммаГод.Серии.Добавить(;
//КонецЦикла;
КонецЦикла;

//*****************************************************************

ошибка
Ошибка при вызове метода контекста (Добавить)
{Отчет.ОтчетПреПрессОтдел.Форма.ОтчетПреПрессОтдел.Форма(299)}: ДиаграммаГод.Серии.Добавить("Внесение правок");//у серии будет индекс 0.
{Отчет.ОтчетПреПрессОтдел.Форма.ОтчетПреПрессОтдел.Форма(4)}: ЗаполнитьТаблицуЗаГод();
по причине:
Недопустимое значение параметра (параметр номер '1')

antoneus

Опять элемент формы с реквизитом путаешь.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск