![]() |
|
Содержимое объекта данных может быть выбрано только во временную таблицу | ☑ | ||
---|---|---|---|---|
0
wwwqwert2014
05.06.13
✎
14:50
|
Решаю задачу 1.16 из сборника задач спеца по платформе.
Ошибка в запросе: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВложенныйЗапрос.Номенклатура, | ВложенныйЗапрос.Количество КАК Количество |ПОМЕСТИТЬ временнаяТаб |ИЗ | (ВЫБРАТЬ | ТЗНехваткаКомплектующих.Номенклатура КАК Номенклатура, | СУММА(ТЗНехваткаКомплектующих.Количество) КАК Количество | ИЗ | &ТЗНехваткаКомплектующих КАК ТЗНехваткаКомплектующих | | СГРУППИРОВАТЬ ПО | ТЗНехваткаКомплектующих.Номенклатура | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ПланЗакупокСписокНоменклатуры.Номенклатура, | СУММА(ПланЗакупокСписокНоменклатуры.Количество) | ИЗ | Документ.ПланЗакупок.СписокНоменклатуры КАК ПланЗакупокСписокНоменклатуры | ГДЕ | ПланЗакупокСписокНоменклатуры.Ссылка = &Ссылка | | СГРУППИРОВАТЬ ПО | ПланЗакупокСписокНоменклатуры.Номенклатура) КАК ВложенныйЗапрос |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | временнаяТаб.Номенклатура, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ временнаяТаб.Количество) КАК Количество |ИЗ | временнаяТаб КАК временнаяТаб | |СГРУППИРОВАТЬ ПО | временнаяТаб.Номенклатура"; Запрос.УстановитьПараметр("ТЗНехваткаКомплектующих", ТЗНехваткаКомплектующих); Запрос.УстановитьПараметр("Ссылка", СсылкаНаПланЗакупок); //передать ссылку на ПланЗакупок Результат = Запрос.Выполнить(); вот здесь описывается ТаблицаЗначений //здесь содержится инормация о комплектующих, которые необходимо заказать ТЗНехваткаКомплектующих = Новый ТаблицаЗначений; ТЗНехваткаКомплектующих.Колонки.Добавить("Номенклатура"); ТЗНехваткаКомплектующих.Колонки.Добавить("Количество"); СоздаватьДокумент = Ложь; Пока ВыборкаДетальныеЗаписи.Следующий() Цикл // Вставить обработку выборки ВыборкаДетальныеЗаписи Если ВыборкаДетальныеЗаписи.Разница > 0 тогда СоздаватьДокумент = Истина; НоваяСтрокаТЗ = ТЗНехваткаКомплектующих.Добавить(); НоваяСтрокаТЗ.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; НоваяСтрокаТЗ.Количество = ВыборкаДетальныеЗаписи.Разница; Продолжить; КонецЕсли; КонецЦикла; Выскакивает ошибка в запросе: Ошибка при выполнении обработчика - 'ОбработкаПроведения' по причине: {Документ.ПланПродаж.МодульОбъекта(187)}: Ошибка при вызове метода контекста (Выполнить) Результат = Запрос.Выполнить(); по причине: Содержимое объекта данных может быть выбрано только во временную таблицу |
|||
1
salvator
05.06.13
✎
14:52
|
(0) Кнопка "Я" справа от названия темы.
|
|||
2
viktor_vv
05.06.13
✎
14:52
|
Сначала вот это &ТЗНехваткаКомплектующих загони во временную таблицу, а потом уже используй ВТ в объединении.
|
|||
3
salvator
05.06.13
✎
14:53
|
И колонки явно типизируй у ТЗ
|
|||
4
viktor_vv
05.06.13
✎
14:53
|
И колонки ТЗ
ТЗНехваткаКомплектующих.Колонки.Добавить("Номенклатура"); типизируй. |
|||
5
Ёпрст
гуру
05.06.13
✎
14:55
|
(0)
1. типизируй явно все колонки ТЗНехваткаКомплектующих 2. положи ТЗНехваткаКомплектующих во временную табличку первым из пакетных запросо 3. в основном запросе соединяйся/бери данные ужо с этой временной таблички. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |