Здесь формируем структуру временных таблиц
// формирует список временных таблиц из текста запроса
//
// Параметры
//
// Возвращаемое значение:
// <Массив> - массив наименований временных таблиц
//
Функция ПолучитьМассивНаименованийВременныхТаблиц() Экспорт
МассивНаименований = Новый Массив;
ТекстЗапроса = ПостроительОтчетов.Текст;
// преобразуем к стандартному тексту запроса с форматированием
Конструктор = Новый КонструкторЗапроса(ТекстЗапроса);
ТекстЗапроса = Конструктор.Текст;
Шаблон = "Поместить\s+[A-z0-9_А-я]+"; //Поместить + любое количество пробелов (TAB, CR,LF FF)+ следующее слово
RegExp = Новый COMОбъект("VBScript.RegExp");
RegExp.MultiLine = Истина; // истина — текст многострочный, ложь — одна строка
RegExp.Global = Истина; // истина — поиск по всей строке, ложь — до первого совпадения
RegExp.IgnoreCase = Истина; // истина — игнорировать регистр строки при поиске
RegExp.Pattern = Шаблон;
Если НЕ RegExp.Test(ТекстЗапроса) Тогда Возврат МассивНаименований КонецЕсли;
МассивСтрок = RegExp.Execute(ТекстЗапроса);
Для каждого Элемент Из МассивСтрок Цикл
МассивНаименований.Добавить(СокрЛП(СтрЗаменить(Элемент.Value, "ПОМЕСТИТЬ", "")));
КонецЦикла;
Возврат МассивНаименований;
КонецФункции // ПолучитьСписокВременныхТаблиц()
// формирование структуры временных таблицы
//
// Параметры
//
// Возвращаемое значение:
// <Структура> - структура, содержащая временные таблицы
//
Функция ПолучитьВременныеТаблицы() Экспорт
СтруктураВременныхТаблиц = Новый Структура;
МассивНаименований = ПолучитьМассивНаименованийВременныхТаблиц();
Запрос = ПостроительОтчетов.ПолучитьЗапрос();
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.ВыполнитьПакет();
ВременныйЗапрос = Новый Запрос();
ВременныйЗапрос.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
Для каждого Элемент Из МассивНаименований Цикл
ВременныйЗапрос.Текст = "Выбрать * ИЗ " + Элемент;
ТаблицаЗапроса = ВременныйЗапрос.Выполнить().Выгрузить();
СтруктураВременныхТаблиц.Вставить(Элемент, ТаблицаЗапроса);
КонецЦикла;
Возврат СтруктураВременныхТаблиц;
КонецФункции // ПолучитьВременныеТаблицы()
А этот обработчик нужно повесить на кнопку "Временные таблицы"
// формирование элементов формы для вывода таблицы
//
// Параметры
//
Процедура СоздатьСтраницуДляВыводаВременнойТаблицы(ЭлементСтруктуры)
Наименование = ЭлементСтруктуры.Ключ;
ТаблицаЗапроса = ЭлементСтруктуры.Значение;
Страница = ЭлементыФормы.ПанельВременныхТаблиц.Страницы.Добавить();
Страница.Имя = Наименование;
Страница.Заголовок = Наименование;
ЭлементыФормы.ПанельВременныхТаблиц.ТекущаяСтраница = Страница;
ТабличноеПоле = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), Наименование, ,ЭлементыФормы.ПанельВременныхТаблиц);
ТабличноеПоле.Верх = 0;
ТабличноеПоле.Лево = 0;
ТабличноеПоле.Ширина = ЭлементыФормы.ПанельВременныхТаблиц.Ширина - 2;
ТабличноеПоле.Высота = ЭлементыФормы.ПанельВременныхТаблиц.Высота - 20;
ТабличноеПоле.ТолькоПросмотр = ЛОЖЬ;
ТабличноеПоле.Доступность = Истина;
ТабличноеПоле.УстановитьПривязку(ГраницаЭлементаУправления.Низ,
ЭлементыФормы.ПанельВременныхТаблиц, ГраницаЭлементаУправления.Низ);
ТабличноеПоле.УстановитьПривязку(ГраницаЭлементаУправления.Право,
ЭлементыФормы.ПанельВременныхТаблиц, ГраницаЭлементаУправления.Право);
ТабличноеПоле.Значение = ТаблицаЗапроса;
ТабличноеПоле.СоздатьКолонки();
КонецПроцедуры // СоздатьСтраницуДляВыводаВременнойТаблицы()
// обработчик нажатия кнопки "Временные таблицы"
//
Процедура КоманднаяПанельФормыВременныеТаблицы(Кнопка)
ЭлементыФормы.ПанельВременныхТаблиц.Страницы.Очистить();
СтруктураВременныхТаблиц = ПолучитьВременныеТаблицы();
Для каждого Значение Из СтруктураВременныхТаблиц Цикл
СоздатьСтраницуДляВыводаВременнойТаблицы(Значение);
КонецЦикла;
ЭлементыФормы.ПанельРезультатов.ТекущаяСтраница = ЭлементыФормы.ПанельРезультатов.Страницы.ВременныеТаблицы;
ЭлементыФормы.ПанельВременныхТаблиц.Страницы.Удалить(ЭлементыФормы.ПанельВременныхТаблиц.Страницы[0]);
КонецПроцедуры
И не забыть добавить кнопку на форму и ПанельВременныхТаблиц
необходимо зарегистрироваться для просмотра ссылки