A1sQ.DestroyTemp
Назначение: уничтожить одну временную таблицу, зарегистрированную в переданном TempTablesManager.
Как делает: выполняет пакет УНИЧТОЖИТЬ ИмяВТ; через запрос с менеджером ВТ.
Как делает: выполняет пакет УНИЧТОЖИТЬ ИмяВТ; через запрос с менеджером ВТ.
Сигнатура
Function DestroyTemp(TempManager, TableName) Export
Как работает (по исходному коду)
Если ТипЗнч(TempManager) <> Тип("TempTablesManager") Тогда
Возврат Ложь;
КонецЕсли;
// Пакет с одной инструкцией «УНИЧТОЖИТЬ»
Текст = "УНИЧТОЖИТЬ " + TableName + ";";
Запрос = A1sQ.CreateQWithTemps(Текст, TempManager);
Запрос.ВыполнитьПакет();
Возврат Истина;
Исключения не перехватываются: если таблицы с таким именем нет в менеджере или имя некорректно, ВыполнитьПакет() бросит ошибку. Оборачивайте вызов в Попытка/Исключение, если нужна «тихая» очистка.
Параметры
- TempManager — экземпляр TempTablesManager, в чьём контексте создана временная таблица.
- TableName — имя временной таблицы (идентификатор из языка запросов 1С, как правило без пробелов и спецсимволов).
Возвращает
Булево — Истина, если пакет выполнен; Ложь, если TempManager не того типа.
Примеры
1) Уничтожить конкретную ВТ
// После использования временной таблицы ВТ_Ссылки
A1sQ.DestroyTemp(TempManager, "ВТ_Ссылки");
2) Создать, использовать и удалить
// Создали ВТ
A1sQ.CreateTempTable("ПОМЕСТИТЬ ВТ_IDs КАК
|ВЫБРАТЬ Ссылка
|ИЗ Справочник.Номенклатура
|ГДЕ НЕ ПометкаУдаления", "ВТ_IDs");
// ... использовали ВТ_IDs в нескольких запросах ...
A1sQ.DestroyTemp(TempManager, "ВТ_IDs");
3) Удалить всё сразу — DestroyAllTemps
A1sQ.DestroyAllTemps(TempManager); // быстрее, если ВТ много
Нюансы и ограничения
✅ Быстро удаляет одну ВТ без перебора списка
✅ Работает через пакет — безопасно внутри контекста TempTablesManager
❗ Не проверяет существование ВТ — ошибка всплывёт на ВыполнитьПакет()
❗ Имя должно быть корректным идентификатором в языке запросов
❗ Возвращает Ложь только при неправильном типе менеджера; прочие ошибки — исключения
Связанные функции
- DestroyAllTemps — удалить все ВТ менеджера.
- CreateTempTable — создать временную таблицу.
- CreateQWithTemps — запрос в контексте TempTablesManager.
- UnloadTemp / UnloadAllTemps — диагностика содержимого ВТ.