Передача параметра в макет СКД
☑
0
Tolyas
12.11.10
✎
11:46
Сабж. В модуле нахожу значение руководителя, его надо передать в макет СКД. Это возможно? Если да, то как?
1
supremum
12.11.10
✎
11:52
(0) Можно
2
Tolyas
12.11.10
✎
11:57
(1) Как?
3
Tolyas
12.11.10
✎
12:19
Дурацкий вариант - написать в условиях запроса после ГДЕ &Руководитель = &Руководитель
Тогда этот параметр можно будет указать в макете компановке. Другие варианты?
4
supremum
12.11.10
✎
12:24
5
Tolyas
12.11.10
✎
12:49
(4) Там речь идет о параметрах самой скд. А мне надо передать параметр в макет.
6
supremum
12.11.10
✎
13:00
(5) Если правильно понял вопрос, то можно так: ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабДок); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); ТабДок - это табличный документ
7
supremum
12.11.10
✎
13:03
Пример: // Подготавливаем результат запроса для СКД ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("РезультатЗапроса",Результат); // Считываем схему СКД СхемаКомпоновкиДанных = ОтчетОбъект.СхемаКомпоновкиДанных; // Считываем настройки СКД Настройки = ОтчетОбъект.КомпоновщикНастроек.Настройки; // Для расшифровки СКД ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; // Подготавливаем макет компоновки КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); // Инициализируем процессор СКД ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,ВнешниеНаборыДанных,ДанныеРасшифровки); ТабДок = ЭлементыФормы.ПолеТабличногоДокумента1; ТабДок.Очистить(); Макет=ПолучитьМакет("Макет"); ОбластьЗаголовок=Макет.ПолучитьОбласть("Заголовок"); ОбластьЗаголовок.Параметры.ТекДата=ЭлементыФормы.КурсНаДату.Значение; ТабДок.Вывести(ОбластьЗаголовок); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабДок); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
8
Tolyas
12.11.10
✎
13:14
(7) Спасибо. Все же интересовал вопрос: можно ли в макет самой СКД передать параметр. Чтобы не создавать свой макет...
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn