Доброго дня всем!
Прошу помощи ещё по одному вопросу:

"рулю" тему с вирт. таблицами,т.к. иного выхода сократить время формирования отчета не вижу. Результат: отчет или виснит, или выдает пустую тз.
Короче есть заполненная ТЗ, далее на основании её формируются ещё несколько ТЗ1, ТЗ2,...и т.д.
Как на скуле переписать вот этот маразм:
ТЗ1.ВыбратьСтроки();
Пока ТЗ1.ПолучитьСтроку()=1 Цикл
ТЗ2.ВыбратьСтроки();
Пока ТЗ2.ПолучитьСтроку()=1 Цикл
Пока (ТЗ2.НачОтд = ТЗ1.НачОтд) и (ТЗ2.НомерСтроки<>0) Цикл
ТЗ3.ВыбратьСтроки();
Пока ТЗ3.ПолучитьСтроку()=1 Цикл
Пока ЗначениеВСтроку(ТЗ3.НачОтд)+"@"+ЗначениеВСтроку(ТЗ3.Менеджер) = ЗначениеВСтроку(ТЗ2.НачОтд)+"@"+ЗначениеВСтроку(ТЗ2.Менеджер)) и (ТЗ3.НомерСтроки<>0) Цикл
............и так дальше в том же стиле...
Таб.ВывестиСекцию("Клиент|Колонки1");
Таб.ВывестиСекцию("Клиент|Колонки2");
..........ещё много разных условий.......
КонецЦикла;
Я пытаюсь саму ТЗ тоже сделать временной:
лЗапрос.Выполнить("
|CREATE TABLE #TempTab (Период $Дата,Клиент $Справочник.Клиенты,ПунктРазгрузки $Справочник.ПунктыРазгрузки,Агент $Справочник.Агенты,Менеджер $Справочник.Менеджеры,НачОтд $Справочник.НачРегОСб,Товар $Справочник.Товары,Кол $Число.10.2)");
лЗапрос.Подготовить("Insert into #TempTab (Период, Клиент, ПунктРазгрузки, Агент, Менеджер,НачОтд,Товар,Кол) Values (?, ?, ?, ?, ?, ?, ?, ?, ?)");
...
здесь заполняется ТЗ;
....
лЗапрос.ДобПараметр(1,8,0,0);
лЗапрос.ДобПараметр(1,14,100,0);
лЗапрос.ДобПараметр(1,14,100,0);
лЗапрос.ДобПараметр(1,14,50,0);
лЗапрос.ДобПараметр(1,14,50,0);
лЗапрос.ДобПараметр(1,14,50,0);
лЗапрос.ДобПараметр(1,14,50,0);
лЗапрос.ДобПараметр(1,11,10,2);
лРез = 0;
Попытка
лЗапрос.ВыполнитьSQL_ИзТЗ(ТЗ);
лРез = 1;
Исключение
КонецПопытки;
Если лРез <> 1 Тогда
Предупреждение("Ошибка при формировании отчета!" + РазделительСтрок + лЗапрос.ПолучитьОписаниеОшибки());
КонецЕсли;
ТЗ2 = лЗапрос.ВыполнитьИнструкцию("select * from TempTab",ТЗ,1);
ТЗ2.ВыбратьСтроку();
Виснит

Вся надежда на ваш форум! HELP ME