Автор: Дмитрий   Дата: 2018-05-15 00:00:00

Временные таблицы 1с

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

Использование временной таблицы в 1С

Временные таблицы 1с часто задействуют в пакетных запросах.