Имя: Пароль:
1C
 
Как программно указать свой макет оформления для СКД?
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
Если кому интересно, вот пример, как вывести свой макет оформления во внешнем отчете:

МакетОформления = ПолучитьМакет("МакетОформления");
МакетСКД = ПолучитьМакет("СхемаКомпоновкиДанных");

КомпоновщикНастроекСжатый = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроекСжатый.ЗагрузитьНастройки(МакетСКД.НастройкиПоУмолчанию);
Настройки = КомпоновщикНастроекСжатый.Настройки;

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(МакетСКД, Настройки, , МакетОформления);

ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);