Временные таблицы в 1С

Язык запросов 1С позволяет использовать в запросах временные таблицы, с помощью которых можно:

  • повысить производительность запросов;
  • в некоторых случаях снизить количество блокировок;
  • сделать текст запроса более легким для восприятия.
Пример

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

Запрос, использующий временную таблицу, будет иметь вид:

[свернуть]

Время «жизни» временной таблицы:

  • в течение времени исполнения запроса, либо
  • в течение времени жизни менеджера временных таблиц (исполнения процедуры в случае программной обработки менеджером).

В обоих случаях временная таблиц может быть уничтожена и ранее этого, с помощью (соответственно):

  • конструкции языка запросов, либо
  • метода МВТ.

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

Время "жизни" временной таблицы

Программная обработка временных таблиц в 1С

Временные таблицы можно обрабатывать программно, для чего используется объект метаданных «Менеджер временных таблиц«. С его помощью можно «перехватывать» таблицы из запроса и передавать между процедурами.

ВАЖНО! В случае использования менеджера временная таблица продолжает жить все время исполнения процедуры; поэтому, для оптимизации производительности, в данном случае ее желательно уничтожать в запросе, либо методом менеджера временных таблиц Закрыть().

Временную таблицу можно получить из другого запроса. Для этого предназначена кнопка «Создать описание временной таблицы»:

Создать описание временной таблицы

В окне «Временная таблица» можно определить её наименование и поля, а далее — работать с ней, как с обычной таблицей данных.

Особенности работы с временными таблицами 1С

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

    Имя временной таблицы 1С

    [свернуть]
  2. При работе с временными таблицами в рамках одного сеанса может быть создано произвольное количество экземпляров менеджера временных таблиц.

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.