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