|
Как программно указать свой макет оформления для СКД? |
☑ |
0
Xao
09.06.11
✎
14:36
|
Всем привет!
Добавил во внешний отчет МакетОформленияКомпоновкиДанных, настроил там все как надо. Как его теперь использовать в качестве макета оформления для СКД? Да и вообще как к нему обратиться из модуля?
|
|
1
а кому щас легко
09.06.11
✎
14:43
|
МакетСКД = ПолучитьМакет("ТвойМакет")
|
|
2
Xao
09.06.11
✎
14:50
|
через ПолучитьМакет() нельзя получить макет оформления СКД
|
|
3
Just4Fun
09.06.11
✎
14:51
|
СхемаКомпоновкиДанных = ПолучитьМакет(Кнопка.Имя);
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
|
|
4
Xao
09.06.11
✎
14:59
|
мне нужно передать в СКД свой макет оформления
макет оформления можно передать как параметр через КомпоновщикМакетаКомпоновкиДанных.Выполнить()
но как туда передать свой макет не понятно, для этого нужно получить макет оформления, который я добавил в отчете в Макеты
|
|
5
Xao
09.06.11
✎
15:00
|
а как получить макет оформления - хз
|
|
6
Xao
09.06.11
✎
15:05
|
блин, туплю)))
Через ПолучитьМакет() все работает)
все проблема решена
всем спасибо!)
|
|
7
Xao
09.06.11
✎
15:08
|
Если кому интересно, вот пример, как вывести свой макет оформления во внешнем отчете:
МакетОформления = ПолучитьМакет("МакетОформления");
МакетСКД = ПолучитьМакет("СхемаКомпоновкиДанных");
КомпоновщикНастроекСжатый = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроекСжатый.ЗагрузитьНастройки(МакетСКД.НастройкиПоУмолчанию);
Настройки = КомпоновщикНастроекСжатый.Настройки;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(МакетСКД, Настройки, , МакетОформления);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
|
|