A1sCode

A1sQ.CreateTempTable

Статус: в этой версии реализация закомментирована.
Рекомендуемый способ: используйте CreateQWithTemps и методы менеджера ВТ.

Фрагмент исходника

//Function CreateTempTable(QueryText, TempTableName, Value1 = Undefined, Value2 = Undefined,
//  Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined,
//  Value7 = Undefined, Value8 = Undefined) Export
//  Query = BuildQ(QueryText, Value1, Value2, Value3, Value4, Value5, Value6, Value7, Value8);
//  Query.TempTablesManager = New TempTablesManager;
//  Query.MoveToTempTable(TempTableName);
//EndFunction

Альтернативы

  • CreateQWithTemps(Text, TempManager) — создаёт Query, уже привязанный к менеджеру ВТ.
  • GetTemps() — получить общий TempTablesManager для нескольких запросов.
  • MoveToTempTable — перенос результата в ВТ (метод объекта Query).
  • UnloadTemp / DestroyTemp / DestroyAllTemps — работа с содержимым ВТ и очистка.

Примеры

// 1) Создать ВТ и использовать её во втором запросе
Temps = A1sQ.GetTemps();

Q1 = A1sQ.CreateQWithTemps("
|ПОМЕСТИТЬ ВТ_Ном AS
|ВЫБРАТЬ Ссылка, Наименование
|ИЗ Справочник.Номенклатура
|ГДЕ НЕ ПометкаУдаления", Temps);
Q1.Execute(); // создаст ВТ_Ном в рамках Temps

Q2 = A1sQ.CreateQWithTemps("
|ВЫБРАТЬ * ИЗ ВТ_Ном
|УПОРЯДОЧИТЬ ПО Наименование", Temps);
ТЗ = Q2.Execute().Unload();

// 2) Альтернатива — перенос результата Select в ВТ через метод Query
Q = A1sQ.CreateQWithTemps("ВЫБРАТЬ Ссылка ИЗ Справочник.Пользователи", Temps);
Q.MoveToTempTable("ВТ_Польз");

// 3) Очистка
A1sQ.DestroyAllTemps(Temps);