Имя: Пароль:
1C
1С v8
Запрос, в цикле обойти колонки.ТЗ и добавить, после выбрать, ошибка ,как правильно.
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.") + "
|ИЗ ...";
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс