|
Передать Таблицу значений как временную таблицу в СКД
Garykom, d4rkmesa, СвинТуз, daviels, SleepyHead, zenik, Михаил Козлов, comp2006, maxab72, 2S, TormozIT, Мультук, Жеглофф, AAA, osa1C, okmail, hunter76
| ☑ |
0
daviels
13.11.24
✎
16:09
|
Добрый день.
Появилась возможность, используя МенеджерВременныхТаблиц, подготовить таблицу значений и передать ее далее для обработки в СКД. 6-й параметр в методе ПроцессорКомпоновкиДанных.Инициализировать
Пробую воспользоваться данным методом. Не получается!
в процедуре ПриКомпоновкеРезультата() пишу
МВТ = Новый МенеджерВременныхТаблиц;
Запрос_2 = Новый Запрос;
Запрос_2.МенеджерВременныхТаблиц = МВТ;
Запрос_2.Текст = "ВЫБРАТЬ ОбщаяТаблицаМаршрутов.* ПОМЕСТИТЬ ВТ_ОбщаяТаблицаМаршрутов ИЗ &ОбщаяТаблицаМаршрутов КАК ОбщаяТаблицаМаршрутов";
Запрос_2.УстановитьПараметр("ОбщаяТаблицаМаршрутов", ОбщаяТаблицаМаршрутов);
Запрос_2.Выполнить();
//ОбщаяТаблицаМаршрутов - Таблица значений заполненная. Опустил код которым она заполняется
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки,,,Ложь);
ВнешниеНаборыДанных = Новый Структура;
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,ВнешниеНаборыДанных,ДанныеРасшифровки,,,МВТ);
НО вот далее - обращаясь к временной таблице ВТ_ОбщаяТаблицаМаршрутов в запросе в СКД:
"ВЫБРАТЬ * ИЗ ВТ_ОбщаяТаблицаМаршрутов КАК ВТ_ОбщаяТаблицаМаршрутов"
Получаю ошибку :
1. Если просто добавлять в код такой текст , то на этапе сохранения запроса получаем ошибку что такой таблицы нет.
2. Если принудительно создаю такую таблицу , тогда текст запроса сохранить могу, НО при выполнении запроса получаю ошибку - Таблица не найдена
Подскажите пожалуйста что я делаю не так?
|
|
1
Garykom
13.11.24
✎
16:11
|
и чего ты хочешь от пустой структуры ВнешниеНаборыДанных?
|
|
2
maxab72
13.11.24
✎
16:11
|
А если передавать как параметр а не через менеджер временных таблиц?
|
|
3
daviels
13.11.24
✎
16:12
|
Хотел испробовать новый метод... Пишут что можно так делать...
|
|
4
maxab72
13.11.24
✎
16:15
|
(3) вот пусть напишут КАК это делать. Штаны ведь тоже можно, в принципе, через голову надевать...
|
|
5
СвинТуз
13.11.24
✎
16:24
|
|
|
6
СвинТуз
13.11.24
✎
16:25
|
Лень = мотиватор
в данном случае видимо зло. Звезды за борт.
|
|
7
d4rkmesa
13.11.24
✎
16:35
|
(3) ВнешниеНаборыДанных не нужны, если используется только МВТ. В СКД Набор данных - Запрос (а не объект), в запросе просто используете ВТ как обычно в запросе: "ВЫБРАТЬ * ИЗ ВТ_ОбщаяТаблицаМаршрутов".
|
|
8
daviels
13.11.24
✎
16:42
|
(7) Прочитал статью... делаю именно так... ВнешнийНаборДанных - теперь не передаю третьим параметром.
Но таблица не найдена (((
|
|
9
daviels
13.11.24
✎
16:53
|
(7) Похоже получилось...
Сделал через Выразить - указал типы... во всяком случае ошибка о том что таблица не найдена - ушла.
Спасибо! Осталось добить отчет... кажется заработало )))
|
|
10
d4rkmesa
13.11.24
✎
17:10
|
(9) Ясно, ну tormozit писал про типы в комменте: https://forum.infostart.ru/forum9/topic240219/#message2435148
У меня, как ни странно, без этого работало, но этого видимо потому, что там в ВТ выбирались данные без составных типов или из ТЗ с типизированными колонками.
|
|
11
СвинТуз
13.11.24
✎
17:14
|
(9)
Ну сказали же звезды = зло
|
|