0
толькодлявопросов
12.12.17
✎
14:02
|
Добрый день, разрабатывая отчет по шаблону универсального появилась необходимость использовать временные таблицы в запросе в построителе. Но если это делать, то при своих стандартных группировках он работает не корректно (не так как я ожидаю). И поэтому я решил попробовать сначала одним запросом формировать таблицу значений, а потом ее передавать как параметр в основной запрос, но так тоже ошибка -
{(10, 2)}: Неверные параметры "ВнешняяТаблицаИсточник"
<<?>>&ВнешняяТаблицаИсточник КАК ВнешняяТаблица
В
ИЗ
&ВнешняяТаблицаИсточник КАК ВнешняяТаблица
;
Можно ли в построителе для универсального отчета передать запросу свою таблицу значений? Или как делать временные таблицы в таком отчете, чтобы функционал универсального отчета их не трогал и не группировал для своих нужд.
|
|
1
youalex
12.12.17
✎
15:17
|
Если таблица не большая и нет(мало) ссылочных данных, можно из значений ТЗ сгенерить текст через ОБЪЕДИНИТЬ ВСЕ.
Или, можно наоборот, получить результат построителя, использовать его в своем запросе, а потом результат своего запроса впихнуть в построитель как источник данных
|
|
2
толькодлявопросов
12.12.17
✎
15:54
|
(1) Ну смотрите, у меня есть таблица, из которой потом (уже в основном запросе) левым соединением должны браться определенные колонки, то есть ОБЪЕДИНИТЬ ВСЕ, насколько я понимаю мне не подойдет.
Или, можно наоборот, получить результат построителя,
использовать его в своем запросе, а потом результат
своего запроса впихнуть в построитель как источник
данных.
не понятно, особенно конец
|
|
3
youalex
12.12.17
✎
20:42
|
(2)
1. У тебя есть таблица, например, вида (Колонка1, Колонка2) со строками (5,7), (9,5). И есть построитель со своим текстом.
Теоретически,ты можешь из своей таблицы динамически составить запрос типа
"ВЫБРАТЬ 5 КАК Колонка1, 7 КАК Колонка2
ПОМЕСТИТЬ ВТ
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ 9, 5"
Потом этот текст запроса пришпандорить сверху текста построителя,не забыв точку с запятой. Т.о. построитель будет "знать" о твоей вт.
Понятно, если у тебя миллион строк, это не самый лучший метод, к тому же 1с не дает указывать ссылки напрямую в тексте,тут если только извращаться с параметрами запроса, рискуя налететь на ограничение скуля.
По второму - кури в строну Запрос = Построитель.ПолучитьЗапрос();
Запрос.Текст = Запрос.Текст+ "какие-то там мунупуляции"
РезультатЗапроса = Запрос.Выполнить();
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(РезультатЗапроса);
|
|