когда в восьмерке лучше использовать прямой запрос, а когда выборку (спр.выбрать())?
Как правило спр.выбрать() в восьмерке не испольуют, лучше использовать прямой запрос
Что такое менеджер виртуальных таблиц и как с ним работать?
Менеджер временных таблиц служит для передачи туда и хранения там всех результатов (первого или основного) запроса. По моему (если я не ошибаюсь) помещение данных во временную таблицу делает процедуру обработки проведения немного "универсальнее" в некоторых ситуациях.
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
ВременнаяТаблица = Новый Запрос;
ВременнаяТаблица.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
ТекстЗапросаДок = "
|Выбрать
| *
|Поместить врТаб
|из &ТаблицаДанных как мТаб
|";
ВременнаяТаблица.УстановитьПараметр("ТаблицаДанных", ТЗ);
ВременнаяТаблица.Текст = ТекстЗапросаДок;
ВременнаяТаблица.Выполнить();
ПроверкаСтрок = Новый Запрос;
ПроверкаСтрок.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
ТекстЗапроса = "ВЫБРАТЬ
| врТаб.Поле1,
| ОстаткиДанных.КоличествоОстаток
|ИЗ
| врТаб КАК врТаб
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.<ИмяРегистра>.Остатки КАК ОстаткиДанных
| ПО врДокумент.Поле1 = ОстаткиДанных.Поле1";
ПроверкаСтрок.Текст = ТекстЗапроса;
РезультатЗапроса = ПроверкаСтрок.Выполнить();
Результат = Результат.Выгрузить();