|
Не получается с компоновкой в очередной раз... | ☑ | ||
---|---|---|---|---|
0
mikecool
01.07.19
✎
21:56
|
Есть внешняя обработка, пробую сделать универсальной
Реквизит обработки КомпоновщикНастроек - Тип КомпоновщикНастроекКомпоновкиДанных Программно формирую схему компоновки СхемаВыгрузки = Новый СхемаКомпоновкиДанных; Источник = СхемаВыгрузки.ИсточникиДанных.Добавить(); Источник.Имя = "ЛокальнаяБаза"; Источник.СтрокаСоединения = ""; Источник.ТипИсточникаДанных = "Local"; НаборДанных = СхемаВыгрузки.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных")); НаборДанных.Имя = ИмяROКорень(); НаборДанных.ИсточникДанных = "ЛокальнаяБаза"; НаборДанных.АвтоЗаполнениеДоступныхПолей = Истина; НаборДанных.Запрос = ТекстЗапросаВыгрузки(); Поле = НаборДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); Поле.Заголовок = "Ссылка"; Поле.ПутьКДанным = "Ссылка"; Поле.Поле = "Ссылка"; Группировка = СхемаВыгрузки.НастройкиПоУмолчанию.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); Группировка.Использование = Истина; ПолеГруппировки = Группировка.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных")); ПолеГруппировки.Использование = Истина; запрос получаю так: Функция ТекстЗапросаВыгрузки() ТекстЗапроса = ( "ВЫБРАТЬ | * |ИЗ | Документ.%1 КАК Шапка" ); ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%1", СокрЛП(ВыгружаемыйОбъект)); Возврат ТекстЗапроса; КонецФункции компоновщик лежит на обычной форме в табличном поле, инициализирую его: КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаВыгрузки)); КомпоновщикНастроек.ЗагрузитьНастройки(СхемаВыгрузки.НастройкиПоУмолчанию); тут все работает, отборы могу добавлять в пользовательском режиме веселье начинается, когда пробую выполнять схему: ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаВыгрузки, КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки); Результат = Новый ТаблицаЗначений; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ПроцессорВывода.УстановитьОбъект(Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); в результате имею Ошибка при вызове метода контекста (Вывести) ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); по причине: Ошибка вывода результата по причине: Неизвестный тип макета где я ошибся? |
|||
1
palsergeich
01.07.19
✎
22:29
|
На ум приходит только одно - что то не то с СхемаВыгрузки = Новый СхемаКомпоновкиДанных вот этим куском
|
|||
2
segn
02.07.19
✎
04:42
|
В КомпоновщикМакета.Выполнить() необходимо указать параметр ТипГенератора.
|
|||
3
mikecool
02.07.19
✎
09:55
|
(2) точно! спасибо.
(1) а чего там может быть не так? |
|||
4
mikecool
02.07.19
✎
10:23
|
отрабатывать стало, вот только каждый раз результат - пустой (((
|
|||
5
mikecool
02.07.19
✎
10:36
|
не хватало после добавления группировки
ПолеВыбора = СхемаВыгрузки.НастройкиПоУмолчанию.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); ПолеВыбора.Поле = Новый ПолеКомпоновкиДанных("Ссылка"); ПолеВыбора.Использование = Истина; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |