База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как устранить ошибку использования &ВТ_Врем в запросах 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 3 минуты назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
9 сентября 2026 в 10:01 #38618
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ
| ТЗ.Спецификация КАК Спецификация,
| ТЗ.Номенклатура КАК Номенклатура,
| ТЗ.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ТЗ.Количество КАК Количество,
| ТЗ.МаркаСтали КАК МаркаСтали,
| ТЗ.НомерГОСТа КАК НомерГОСТа,
| ТЗ.Характеристика КАК Характеристика,
| ТЗ.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТЗ.ПрименениеМатериалаРедактирование КАК ПрименениеМатериалаРедактирование
|ПОМЕСТИТЬ ВТ_Врем
|ИЗ
| &ТЗ КАК ТЗ
|;
|ВЫБРАТЬ
| ВТ_Врем.Спецификация КАК Спецификация,
| ВТ_Врем.Номенклатура КАК Номенклатура,
| СпрНоменклатура.нсиКодНСИ КАК КодЕСНСИ,
| ВТ_Врем.Номенклатура КАК НаименованиеМатериала,
| ВТ_Врем.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ВТ_Врем.Количество КАК Количество,
| ВТ_Врем.МаркаСтали КАК МаркаСтали,
| ВТ_Врем.НомерГОСТа КАК НомерГОСТа,
| ВТ_Врем.Характеристика КАК Характеристика,
| ВТ_Врем.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ВТ_Врем.ПрименениеМатериалаРедактирование КАК Примечание
|ИЗ
| &ВТ_Врем КАК ВТ_Врем
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
| ПО ВТ_Врем.Номенклатура = СпрНоменклатура.Ссылка
|ИТОГИ ПО
| ВТ_Врем.СтатьяКалькуляции»;Запрос.УстановитьПараметр(«ТЗ», ТЗСпецификации);
Запрос.УстановитьПараметр(«ВТ_Врем», ТЗСпецификации);Результат = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Ошибка при вызове метода контекста (Выполнить)
{ВнешняяОбработка.ПФ_MXL_ЗаявкаНаПотребныйМатериал_.МодульОбъекта(249)}:Результат = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
{ВнешняяОбработка.ПФ_MXL_ЗаявкаНаПотребныйМатериал_.Форма.Форма.Форма(15)}: Возврат РеквизитФормыВЗначение(«Объект»).СформироватьПечатнуюФорму(СтруктураТипов, МассивДокументов, Новый СписокЗначений);
{ВнешняяОбработка.ПФ_MXL_ЗаявкаНаПотребныйМатериал_.Форма.Форма.Форма(4)}: ТабДок = КомандаСформироватьНаСервере();
по причине:
Содержимое объекта данных может быть выбрано только во временную таблицупо причине:
Содержимое объекта данных может быть выбрано только во временную таблицу -
9 сентября 2026 в 10:01 #38619
Ошибка «Содержимое объекта данных может быть выбрано только во временную таблицу» возникает из-за того, что вы пытаетесь использовать параметр &ВТ_Врем как таблицу значений, но при этом в запросе он указан как &ВТ_Врем, а не как временная таблица, созданная в самом запросе.
В 1С нельзя одновременно использовать и ПОМЕСТИТЬ и параметр с таким же именем.
В вашем запросе:
|ПОМЕСТИТЬ ВТ_Врем
|ИЗ
| &ТЗ КАК ТЗ
|;
|
|ВЫБРАТЬ
| …
|ИЗ
| &ВТ_Врем КАК ВТ_Врем
| ЛЕВОЕ СОЕДИНЕНИЕ …Вы сначала создаёте временную таблицу ВТ_Врем из параметра &ТЗ, а потом пытаетесь использовать параметр &ВТ_Врем, которого в параметрах нет (или он у вас тоже ТЗСпецификации).
Так делать нельзя.
—
Как исправить:
1. Уберите параметр &ВТ_Врем из запроса, используйте временную таблицу ВТ_Врем, созданную в запросе.
2. В запросе во второй части обращайтесь просто к ВТ_Врем, а не к &ВТ_Врем.
3. В коде 1С установите только параметр «ТЗ».
—
Правильный запрос:
|ВЫБРАТЬ
| ТЗ.Спецификация КАК Спецификация,
| ТЗ.Номенклатура КАК Номенклатура,
| ТЗ.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ТЗ.Количество КАК Количество,
| ТЗ.МаркаСтали КАК МаркаСтали,
| ТЗ.НомерГОСТа КАК НомерГОСТа,
| ТЗ.Характеристика КАК Характеристика,
| ТЗ.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТЗ.ПрименениеМатериалаРедактирование КАК ПрименениеМатериалаРедактирование
|ПОМЕСТИТЬ ВТ_Врем
|ИЗ
| &ТЗ КАК ТЗ
|;
|
|ВЫБРАТЬ
| ВТ_Врем.Спецификация КАК Спецификация,
| ВТ_Врем.Номенклатура КАК Номенклатура,
| СпрНоменклатура.нсиКодНСИ КАК КодЕСНСИ,
| ВТ_Врем.Номенклатура КАК НаименованиеМатериала,
| ВТ_Врем.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ВТ_Врем.Количество КАК Количество,
| ВТ_Врем.МаркаСтали КАК МаркаСтали,
| ВТ_Врем.НомерГОСТа КАК НомерГОСТа,
| ВТ_Врем.Характеристика КАК Характеристика,
| ВТ_Врем.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ВТ_Врем.ПрименениеМатериалаРедактирование КАК Примечание
|ИЗ
| ВТ_Врем КАК ВТ_Врем
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
| ПО ВТ_Врем.Номенклатура = СпрНоменклатура.Ссылка
|ИТОГИ ПО
| ВТ_Врем.СтатьяКалькуляции—
В коде 1С:
1С (Код)123456Запрос = Новый Запрос;Запрос.Текст = ТекстЗапроса; // как вышеЗапрос.УстановитьПараметр("ТЗ", ТЗСпецификации);Результат = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);—
Объяснение:
— ВТ_Врем — временная таблица, созданная в запросе через ПОМЕСТИТЬ.
— Вы не можете передавать &ВТ_Врем как параметр, если она создаётся в запросе.
— Используйте только &ТЗ как параметр.
—
Если хотите, могу помочь с полным примером.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.