Всем доброго времени суток, запрос, возможно ли передать поле Дата документа первого запроса как параметр в виртуальную таблицу ЦеныНоменклатурыСрезПоследних. Задача стоит получить на каждую дату документа последнюю розничную цену. Предполагаю что такое не получится сделать в запросе, но все же может есть решение
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Документ.Ссылка КАК Ссылка,
Документ.Номер КАК Номер,
Документ.Дата КАК Дата,
Документ.Организация КАК Организация,
Документ.Склад КАК Склад,
Документ.Ответственный.ФизическоеЛицо КАК Ответственный,
Документ.Организация.Префикс КАК Префикс,
ПРЕДСТАВЛЕНИЕ(Документ.Склад) КАК СкладПредставление,
ПРЕДСТАВЛЕНИЕ(Документ.Организация) КАК ОрганизацияПредставление,
ПРЕДСТАВЛЕНИЕ(Документ.Ответственный.ФизическоеЛицо) КАК ОтветственныйПредставление,
Документ.Номенклатура КАК Номенклатура,
Документ.Характеристика КАК Характеристика,
Документ.Номенклатура.НаименованиеПолное КАК НоменклатураПредставление,
ПРЕДСТАВЛЕНИЕ(Документ.Характеристика) КАК ХарактеристикаПредставление,
ВЫБОР
КОГДА Документ.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
ТОГДА ПРЕДСТАВЛЕНИЕ(Документ.Номенклатура.ЕдиницаИзмерения)
ИНАЧЕ ПРЕДСТАВЛЕНИЕ(Документ.Упаковка)
КОНЕЦ КАК Упаковка,
ВЫБОР
КОГДА Документ.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
ТОГДА Документ.Количество
ИНАЧЕ Документ.КоличествоУпаковок
КОНЕЦ КАК Количество,
Документ.ВидОперации КАК ВидОперации
ИЗ
Документ.СборкаТоваров КАК Документ
ГДЕ
Документ.Ссылка В(&МассивОбъектов)
И Документ.Проведен
УПОРЯДОЧИТЬ ПО
Ссылка
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ТаблицаТовары.НомерСтроки КАК НомерСтроки,
ТаблицаТовары.Номенклатура КАК Номенклатура,
ТаблицаТовары.Номенклатура.НаименованиеПолное КАК НоменклатураПредставление,
ПРЕДСТАВЛЕНИЕ(ТаблицаТовары.Характеристика) КАК ХарактеристикаПредставление,
ТаблицаТовары.Ссылка КАК Ссылка,
ВЫБОР
КОГДА ТаблицаТовары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
ТОГДА ПРЕДСТАВЛЕНИЕ(ТаблицаТовары.Номенклатура.ЕдиницаИзмерения)
ИНАЧЕ ПРЕДСТАВЛЕНИЕ(ТаблицаТовары.Упаковка)
КОНЕЦ КАК Упаковка,
ВЫБОР
КОГДА ТаблицаТовары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
ТОГДА ТаблицаТовары.Количество
ИНАЧЕ ТаблицаТовары.КоличествоУпаковок
КОНЕЦ КАК Количество,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК ЦенаРозничная,
ВЫБОР
КОГДА ТаблицаТовары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
ТОГДА ТаблицаТовары.Количество
ИНАЧЕ ТаблицаТовары.КоличествоУпаковок
КОНЕЦ * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК СуммаРозничная
ИЗ
Документ.СборкаТоваров.Товары КАК ТаблицаТовары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
ПО ТаблицаТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
ГДЕ
ТаблицаТовары.Ссылка В(&МассивОбъектов)
И ТаблицаТовары.Ссылка.Проведен
И НЕ ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
УПОРЯДОЧИТЬ ПО
Ссылка,
НомерСтроки
ИТОГИ ПО
Ссылка
ВЫБРАТЬ
ТаблицаТовары.НомерСтроки КАК НомерСтроки,
ТаблицаТовары.Номенклатура КАК Номенклатура,
.............
Документ.Дата КАК Дата,
Документ.Ссылка КАК Ссылка
ПОМЕСТИТЬ ТаблицаТовары
ИЗ
Документ.СборкаТоваров.Товары КАК ТаблицаТовары
ЛЕВОЕ СОЕДИНЕНИЕ Документ.СборкаТоваров КАК Документ
ПО ТаблицаТовары.Ссылка = Документ.Ссылка
ГДЕ ВАШИ УСЛОВИЯ
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТаблицаТовары.Ссылка КАК Ссылка,
ТаблицаТовары.Номенклатура КАК Номенклатура,
МАКСИМУМ(ЦеныНоменклатуры.Период) КАК Период
ПОМЕСТИТЬ ТаблицаТоварыСДатамиПоследнихЦен
ИЗ
ТаблицаТовары КАК ТаблицаТовары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ПО ТаблицаТовары.Номенклатура = ЦеныНоменклатуры.Номенклатура
И ТаблицаТовары.Дата >= ЦеныНоменклатуры.Период
И (ЦеныНоменклатуры.ВидЦены = &ВидЦены)
СГРУППИРОВАТЬ ПО
ТаблицаТовары.Материал,
ТаблицаТовары.Ссылка
Показать
Затем соединяете эти две ВТ по ссылке и номенклатуре, и потом полученную ВТ соединяете с регистром Цены по периоду, номенклатуре и виду цен
ВЫБРАТЬ
ТаблицаТовары.НомерСтроки КАК НомерСтроки,
ТаблицаТовары.Номенклатура КАК Номенклатура,
.............
Документ.Дата КАК Дата,
Документ.Ссылка КАК Ссылка
ПОМЕСТИТЬ ТаблицаТовары
ИЗ
Документ.СборкаТоваров.Товары КАК ТаблицаТовары
ЛЕВОЕ СОЕДИНЕНИЕ Документ.СборкаТоваров КАК Документ
ПО ТаблицаТовары.Ссылка = Документ.Ссылка
ГДЕ ВАШИ УСЛОВИЯ
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТаблицаТовары.Ссылка КАК Ссылка,
ТаблицаТовары.Номенклатура КАК Номенклатура,
МАКСИМУМ(ЦеныНоменклатуры.Период) КАК Период
ПОМЕСТИТЬ ТаблицаТоварыСДатамиПоследнихЦен
ИЗ
ТаблицаТовары КАК ТаблицаТовары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ПО ТаблицаТовары.Номенклатура = ЦеныНоменклатуры.Номенклатура
И ТаблицаТовары.Дата >= ЦеныНоменклатуры.Период
И (ЦеныНоменклатуры.ВидЦены = &ВидЦены)
СГРУППИРОВАТЬ ПО
ТаблицаТовары.Материал,
ТаблицаТовары.Ссылка
Показать
Затем соединяете эти две ВТ по ссылке и номенклатуре, и потом полученную ВТ соединяете с регистром Цены по периоду, номенклатуре и виду цен