Имя: Пароль:
1C
1С v8
Как загнать таблицу значений в запрос
,
0 Serega103
 
15.07.13
15:56
Есть такой запрос
   Запрос=Новый Запрос;
   Запрос.МенеджерВременныхТаблиц=Новый МенеджерВременныхТаблиц;
   Запрос.Текст=
   "ВЫБРАТЬ
   |    ЕСТЬNULL(Требуется.Номенклатура, ВыданоУже.Номенклатура) КАК Номенклатура,
   |    Требуется.КоличествоПлан КАК КоличествоТребуется,
   |    Требуется.ЕдиницаИзмерения,
   |    ВыданоУже.Количество КАК КоличествоВыдано
   |ИЗ
   |    Документ.ЗаказНаряд.ИтогоСвернутое КАК Требуется
   |        ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
   |            ВложенныйЗапрос.Номенклатура КАК Номенклатура,
   |            СУММА(ВложенныйЗапрос.Количество) КАК Количество
   |        ИЗ
   |            (ВЫБРАТЬ
   |                НаборкаТовары.Номенклатура.НоменклатураКБ КАК Номенклатура,
   |                СУММА(НаборкаТовары.Количество) КАК Количество
   |            ИЗ
   |                Документ.Наборка.Товары КАК НаборкаТовары
   |            ГДЕ
   |                НаборкаТовары.Ссылка.ЗаказНаряд = &ЗаказНаряд
   |                И НаборкаТовары.Ссылка <> &Ссылка
   |            
   |            СГРУППИРОВАТЬ ПО
   |                НаборкаТовары.Номенклатура.НоменклатураКБ
   |            
   |            ОБЪЕДИНИТЬ ВСЕ
   |            
   |            ВЫБРАТЬ
   |                ВДокументе.Номенклатура,
   |                ВДокументе.Количество
   |            ИЗ
   |                &ВДокументе КАК ВДокументе) КАК ВложенныйЗапрос
   |        
   |        СГРУППИРОВАТЬ ПО
   |            ВложенныйЗапрос.Номенклатура) КАК ВыданоУже
   |        ПО Требуется.Номенклатура = ВыданоУже.Номенклатура";
и есть таблица значений созданная по всем правилам
   ВДокументе=Новый ТаблицаЗначений;
   ВДокументе.Колонки.Добавить("Номенклатура",Новый ОписаниеТипов("СправочникСсылка.НоменклатураКБ"));
   ВДокументе.Колонки.Добавить("Количество",Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(10,2)));

Когда устанавливаю ее в качестве параметра и выполняю запрос программа ругается следующим образом:
"Содержимое объекта данных может быть выбрано только во временную таблицу", что я сделал неправильно?
1 Vovan1975
 
15.07.13
15:57
ну и в чем проблема то? Вроде все по русски написано.
2 1Сергей
 
15.07.13
15:58
Используй ПОМЕСТИТЬ
3 Vovan1975
 
15.07.13
15:58
зауидывай свою ТЗ во временную таблицу и работай уже с ней
4 beer_fan
 
15.07.13
15:58
А гже же "ПОМЕСТИТЬ"
5 Живой Ископаемый
 
15.07.13
15:59
2(3) первый раз такой глагол встречаю... и он мне нравится!
6 Vovan1975
 
15.07.13
15:59
(5) да, как то неожиданно многозначно получилось...
7 Газебо
 
15.07.13
16:00
Этот кусок поместите во временную таблицу и используйте пакетный запрос.

   |            ОБЪЕДИНИТЬ ВСЕ
   |            
   |            ВЫБРАТЬ
   |                ВДокументе.Номенклатура,
   |                ВДокументе.Количество
   |            ИЗ
   |                &ВДокументе КАК ВДокументе) КАК ВложенныйЗапрос
8 Serega103
 
15.07.13
16:01
Сейчас попробую
9 Serega103
 
15.07.13
16:03
Спасибо за помощь, всё заработало, про поместить совсем забыл))
10 mikecool
 
15.07.13
16:06
(7) в свете (3) запрос должен быть паркетный!
2 + 2 = 3.9999999999999999999999999999999...