Поместить таблицу в запрос

SDV 101 4 10

Процедура помещает Таблицу значений во временную таблицу Запроса

// Процедура - Поместить таблицу в запрос
// Зависит от ТипизированнаяТаблицаЗначений() https://fastcode.im/Templates/6734
// Параметры:
//  Запрос		 - Запрос 
//  Таблица		 - ТаблицаЗначений
//  ИмяТаблицы	 - Строка - Имя временной таблицы в Запросе
//
Процедура ПоместитьТаблицуВЗапрос(Запрос, Таблица, ИмяТаблицы)
	ТипизированнаяТаблица = ТипизированнаяТаблицаЗначений(Таблица);
	ИсходныйТекстЗапроса = Запрос.Текст;
	Запрос.Текст = "Выбрать * Поместить " + ИмяТаблицы + " Из &" + ИмяТаблицы + " как " + ИмяТаблицы;
	Если Запрос.МенеджерВременныхТаблиц = Неопределено Тогда
		Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	КонецЕсли;
	Если Запрос.Параметры.Свойство(ИмяТаблицы) Тогда
		_Параметр =  Запрос.Параметры.ИмяТаблицы;
		Запрос.УстановитьПараметр(ИмяТаблицы, ТипизированнаяТаблица);
		Запрос.Выполнить();
		Запрос.УстановитьПараметр(ИмяТаблицы, _Параметр);
	Иначе
		Запрос.УстановитьПараметр(ИмяТаблицы, ТипизированнаяТаблица);
		Запрос.Выполнить();
		Запрос.Параметры.Удалить(ИмяТаблицы);
	КонецЕсли;
	Запрос.Текст = ИсходныйТекстЗапроса;
КонецПроцедуры
0

См. также

Просмотр временной таблицы

Запрос в SQL базу

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

СКД передача таблицы в качетсве параметра в запрос

ИспользуемыеТаблицы (БСП)

Добавить таблицу в менеджер временных таблиц

Получить даты за период в запросе

Передача менеджера временных таблиц в СКД

Фильтрация таблицы значений

Модератору