A1sCode библиотека 1С

A1sQ.UnloadTemp

Назначение: получить ТаблицаЗначений из одной временной таблицы, созданной в контексте TempTablesManager.
Как делает: выполняет ВЫБРАТЬ * ИЗ <ИмяВТ> в привязке к менеджеру ВТ и возвращает выгрузку результата.

Сигнатура

Function UnloadTemp(TempManager, TableName) Export

Как работает (по исходному коду)

Если ТипЗнч(TempManager) <> Тип("TempTablesManager") Тогда
    Возврат Неопределено;
КонецЕсли;

ТекстЗапроса = "ВЫБРАТЬ
|   *
|ИЗ " + TableName + " КАК T";

Запрос = CreateQ(ТекстЗапроса, TempManager);
Таб    = Запрос.Выполнить().Выгрузить();
Возврат Таб;

Параметры

  • TempManager — экземпляр TempTablesManager, в чьём контексте создана ВТ.
  • TableName — имя временной таблицы. Обычно это то же имя, что использовалось в ПОМЕСТИТЬ. В некоторых реализациях менеджера может потребоваться ПолноеИмя.

Возвращает

ТаблицаЗначений — содержимое ВТ. Если TempManager не того типа — Неопределено.

Примеры

1) Диагностика одной ВТ

VT = A1sQ.UnloadTemp(TM, "ВТ_Ссылки");
Если VT <> Неопределено Тогда
    Сообщить("Строк: " + Строка(VT.Количество()));
КонецЕсли;

2) Экспорт в CSV

VT = A1sQ.UnloadTemp(TM, "ВТ_Результат");
Если VT <> Неопределено Тогда
    A1sS.SaveVTAsCSV("c:\tmp\result.csv", VT);
КонецЕсли;

3) Проверка пустоты

VT = A1sQ.UnloadTemp(TM, "ВТ_Логи");
Если A1sQ.IsEmptyTable(VT) Тогда
    Сообщить("ВТ пустая");
Иначе
    Сообщить("Есть данные");
КонецЕсли;

Нюансы и ограничения

✅ Просто: «ВЫБРАТЬ *» из указанной ВТ
✅ Работает в контексте TempTablesManager (никаких прав на реальные таблицы не нужно)
❗ Память: «*» выгружает все колонки и все строки
❗ Имя таблицы должно соответствовать регистрации в менеджере (иногда требуется ПолноеИмя)
❗ Исключения при неверном имени/контексте не ловятся — оборачивайте вызов в Попытка/Исключение