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