|
Запрос, в цикле обойти колонки.ТЗ и добавить, после выбрать, ошибка ,как правильно.
| ☑ |
0
SkillUp
29.01.20
✎
22:58
|
Здравствуйте, есть запрос параметрами которого являются разные таблицы значений. Есть необходимость в цикле добавить колонки от ТЗ после слова выбрать. Пока не получается, прошу помощи ,как правильно сделать? Если можно не на словах ,а наглядно показать из-за чего ошибка или как правильно делать? Вот мой кусок кода:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|";
Для Каждого СтИмя ИЗ МассивИменСтолбцов Цикл
Запрос.Текст = ТеЗапрос.Тексткст + "
| Таблица1."+СтИмя+" КАК "+СтИмя+","
КонецЦикла;
|ПОМЕСТИТЬ ВТ1
|ИЗ
| &Таблица1 КАК Таблица1
|;
|
|////////////////////////////////////////////////////////////////////////////////
|
|
1
Sereja
29.01.20
✎
23:10
|
ВЫБРАТЬ
МояТаблица.*
ПОМЕСТИТЬ ВТ_1
ИЗ
&МояТаблица КАК МояТаблица
|
|
2
Sereja
29.01.20
✎
23:11
|
Ставь *, выбирай все поля, да и все
|
|
3
SkillUp
29.01.20
✎
23:12
|
Там дальше левое соединение с другой ТЗ, по многим полям. Сам так думал...
|
|
4
SkillUp
29.01.20
✎
23:13
|
Как делать левое соединение?!
|
|
5
SkillUp
29.01.20
✎
23:13
|
Потом.
|
|
6
Sereja
29.01.20
✎
23:18
|
так же как и обычно
Создай свой запрос вручную. С соединением и с выбором обозначенных колонок
Дальше в выборе заменяешь все на звездочку, а соединение оставляешь
|
|
7
SkillUp
29.01.20
✎
23:19
|
(6) Ок, тогда проблема решена. Спасибо!
|
|
8
Perez512
30.01.20
✎
09:19
|
Последняя запятая будет лишней, я бы переделал так:
Стр="";
Для Каждого СтИмя ИЗ МассивИменСтолбцов Цикл
Стр = Стр + ?(Стр="","",",") "
| Таблица1."+СтИмя+" КАК "+СтИмя
КонецЦикла;
Запрос.Текст = ТеЗапрос.Тексткст + Стр;
|
|
9
DrWatson
30.01.20
✎
09:29
|
"ВЫБРАТЬ
|Таблица1." + СтрСоединить(МассивИменСтолбцов, ", Таблица1.") + "
|ИЗ ...";
|
|