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

SDV 31 6

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

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

Похожие публикации

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

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

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

Транслитерация в запросе

Выбор записи по номеру из НЕПРОНУМЕРОВАННОЙ таблицы

Модератору