8.х Запрос

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем PsyTech, 25 ноя 2008.

  1. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    В запросе получаю всякие документы. Как, правильно, на дату этих документов получить курс доллара в этом запросе?
  2. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Левым соединением с регистром сведений курсы валют, в типовой УТ это много где встречается.
  3. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    Не все так просто. Если курс на дату документа не указан, надо взять последний курс.
  4. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Левое соединение со срезом последних не пойдет значит?
    Почему курс должен быть либо прямо на дату документа либо вообще последний? Или последний предыдущий курс?

    Можно сделать двойное левое соединение не со срезом последних, а с датой документа и с текущей датой (срезом последних на сегодня). И выбирать максимум из них, например.

    Но вообще в таких ситуациях используют срез последних и все.
  5. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    Короче вот так:
    Код:
    ВЫБРАТЬ
    ВложенныйЗапрос.Ссылка,
    КурсыВалют.Курс,
    КурсыВалют.Кратность
    ИЗ
    (ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка КАК Ссылка,
    РеализацияТоваровУслуг.ВалютаДокумента КАК ВалютаДокумента,
    МАКСИМУМ(КурсыВалют.Период) КАК Период
    ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют
    ПО РеализацияТоваровУслуг.ВалютаДокумента = КурсыВалют.Валюта
    И РеализацияТоваровУслуг.Дата >= КурсыВалют.Период
    
    СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслуг.Ссылка,
    РеализацияТоваровУслуг.ВалютаДокумента) КАК ВложенныйЗапрос
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют
    ПО ВложенныйЗапрос.Период = КурсыВалют.Период
    И ВложенныйЗапрос.ВалютаДокумента = КурсыВалют.Валюта
    

Поделиться этой страницей