Как в запросе получать курс валюты на даты документов? #123315


#0 by t_vladimir
Допустим есть документ Продажа с 3мя реквизитами Товар,Валюта и СуммаВал (сумма продажи в Валюте). Есть регистр сведений КурсыВалют с измерением Валюта и рессурсом Курс. Необходимо запросом получить все продажи за указанный период с суммами продаж в рублях. Написан  запрос: ИЗ Документ.Продажа КАК Продажа СОЕДИНЕНИЕ Запрос есс-но работает неправильно, т.к. курс валюты получается на дату переданную в качестве параметра, а надо для каждого документа Продажа получать курс на его дату. Т.е. нельзя  брать один срез регистра, а для каждого документа необходимо делать свой. Как это правильно описать в запросе?
#1 by Дяпти
Фпоиск:
#2 by t_vladimir
спсб
#3 by t_vladimir
мне тут вапщета присоветовали другой вариант: ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют Как КурсыВалют ПО Продажа.Валюта = КурсыВалют.Валюта И КурсыВалют.Период <= Продажа.Дата ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют Как КурсыВалютФильтр ГДЕ КурсыВалютФильтр.Валюта ЕСТЬ NULL во как :)
#4 by Дяпти
И че, у тя работает? У меня почему последние курсы возвращает.
#5 by t_vladimir
ой ошибся в описании КурсыВалютФильтр РегистрСведений.КурсыВалют Как КурсыВалютФильтр ПО Продажа.Валюта = КурсыВалютФильтр.Валюта ... вместо остальное вроде правильно написал а вапще у меня работает, тока что проверил не точно этот пример, но аналогичный
#6 by m-rPronin
Через виртуальную таблицу "Срез последних" эффективней получается и ничего не мешает ее использовать в конструкции ЛЕВОЕ СОЕДИНЕНИЕ.
#7 by Дяпти
Если можно приведи пример. Ваще то мое ИМХО - ты ошибаешься. Действительно, енто работает! Способ ваще рульный. Спасибо.
#8 by m-rPronin
Сорри, перечитал внимательней, беру свои слова обратно.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С