Это можно сделать с помощью временных таблиц:

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

Выборка = Запрос.Выполнить().Выбрать();


Если при использовании в запросе таблицы значений, возникает ошибка: «Тип не может быть выбран в запросе», то нужно явно указать Тип значения колонок ТЗ!
Т.е. если мы используем таблицу значений, так же в свою очередь выгруженную из результата запроса или из табличной части документа например - то такой проблемы не возникает, т.к. в таком случае колонки будут типизированными. А если мы сами создаем таблицу значений, то нужно явно указать тип для каждой колонки:

 ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));


необходимо зарегистрироваться для просмотра ссылки