|
УТ10.3. Обычные формы и график | ☑ | ||
---|---|---|---|---|
0
AlexKulikov
08.12.17
✎
11:54
|
Добрый день, уважаемые форумчане.
Подскажите пожалуйста, как правильно разместить диаграмму на обычной форме? На данный момент, у меня есть вот такой код: Процедура КнопкаВыполнитьНажатие(Кнопка) ЭлементыФормы.ПолеТБ.Очистить(); Диаг = ЭлементыФормы.Добавить(Тип("Диаграмма"), "Диаграмма", Истина, ЭлементыФормы.ПолеТБ); Диаг.ТипДиаграммы = ТипДиаграммы.График; Диаг.Обновление = Ложь; Диаг.АвтоТранспонирование = Ложь; Диаг.Верх = 10; Диаг.Лево = 10; Диаг.Ширина = 300; Диаг.Высота = 150; КонтрагентыСоздание = Диаг.УстановитьСерию("Даты создания"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КОЛИЧЕСТВО(Контрагенты.Ссылка) КАК Ссылка, | Контрагенты.ДатаСоздания КАК ДатаСоздания |ИЗ | Справочник.Контрагенты КАК Контрагенты | |СГРУППИРОВАТЬ ПО | Контрагенты.Ссылка, | Контрагенты.ДатаСоздания | |УПОРЯДОЧИТЬ ПО | ДатаСоздания"; ТаблицаРезультатаЗапроса = Запрос.Выполнить().Выгрузить(); ТаблицаРезультатаЗапроса.Свернуть("ДатаСоздания","Ссылка"); Данные = Новый ГенераторСлучайныхЧисел; КоличествоКонтрагентов = ТаблицаРезультатаЗапроса.Количество(); Для Каждого Элемента Из ТаблицаРезультатаЗапроса Цикл ДатаСоздания = Формат(Элемента.ДатаСоздания,"ДФ=dd.MM.yy"); ТочкаДиаграммы = Диаг.УстановитьТочку(ДатаСоздания); Диаг.УстановитьЗначение(ТочкаДиаграммы, КонтрагентыСоздание, Элемента.Ссылка ); КонецЦикла; Диаг.Обновление = Истина; Диаг.АвтоТранспонирование = Истина; Диаг.Видимость = Истина; КонецПроцедуры Собственной код работает, но есть одна проблема, связана она вот с этой строчкой кода: Диаг = ЭлементыФормы.Добавить(Тип("Диаграмма"), "Диаграмма", Истина, ЭлементыФормы.ПолеТБ); При повторном вызове этой процедуры, у меня уже есть элемент формы "диаграмма", соответственно мне нужно либо удалять это элемент, либо каким то другим образом разместить на форме диаграмму. В интернете есть несколько примеров, когда к диаграмме обращаются так Диаграмма = ЭлементыФормы.Диаграмма; Но насколько я понял, диаграмму можно разместить только в табличном документе? С уважением, Алексей! |
|||
1
AlexKulikov
08.12.17
✎
12:38
|
Решил так проблему с повторным вызовом процедуры.
Если ЭтаФорма.ЭлементыФормы.Найти("Диаграмма") <> Неопределено Тогда ЭлементыФормы.Диаграмма.Очистить(); Диаг = ЭлементыФормы.Диаграмма; Иначе Диаг = ЭлементыФормы.Добавить(Тип("Диаграмма"), "Диаграмма", Истина, ЭлементыФормы.ПолеТБ); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |