Приклад як помістити Таблицю значень у Запит 1с.
Для прикладу візьмемо таблицю значень до якої додано 2 товару:
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
ТЗСтр = ТЗ.Добавить();
ТЗСтр.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("000000001");
ТЗСтр = ТЗ.Добавить();
ТЗСтр.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("000000002");
Тепер створимо Запит, в який ми встановимо нашу Таблицю значень параметром:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура
|ПОМЕСТИТЬ ВТ_Номенклатура
|ИЗ
| &Товары КАК Товары
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_Номенклатура.Номенклатура КАК Номенклатура,
| ОстаткиОстатки.КоличествоОстаток КАК КоличествоОстаток
|ИЗ
| ВТ_Номенклатура КАК ВТ_Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Остатки.Остатки КАК ОстаткиОстатки
| ПО ВТ_Номенклатура.Номенклатура = ОстаткиОстатки.Номенклатура";
Запрос.УстановитьПараметр("Товары",ТЗ);
Результат = Запрос.Выполнить().Выгрузить();
Тепер ви можете спокійно працювати з даними у запиті, в даному прикладі отримання залишків із Регістру накопичення.
УВАГА: Отримані дані з Таблиці значень у Запиті потрібно помістити в тимчасову таблицю, і тільки тоді з нею працювати, інакше буде помилка:
Помилка під час виклику методу контексту (Виконати): Вміст об'єкта даних може бути вибраний лише у тимчасову таблицю
2023-07-22