|
Внешняя печатная форма на СКД | ☑ | ||
---|---|---|---|---|
0
newbling
26.05.15
✎
12:11
|
Доброго времени суток. Пытаюсь написать внешнюю печатную форму с использованием СКД.
ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("СхемаКомпоновкиДанных"); ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(Макет); КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.Инициализировать(ИсточникДоступныхНастроек); Настройки = КомпоновщикНастроек.Настройки; Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Заказ", СсылкаНаОбъект); Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ДатаАнализа", Дата(1,1,1)); ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(Макет, Настройки, ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабДок); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); Возврат ТабДок; Результат такой: http://savepic.ru/7103320.png результат не выводится - как будто не подгружаются настройки. Как внешний отчёт я его проверил - работает. Но мне нужно как ВПФ. Подскажите, пожалуйста в чём косяк. |
|||
1
LordCMEPTb
26.05.15
✎
12:36
|
Инициализия компоновщика - дело хорошее и нужное, но в инициализации компоновщика только определяются доступные поля...
Надо еще в КомопоновщикНастроек загрузить стандартные настройки макета... |
|||
2
newbling
26.05.15
✎
12:47
|
А как это сделать?
КомпоновщикНастроек.ЗагрузитьНастройки(Настройки); ругается |
|||
3
LordCMEPTb
26.05.15
✎
12:49
|
(2) Стандартные настройки макета
КомпоновщикНастроек.ЗагрузитьНастройки(Макет.НастройкиПоУмолчанию); |
|||
4
newbling
26.05.15
✎
12:57
|
(3) Спасибо огромное!
С загрузкой настроек заработало. ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(Макет); КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.Инициализировать(ИсточникДоступныхНастроек); КомпоновщикНастроек.ЗагрузитьНастройки(Макет.НастройкиПоУмолчанию); Настройки = КомпоновщикНастроек.Настройки; Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Заказ", СсылкаНаОбъект); Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ДатаАнализа", Дата(1,1,1)); |
|||
5
LordCMEPTb
26.05.15
✎
12:58
|
(4) Тут еще вопрос другой, а зачем нужно инициализировать компоновщик, если никакой настройки нет?
Ну то есть если при открытии формы бы инициализировался компоновщик настроек, а в самой форме была возможность править настройки СКД, тогда да, есть смысл. А если без открытия формы сформировать СКД, заполнить параметры и вывести, то можно просто в качестве настроек получить настройки по умолчанию макета без инициализации компоновщика... |
|||
6
newbling
26.05.15
✎
12:59
|
Хм, действительно
|
|||
7
newbling
26.05.15
✎
13:00
|
Но без него что-то не работает метод
УстановитьЗначениеПараметра |
|||
8
LordCMEPTb
26.05.15
✎
13:05
|
(7) Обычно в таком варианте в схеме на закладке с настройкой отчета на вложенной закладке "Параметры" включаю использование всех параметров
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |