Разработка и Конфигурация · 11 мин
Как установить менеджер временных таблиц в 1С
Как установить и использовать менеджер временных таблиц в 1С: программное создание, консоль запросов, инструменты разработчика, проверка и типичные ошибки.
Под «установкой менеджера временных таблиц» в 1С обычно понимают две разные задачи. Первая — программная: создать объект МенеджерВременныхТаблиц и передать его в запрос, чтобы работать с временными таблицами. Вторая — прикладная: установить внешний инструмент (консоль запросов, «Инструменты разработчика»), который показывает содержимое временных таблиц и позволяет отлаживать запросы с пакетами. Обе задачи решаются без изменения конфигурации, если действовать аккуратно.
Важно понимать: штатного «менеджера временных таблиц» как отдельной устанавливаемой программы в платформе 1С нет. Объект МенеджерВременныхТаблиц встроен в язык и создаётся одной строкой кода, а визуальные инструменты — это внешние обработки, которые запускаются через «Файл → Открыть» и не требуют прав администратора базы в большинстве случаев.
Ниже разобраны оба сценария: программное создание менеджера в коде, установка консоли запросов для просмотра временных таблиц, проверка результата, ограничения по правам и типичные ошибки. Материал ориентирован на платформу 1С:Предприятие 8.3 в управляемом и обычном приложении.
Что такое менеджер временных таблиц и когда он нужен
Менеджер временных таблиц — это объект встроенного языка 1С, который хранит временные таблицы, созданные запросами в рамках одного сеанса работы. Пока менеджер существует, к его таблицам можно обращаться из других запросов, если им передать тот же объект. Как только переменная с менеджером уничтожается, все временные таблицы удаляются с сервера СУБД.
Типовые ситуации, где менеджер необходим: сложные отчёты с промежуточными выборками, отбор данных по списку значений через временную таблицу вместо огромного условия «В», многоэтапные расчёты, где результат одного запроса используется в следующем. Без менеджера каждая конструкция «ПОМЕСТИТЬ» создаёт таблицу, которая недоступна извне запроса.
Отдельно стоит задача отладки: разработчику нужно видеть, что реально лежит во временных таблицах. Для этого используют внешние консоли запросов — их и называют в обиходе «менеджером временных таблиц», хотя корректнее говорить «инструмент просмотра временных таблиц».
Программная установка: создание объекта в коде
Создание менеджера занимает три строки. Сначала объявляется объект, затем он присваивается запросу, после чего запросы могут создавать и читать временные таблицы:
МенеджерВТ = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос.Текст =
"ВЫБРАТЬ
| Товары.Ссылка КАК Номенклатура
|ПОМЕСТИТЬ ВТ_Товары
|ИЗ
| Справочник.Номенклатура КАК Товары
|ГДЕ
| НЕ Товары.ПометкаУдаления";
Запрос.Выполнить();
После выполнения таблица ВТ_Товары доступна любому следующему запросу, которому назначен тот же менеджер:
Запрос2 = Новый Запрос;
Запрос2.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос2.Текст = "ВЫБРАТЬ * ИЗ ВТ_Товары";
Результат = Запрос2.Выполнить().Выгрузить();
Ключевое правило: менеджер должен жить столько, сколько нужны его таблицы. Если объявить его внутри функции и вернуть только результат первого запроса, временные таблицы будут уничтожены при выходе из функции. Для длительной работы менеджер передают между процедурами параметром или хранят в реквизите объекта (например, обработки).
Установка консоли запросов для просмотра временных таблиц
Чтобы видеть содержимое временных таблиц без написания кода, используют внешние обработки. Самые распространённые варианты — консоль запросов из состава подсистемы «Инструменты разработчика» (ИР) и типовая консоль запросов с диска ИТС. Порядок установки одинаковый.
- 1Скачайте файл обработки (расширение .epf) из доверенного источника: портал 1С, диск ИТС или официальный репозиторий инструмента.
- 2Проверьте, что версия обработки совместима с вашей версией платформы и режимом работы (обычное или управляемое приложение).
- 3Откройте 1С в режиме Предприятие и выполните Файл → Открыть, выберите скачанный .epf-файл.
- 4Если появилось предупреждение безопасности о внешней обработке, подтвердите открытие — при наличии соответствующих прав.
- 5Убедитесь, что консоль открылась и выполняет простой тестовый запрос.
- 6Для постоянного использования добавьте обработку в справочник «Дополнительные отчеты и обработки», если он есть в конфигурации.
Если в конфигурации внедрена Библиотека стандартных подсистем, удобнее зарегистрировать консоль как дополнительную обработку: тогда она появится в меню «Дополнительные отчеты и обработки» и будет доступна всем пользователям с нужными правами, без ручного открытия файла каждый раз.
Для регистрации откройте «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки», создайте новый элемент, загрузите файл .epf, укажите разделы, где он будет виден, и опубликуйте. Потребуются права на добавление дополнительных обработок — обычно это роль администратора или разработчика.
Ограничения по правам и безопасности
Открытие внешних обработок может быть запрещено настройками безопасности: профилем групп доступа, правом «Интерактивное открытие внешних отчетов и обработок» или защитой от опасных действий. Если при открытии файла появляется отказ, обратитесь к администратору базы — самостоятельно менять профили безопасности в рабочей базе не следует.
Проверка результата: как убедиться, что всё работает
Для программного сценария проверка проста: после выполнения запроса с «ПОМЕСТИТЬ» выполните второй запрос, читающий временную таблицу. Если менеджер передан корректно, запрос вернёт данные; если нет — платформа выдаст ошибку «Таблица не найдена» с именем временной таблицы.
Для визуального инструмента откройте консоль запросов и выполните пакетный запрос: первая часть помещает данные во временную таблицу, вторая читает из неё. В консолях с поддержкой временных таблиц появится список созданных таблиц с возможностью просмотреть их содержимое отдельно.
Как проверить результат
Запрос выполняется и возвращает строки
Ошибка «Таблица не найдена» — менеджер не передан или уже уничтожен
Форма консоли отображается, тестовый запрос выполняется
Отказ в доступе или ошибка совместимости — проверьте права и версию платформы
После выполнения пакета видны созданные таблицы и их строки
Список пуст — запрос не содержит ПОМЕСТИТЬ или выполнен с ошибкой
Типичные ошибки при работе с менеджером временных таблиц
Большинство проблем связано не с установкой, а с жизненным циклом объекта и синтаксисом запросов. Разбирать их стоит до того, как менять код в рабочей базе.
Отдельная группа ошибок — производительность. Разработчики помещают во временные таблицы миллионы строк без индексов, а потом соединяют их без условий. Если временная таблица участвует в соединениях, добавляйте индексы через конструкцию ИНДЕКСИРОВАТЬ ПО — это заметно ускоряет пакетные запросы на больших объёмах.
Альтернативы и границы самостоятельной работы
Не всегда нужен полноценный визуальный инструмент. Для разовой отладки достаточно вывести содержимое временной таблицы в табличный документ или в отладчике конфигуратора посмотреть результат запроса. Для постоянной работы команды разработки удобнее зарегистрированная дополнительная обработка, доступная всем из интерфейса.
Сравнение вариантов
Подходит для прикладного кода, отчётов и обработок. Не требует установки, но не даёт визуального просмотра таблиц.
Подходит для разовой отладки и анализа временных таблиц. Требует права интерактивного открытия внешних обработок.
Подходит для постоянной работы: расширенный просмотр временных таблиц, анализ плана запроса. Требует установки подсистемы или открытия обработки.
Подходит для точечной проверки результата запроса в коде. Неудобен для больших таблиц и пакетных запросов.
Самостоятельно безопасно: создавать менеджер в коде, открывать проверенные консоли запросов в тестовой базе, регистрировать дополнительные обработки при наличии прав. К администратору или внедренцу стоит обращаться, если нужно менять профили безопасности, внедрять подсистемы в конфигурацию на поддержке или разбираться с нагрузкой временных таблиц на сервер СУБД.
Что важно запомнить
Менеджер временных таблиц не устанавливается как программа: он создаётся в коде через Новый МенеджерВременныхТаблиц и передаётся запросам. Для визуальной работы используйте внешнюю консоль запросов из доверенного источника, открывая её через Файл → Открыть или регистрируя в дополнительных обработках. Следите за временем жизни менеджера, правами доступа и нагрузкой на сервер СУБД.
Частые вопросы
Нужно ли что-то доустанавливать в платформу 1С для работы временных таблиц?
Нет. Объект МенеджерВременныхТаблиц входит в состав платформы и доступен во всех конфигурациях без дополнительной установки. Доустанавливать нужно только внешние инструменты просмотра — консоли запросов.
Почему запрос с ПОМЕСТИТЬ выполняется, а следующий запрос не видит таблицу?
Чаще всего второму запросу не присвоен тот же менеджер временных таблиц, либо переменная с менеджером уже вышла из области видимости и была уничтожена. Проверьте, что оба запроса используют один объект и что он живёт на протяжении всей цепочки вызовов.
Можно ли открыть консоль запросов без прав администратора?
Да, если у пользователя есть право интерактивного открытия внешних отчётов и обработок и не включены ограничения профиля безопасности. Если при открытии файла возникает отказ, права должен настроить администратор базы.
Как удалить временную таблицу, если она больше не нужна?
Выполните запрос с текстом «УНИЧТОЖИТЬ ИмяТаблицы» через тот же менеджер. Это освобождает ресурсы сервера СУБД до завершения работы кода и позволяет повторно создать таблицу с тем же именем без ошибки.
Работают ли временные таблицы в фоновых заданиях?
Да, но менеджер живёт только внутри сеанса фонового задания. Передать временные таблицы из фонового задания в основной сеанс нельзя — результат нужно возвращать через таблицу значений или помещать во временное хранилище.
Чем опасны большие временные таблицы в клиент-серверной базе?
Они занимают место и память в служебной области СУБД и при отсутствии индексов замедляют соединения. На больших выборках добавляйте ИНДЕКСИРОВАТЬ ПО и уничтожайте таблицы сразу после использования.