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