Имя: Пароль:
1C
1С v8
Запрос с временными таблицами
0 Besometr
 
13.12.12
16:20
Добрый вечер!

Есть во такой запрос:


//Загрузим данные во временные таблицы
//----------------------------------
МВТ = Новый МенеджерВременныхТаблиц;
//Загружаем таблицу значений в менеджер временных таблиц запроса
   Запрос=Новый Запрос("Выбрать втДоКорректировок.Номенклатура, втДоКорректировок.Цена, втДоКорректировок.КоличествоОстаток ПОМЕСТИТЬ втДоКорректировок Из &Таб Как втДоКорректировок");

Запрос.МенеджерВременныхТаблиц = МВТ;
Запрос.УстановитьПараметр("Таб",НоменклатураЗаказаДоКорректировок);
Запрос.Выполнить();

//скорректированная номенклатура
Запрос.Текст ="ВЫБРАТЬ
   |ТабУслуг.Номенклатура,
   |ТабУслуг.Цена,
   |ТабУслуг.Количество
   |ПОМЕСТИТЬ втПослеКорректировок
   |ИЗ
   |&ТабКорУслуг КАК ТабУслуг
       |
   |ОБЪЕДИНИТЬ ВСЕ
       |
   |ВЫБРАТЬ
   |ТабТоваров.Номенклатура,
   |ТабТоваров.Цена,
   |ТабТоваров.Количество
   |ИЗ
   |&ТабКорТоваров КАК ТабТоваров";

Запрос.МенеджерВременныхТаблиц = МВТ;
Запрос.УстановитьПараметр("ТабКорУслуг"    ,тпКорректировкаУслуг);
Запрос.УстановитьПараметр("ТабКорТоваров",тпКорректировкаТоваров);
Запрос.Выполнить();
//----------------------------------


При выполнении первая временная таблица создается, а на вторую ругается:

Ошибка при вызове метода контекста (Выполнить)
   Запрос.Выполнить();
по причине:

по причине:
Содержимое объекта данных может быть выбрано только во временную таблицу


Что ему не нравится?
1 le_
 
13.12.12
16:21
Сначала во временную помещай, потом из временной выбирай. Пекетный запрос будет.
2 ДенисЧ
 
13.12.12
16:22
Вроде бы по-русски говорит...
3 Deon
 
13.12.12
16:22
Объединяй уже временные таблицы, а не параметры
4 Goggy
 
13.12.12
16:22
(0) фигасе, яб тоже ругался... да ещё и матом.
Как это ты пол запроса в ВТ хочешь уложить, а вторую половину куда?
5 Deon
 
13.12.12
16:23
(4) В другую ВТ, ясен буй )
6 Goggy
 
13.12.12
16:24
+(4) делай пакетно и 2 ВТшки объединяй
7 Besometr
 
13.12.12
16:24
(4) (2)  Результат воторого запроса помещается в временную таблицу:
ПОМЕСТИТЬ втПослеКорректировок

Код с секцией "ПОМЕСТИТЬ" генерит консоль запросов, и она (секция) там одна
8 le_
 
13.12.12
16:25
(7) А ТабКорТоваров где в ВТ помещается?
9 Maxus43
 
13.12.12
16:26
каждую таблицу сначала в ВТ, потом объединяй, итого 3 вт будет. пакетный запрос
10 le_
 
13.12.12
16:27
+(8) Все это можно без менеджеров сделать.
Одним пакетным запросом.
11 Besometr
 
13.12.12
16:30
(6) (9) Этот вариант мне понятен. Почему сабж не работает? :)
12 х86
 
13.12.12
16:33
(11)не научили
13 Maxus43
 
13.12.12
16:37
(11) ошибка по русски. никакие операции одновременно с помещением ТЗ в ВТ не должны делатся
14 Besometr
 
13.12.12
16:43
(13) Ок, Спасибо всем!