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

Допустим у вас есть запрос с несколькими временными таблицами и вам нужно в отладке посмотреть содержимое каждой из них. Обычно такие задачи решаются использованием консоли запросов, но если это невозможно(например в запрос передаются списки значений, таблицы и т.п.), используйте приведенный ниже способ.

Добавляем к себе в модуль следующую функцию(серверную, если это управляемое приложение):

Функция ДанныеВнутреннейТаблицыЗапроса(Запрос, ИмяВнутреннейТаблицы)
    Запрос.Текст="
    |ВЫБРАТЬ
    |    *
    |ИЗ
    |    "+ИмяВнутреннейТаблицы+" КАК Таблица";

    Возврат Запрос.Выполнить().Выгрузить();
КонецФункции

Вызовем ее после текста запроса, например:

запрос.Текст = "ВЫБРАТЬ
|ТЗИтоговая.Наименование
|ПОМЕСТИТЬ Итоговая
|ИЗ
|&ТЗИтоговая КАК ТЗИтоговая
|;
|//////////////////////////////////////////////////////////
|ВЫБРАТЬ
|*
|ПОМЕСТИТЬ Ном
|ИЗ
|Справочник.Номенклатура КАК Номенклатура
|;
|//////////////////////////////////////////////////////////
|ВЫБРАТЬ
|*
|ИЗ
|Итоговая КАК Итоговая
|   ЛЕВОЕ СОЕДИНЕНИЕ Ном КАК Ном
|   ПО Итоговая.Наименование = Ном.Наименование";

МВТ = новый МенеджерВременныхТаблиц;
Запрос.МенеджерВременныхТаблиц = МВТ;
Запрос.выполнить();
Табл = ДанныеВнутреннейТаблицыЗапроса(Запрос, "Итоговая");

Теперь в переменной Табл содержится временная таблица Итоговая, ее можно просмотреть в отладке или вывести в табличный документ.

0 6490