Менеджер временных таблиц в запросах 1С

Многие знают, что временные таблицы используются в пакетах запросов, когда нужно сначала одним запросом получить какую-то информацию, а потом обработать ее уже с помощью другого запроса и получить результат. Таким образом, менеджеры временных таблиц существуют у любых запросов.

Но что делать, когда использования пакетного запроса недостаточно для решения задачи? Например, когда после создания временной таблицы требуется произвести какие-то действия с помощью встроенного языка 1С и только после этого получить окончательный результат запроса. Или, когда временная таблица должна быть получена различными способами, в зависимости от некоторых условий.

Очевидно, что в этих случаях нужно, чтобы различные запросы использовали один и тот же менеджер временных таблиц. Рассмотрим методы работы с менеджером временных таблиц в запросах 1С.

Как создать менеджер временных таблиц

МВТ = новый МенеджерВременныхТаблиц;

Как назначить менеджер временных в запрос 1С

//создадим запрос
запрос = новый запрос;

//Назначим созданный ранее менеджер временных таблиц
запрос.МенеджерВременныхТаблиц = МВТ;

Как добавить временную таблицу в менеджер

Для того чтобы добавить временную таблицу в запрос, нужно выполнить запрос в режиме Создание временной таблицы, назначив ему менеджер временных таблиц.

Менеджер временных таблиц в запросах 1С

МВТ = новый МенеджерВременныхТаблиц;
запрос = новый запрос;
запрос.МенеджерВременныхТаблиц = МВТ;
Запрос.Текст = "ВЫБРАТЬ
| Контрагенты.Ссылка КАК Ссылка
|ПОМЕСТИТЬ ВТ1
|ИЗ
| Справочник.Контрагенты КАК Контрагенты"
;
Результат = запрос.Выполнить();

Как удалить временную таблицу из менеджера

Для этого нужно создать запрос на уничтожение временной таблицы и выполнить его.

Менеджер временных таблиц в запросах 1С

запрос = новый запрос;
запрос.МенеджерВременныхТаблиц = МВТ;
Запрос.Текст ="УНИЧТОЖИТЬ ВТ1";
Результат = запрос.Выполнить();

Как использовать таблицы из менеджера временных таблиц в запросах 1С

К сожалению, конструктор запроса не может видеть временные таблицы из менеджера. Поэтому запрос к временной таблице нужно либо писать вручную, либо все-таки воспользоваться конструктором, но указать в нем структуру временной таблицы.

Менеджер временных таблиц в запросах 1С

Менеджер временных таблиц в запросах 1С

После этого можно как обычно составить и выполнить запрос к временной таблице, не забывая подключать общий менеджер временных таблиц.

запрос = новый запрос;
запрос.МенеджерВременныхТаблиц = МВТ;
Запрос.Текст ="ВЫБРАТЬ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ1.Ссылка) КАК КоличествоКонтрагентов
|ИЗ
| ВТ1 КАК ВТ1"
;
Результат = запрос.Выполнить().Выбрать();

Менеджер временных таблиц в запросах 1С: 3 комментария

    1. Автоматизация малого бизнеса Автор записи

      Цель в том, чтобы лишний раз не выполнять запрос, результат которого используется другим запросом.
      Сохраняем результат в менеджере временных таблиц и потом просто вытаскиваем его оттуда. Экономим тем самым время и ресурсы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *