Получение курсов валют для каждого документа

В документе «Приобретение товаров и услуг» есть реквизит Валюта. Необходимо для всех введенных документов получить курс указанной в документе валюты на дату этого документа. Курсы валют хранятся в периодическом регистре сведений «Курсы валют».

В данной задаче проверяется умение писать запросы и знание как получить из регистра сведений срез последних на несколько дат. Решение подобной задачи с подробным описанием приведено в этой статье.

Здесь приведу только текст запроса без пояснения:

ВЫБРАТЬ
    ПриобретениеТоваровУслуг.Ссылка,
    ПриобретениеТоваровУслуг.Валюта,
    МАКСИМУМ(КурсыВалют.Период) КАК Период
ПОМЕСТИТЬ ВТПериодыУстановкиКурсов
ИЗ
    Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют
        ПО ПриобретениеТоваровУслуг.Валюта = КурсыВалют.Валюта
            И ПриобретениеТоваровУслуг.Дата >= КурсыВалют.Период

СГРУППИРОВАТЬ ПО
    ПриобретениеТоваровУслуг.Ссылка,
    ПриобретениеТоваровУслуг.Валюта
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТПериодыУстановкиКурсов.Ссылка,
    ВТПериодыУстановкиКурсов.Валюта,
    КурсыВалют.Курс
ИЗ
    ВТПериодыУстановкиКурсов КАК ВТПериодыУстановкиКурсов
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют
        ПО ВТПериодыУстановкиКурсов.Период = КурсыВалют.Период
            И ВТПериодыУстановкиКурсов.Валюта = КурсыВалют.Валюта

Оцените статью