Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Запрос, в цикле обойти колонки.ТЗ и добавить, после выбрать, ошибка ,как правильно.

Запрос, в цикле обойти колонки.ТЗ и добавить, после выбрать, ошибка ,как правильно.
Я
   SkillUp
 
29.01.20 - 22:58
Здравствуйте, есть запрос параметрами которого являются разные таблицы значений. Есть необходимость в цикле добавить колонки от ТЗ после слова выбрать. Пока не получается, прошу помощи ,как правильно сделать? Если можно не на словах ,а наглядно показать из-за чего ошибка или как правильно делать? Вот мой кусок кода:




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

Стр="";
Для Каждого СтИмя ИЗ МассивИменСтолбцов Цикл 
    Стр = Стр + ?(Стр="","",",") " 
|    Таблица1."+СтИмя+" КАК "+СтИмя 
КонецЦикла; 
Запрос.Текст = ТеЗапрос.Тексткст + Стр;
   DrWatson
 
9 - 30.01.20 - 09:29
"ВЫБРАТЬ
 |Таблица1." + СтрСоединить(МассивИменСтолбцов, ", Таблица1.") + "
 |ИЗ ...";

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.