Цей розділ знаходиться на стадії тестування!

Как поместить Таблицу значений в Запрос 1с

Как поместить Таблицу значений в Запрос 1с

Пример как поместить Таблицу значений в Запрос 1с.

Для примера возьмём таблицу значений в которую добавлено 2 товара:

ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));

ТЗСтр = ТЗ.Добавить();
ТЗСтр.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("000000001");
ТЗСтр = ТЗ.Добавить();
ТЗСтр.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("000000002");

Теперь создадим Запрос в который мы установим нашу Таблицу значений параметром:

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура
|ПОМЕСТИТЬ ВТ_Номенклатура
|ИЗ
| &Товары КАК Товары
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_Номенклатура.Номенклатура КАК Номенклатура,
| ОстаткиОстатки.КоличествоОстаток КАК КоличествоОстаток
|ИЗ
| ВТ_Номенклатура КАК ВТ_Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Остатки.Остатки КАК ОстаткиОстатки
| ПО ВТ_Номенклатура.Номенклатура = ОстаткиОстатки.Номенклатура";
Запрос.УстановитьПараметр("Товары",ТЗ);
Результат = Запрос.Выполнить().Выгрузить();

Теперь вы можете спокойно работать с данными в запросе, в данном примере получение остатков из Регистра накопления.

ВНИМАНИЕ: Полученные данные из Таблицы значений в Запросе нужно поместить во временную таблицу, и только тогда с ней работать, иначе будет ошибка:

Ошибка при вызове метода контекста (Выполнить): Содержимое объекта данных может быть выбрано только во временную таблицу



Теги:   


2023-07-22





Выбрать язык:
-  руский
-  Українська