Имя: Пароль:
1C
1С v8
Как правильно составить запрос?
0 yur4egg
 
26.11.15
12:47
Нужно прочитать табличные части документов, взять оттуда товары с ценами и датами продажи (будут строки с одинаковыми товарами но разными датами) и определить цены закупа этих товаров на дату документа продажи.

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

Хочу сделать одним запросом. Но непонятно, а какой параметр задать для РегистрСведений.ЦеныНоменклатуры.СрезПоследних &Дата ? Ведь он не постоянный а в каждой строке запроса = Дата из документа.
Как переделать запрос?
1 VikingKosmo
 
26.11.15
12:48
Программист всегда исправляет последнюю ошибку.