![]() |
Как передать набор данных в Универсальный отчёт? УТ 10.3 Как запихать набор данных (таблицу значений) в построитель Универсального отчёта? |
Что-то типа: Процедура УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено) Экспорт ТаблицаДанных = СформироватьТаблицуДанных(); ИсточникДанных=Новый ОписаниеИсточникаДанных(ТаблицаДанных); ИсточникДанных.Колонки.Колонка1.Измерение=Истина; ИсточникДанных.Колонки.Колонка2.Измерение=Истина; ИсточникДанных.Колонки.Колонка3.Итог="СУММА(Колонка3)"; ИсточникДанных.Колонки.Колонка4.Итог="МАКСИМУМ(Колонка4)"; УниверсальныйОтчет.ПостроительОтчета.ИсточникДанных=ИсточникДанных; УниверсальныйОтчет.мНазваниеОтчета = СокрЛП(ЭтотОбъект.Метаданные().Синоним); УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь; УниверсальныйОтчет.мВыбиратьИспользованиеСвойств = ИСТИНА; УниверсальныйОтчет.ПоказыватьЗаголовок=Истина; УниверсальныйОтчет.ДобавитьПоказатель("Колонка3","Колонка №3", Истина, "ЧЦ=17; ЧДЦ=2"); УниверсальныйОтчет.ДобавитьПоказатель("Колонка4","Колонка №4", Истина, "ЧЦ=17; ЧДЦ=2"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Колонка1","Колонка группировки №1"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Колонка2","Колонка группировки №2"); УниверсальныйОтчет.УстановитьПредставленияПолей(УниверсальныйОтчет.мСтруктураПредставлениеПолей, УниверсальныйОтчет.ПостроительОтчета); УниверсальныйОтчет.ПостроительОтчета.ИзмеренияСтроки.Очистить(); УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Колонка1"); УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Колонка2"); УниверсальныйОтчет.ПостроительОтчета.ИзмеренияКолонки.Очистить(); //УниверсальныйОтчет.ДобавитьОтбор(""); УниверсальныйОтчет.ДобавитьОтбор("Колонка1"); УниверсальныйОтчет.УстановитьНачальныеНастройки(Ложь); КонецПроцедуры |
спасиб! сейчас покопаю |
что-то фигня какая-то выходит процедура УстановитьНачальныеНастройки() отрабатывает при открытии отчёта получается, я ещё только открываю отчёт, не успел задать никаких параметров, а у меня уже пошло формирование набора данных. у меня набор данных формируется ОЧЕНЬ тяжёлым запросом не хочется его мурыжить лишний раз |
2(3) Смотри, как надо: 1. есть функция СформироватьТаблицуДанных. Она создает таблицу (описывает ее колонки, типизирует их и все такое прочее) и созраняет ее в локальной переменной, видимой из модуля отчета. Указывать тип колонок ОБЯЗАТЕЛЬНО! Но самими данными она таблицу не заполняет. 2. при открытии срабатывает вышеуказанная процедура УстановитьНачальныеНастройки. Она дает понять Универсальному отчету с чем ему придется иметь дело. 3. Есть процедура ЗаполнитьТаблицуДанных - она заполняет таблицу, которую мы создали в функции СформироватьТаблицуДанных и храним в локальной переменной данными - это может быть сколь угодно "тяжелая" процедурина. 4. Есть процедура СформироватьОтчет, вызываемая по кнопке Сформировать из формы. В ней мы прописываем: Процедура СформироватьОтчет(ТабличныйДокумент) ЗаполнитьТаблицуДанных(); УниверсальныйОтчет.СформироватьОтчет(ТабличныйДокумент); КонецПроцедуры Всё очень просто. |
ты шаман, брат! как ты это делаешь? какие мудрые книжки ты читал? |
2(5) Я долго курил УТ10... |
Текущее время: 08:03. Часовой пояс GMT +3. |