|
СКД. Управляемые формы. Объект данных. Быстрые настройки | ☑ | ||
---|---|---|---|---|
0
stezhu
14.03.14
✎
14:12
|
Добрый день, подскажите, как можно передать в скд объект данных и формировать отчёт по быстрым настройкам
Когда выполняю компоновку с настройками по умоланию - пишет что параметры не заполнены, а как вытащить быстрые - не в курсе, может у кого-то есть наработанный вариант? Процедура ВыводОтчета(Результат, СтрукТабл) ОбъектДокумента = РеквизитФормыВЗначение("Отчет"); //помещаем табличную часть Товары в структуру с наименованием ТоварыСКД так же, как мы указали в самой СКД имя объекта, содержащего данные НаборДанных = Новый Структура; НаборДанных.Вставить("НаборДанных",СтрукТабл.Таблица); //получаем наш макет и выставляем настройки по умолчанию, чтобы все настройки вывода отчета брались из нашего макета НашМакет = ОбъектДокумента.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Настройки = НашМакет.НастройкиПоУмолчанию; //создаем макет компоновки данных с нашими настройками КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(НашМакет, Настройки); //выполняем компоновку данных с нашим набором данных ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, НаборДанных); //формируем табличный документ и выводим в него наш отчет ДокументОтчета = Новый ТабличныйДокумент; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); КонецПроцедуры |
|||
1
vicof
14.03.14
✎
14:31
|
ПараметрыСхемыКомпоновкиДанных (DataCompositionSchemaParameters)
ПараметрыСхемыКомпоновкиДанных (DataCompositionSchemaParameters) Элементы коллекции: ПараметрСхемыКомпоновкиДанных Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются параметры. Возможно обращение к параметра посредством оператора [...]. В качестве аргумента передается индекс (нумерация с 0), имя параметра. Методы: Вставить (Insert) Добавить (Add) Индекс (IndexOf) Количество (Count) Найти (Find) Очистить (Clear) Получить (Get) Сдвинуть (Move) Удалить (Delete) Описание: Коллекция параметров схемы компоновки данных. Доступность: Сервер, толстый клиент, внешнее соединение. См. также: СхемаКомпоновкиДанных, свойство Параметры -------------------------------------------------------------------------------- Методическая информация |
|||
2
fisher
14.03.14
✎
14:35
|
Что такое "быстрые настройки"? В смысле, пользовательские?
|
|||
3
stezhu
14.03.14
✎
14:39
|
Да, пользовательские
|
|||
4
fisher
14.03.14
✎
14:46
|
Попробуй через компоновщик настроек компоновки данных. Мне кажется, так проще всего будет. Воткни
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(НашМакет)); КомпоновщикНастроек.ЗагрузитьНастройки(НашМакет.НастройкиПоУмолчанию); // при этом будут инициализированы и пользовательские настройки тоже. Ну а потом МакетКомпоновки = КомпоновщикМакета.Выполнить(НашМакет, КомпоновщикНастроек.ПолучитьНастройки()) |
|||
5
fisher
14.03.14
✎
14:48
|
Ну а если их надо отредактировать, то опять же через КомпоновщикНастроек и доступаешься к ним.
|
|||
6
stezhu
14.03.14
✎
15:45
|
Получилоськак-то так, спасибо
ОбъектДокумента = РеквизитФормыВЗначение("Отчет"); НашМакет = ОбъектДокумента.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(НашМакет)); КомпоновщикНастроек.ЗагрузитьНастройки(НашМакет.НастройкиПоУмолчанию); КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0].Значение.Дата = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0].Значение.Дата; КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[1].Значение.Дата = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[1].Значение.Дата; КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[2].Значение = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[2].Значение; КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[3].Значение = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[3].Значение; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(НашМакет, КомпоновщикНастроек.ПолучитьНастройки()); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, СтрукТабл); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); |
|||
7
stezhu
14.03.14
✎
15:47
|
появилась правда новая проблема - не исчезает надпись "Отчет не сформирован. Нажмите "Сформировать""
и команда ЭтаФорма.АвтоОтображениеСостояния = РежимАвтоОтображенияСостояния.НеОтображать; не помогает:( |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |