Работа с таблицей значений в запросе

Версия для печатиPDF-версия
1. Создаём таблицу значений:

	Таблица = Новый ТаблицаЗначений;
2. Добавляем колонки таблицы значений с указанием типа данных:

	Таблица.Колонки.Добавить("Контрагент", Новый ОписаниеТипов("СправочникСсылка.Контрагенты"));
	Таблица.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
	Таблица.Колонки.Добавить("ЕдиницаИзмерения", Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"));
	Таблица.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число",,, Новый КвалификаторыЧисла(15, 2, ДопустимыйЗнак.Неотрицательный)));
3. Заполняем таблицу значений по своему алгоритму.
4. Создаём новый запрос:

	Запрос = Новый Запрос;
	Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	Запрос.Текст =
	// Создаём временную таблицу из таблицы значений. Таблица значений будет передана в параметр &Таблица
	"ВЫБРАТЬ
	| Таблица.Контрагент,
	| Таблица.Номенклатура,
	| Таблица.ЕдиницаИзмерения,
	| Таблица.Количество
	|ПОМЕСТИТЬ Таблица
	|ИЗ
	| &Таблица КАК Таблица
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	// Основной запрос
	|ВЫБРАТЬ
	| Таблица.Контрагент,
	| Таблица.Номенклатура,
	| Таблица.ЕдиницаИзмерения,
	| Таблица.Количество
	|ИЗ
	| Таблица КАК Таблица
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	// Уничтожаем временную таблицу
	|УНИЧТОЖИТЬ Таблица";

	// Передаём нашу таблицу значений в параметр запроса
	Запрос.УстановитьПараметр("Таблица", Таблица);
5. Результат выполнения запроса может быть выгружен в табличную часть объекта:
	ТабличнаяЧасть = Запрос.Выполнить().Выгрузить();
Полезность материала: 
5
Ваша оценка: Нет Средняя: 4.8 (22 оценок)
Оцените полезность материала
© При копировании материалов сайта ссылка на оригинал обязательна.