Как программно указать свой макет оформления для СКД?
☑
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
Если кому интересно, вот пример, как вывести свой макет оформления во внешнем отчете:
МакетОформления = ПолучитьМакет("МакетОформления");
МакетСКД = ПолучитьМакет("СхемаКомпоновкиДанных");
КомпоновщикНастроекСжатый = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроекСжатый.ЗагрузитьНастройки(МакетСКД.НастройкиПоУмолчанию);
Настройки = КомпоновщикНастроекСжатый.Настройки;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(МакетСКД, Настройки, , МакетОформления);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
Ошибка? Это не ошибка, это системная функция.