Как получить курс валюты на дату, которую получает запрос?
---
если дату получаете другим запросом то содинением с регистром курсов по РегистрДата <=Дата, выбрать первые 1 + упорядочивание по дата Убыв пардон с группировкой по дата Макс
---
срезом по регистру сведений курсы валют, на эту дату
---
отчет скд. Дата на которую получаем курс-это переменная
---
если дату получаете другим запросом то содинением с регистром курсов по РегистрДата <=Дата, выбрать первые 1 + упорядочивание по дата Убыв пардон с группировкой по дата Макс
---
```1c
    ВЫБРАТЬ ПЕРВЫЕ 1
    ИтоговаяТаблица.ПрограммныйПродукт КАК ПрограммныйПродукт,
    ИтоговаяТаблица.ЛицензионныйДоговор КАК ЛицензионныйДоговор,
    ИтоговаяТаблица.ДатаНачалаДоговора КАК ДатаНачалаДоговора,
    ИтоговаяТаблица.ДатаДоведенияНМАДоСостоянияПригодногоДляИспользования КАК ДатаДоведенияНМАДоСостоянияПригодногоДляИспользования,
    ИтоговаяТаблица.СтоимостьСУчетомРусификации КАК СтоимостьСУчетомРусификации,
    ИтоговаяТаблица.СрокПолезногоИспользованияНМА КАК СрокПолезногоИспользованияНМА,
    КурсыВалют.Курс,
    КурсыВалют.Кратность
    ИЗ
    ИтоговаяТаблица КАК ИтоговаяТаблица
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют
    ПО (КурсыВалют.Период <= ИтоговаяТаблица.ДатаДоведенияНМАДоСостоянияПригодногоДляИспользования)
    И КурсыВалют.Валюта= ИтоговаяТаблица.Валюта

    УПОРЯДОЧИТЬ ПО
    КурсыВалют.Период УБЫВ
```

Выбирается только первый договор как дселать по всем?
---
кажется, в скд это можно сделать соединением наборов данных. попробуйте!
---
я исправился см (4)
---
Так выбираются все даты на которые есть данные по валюте

```1c
    ВЫБРАТЬ
    ИтоговаяТаблица.ПрограммныйПродукт КАК ПрограммныйПродукт,
    ИтоговаяТаблица.ЛицензионныйДоговор КАК ЛицензионныйДоговор,
    ИтоговаяТаблица.ДатаНачалаДоговора КАК ДатаНачалаДоговора,
    ИтоговаяТаблица.ДатаДоведенияНМАДоСостоянияПригодногоДляИспользования КАК ДатаДоведенияНМАДоСостоянияПригодногоДляИспользования,
    ИтоговаяТаблица.СтоимостьСУчетомРусификации КАК СтоимостьСУчетомРусификации,
    ИтоговаяТаблица.СрокПолезногоИспользованияНМА КАК СрокПолезногоИспользованияНМА,
    КурсыВалют.Курс,
    КурсыВалют.Кратность,
    МАКСИМУМ(КурсыВалют.Период) КАК Период
    ИЗ
    ИтоговаяТаблица КАК ИтоговаяТаблица
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют
    ПО (КурсыВалют.Период <= ИтоговаяТаблица.ДатаДоведенияНМАДоСостоянияПригодногоДляИспользования)
    И (КурсыВалют.Валюта = ИтоговаяТаблица.Валюта)

    СГРУППИРОВАТЬ ПО
    ИтоговаяТаблица.ПрограммныйПродукт,
    ИтоговаяТаблица.ЛицензионныйДоговор,
    ИтоговаяТаблица.ДатаНачалаДоговора,
    ИтоговаяТаблица.ДатаДоведенияНМАДоСостоянияПригодногоДляИспользования,
    ИтоговаяТаблица.СтоимостьСУчетомРусификации,
    ИтоговаяТаблица.СрокПолезногоИспользованияНМА,
    КурсыВалют.Курс,
    КурсыВалют.Кратность
```
---
а мне нужна только одна запись по валюте
---
Так тоже выбирает все а не одну запись

```1c
    ВЫБРАТЬ
    ВложенныйЗапрос.ПрограммныйПродукт КАК ПрограммныйПродукт,
    ВложенныйЗапрос.ЛицензионныйДоговор КАК ЛицензионныйДоговор,
    ВложенныйЗапрос.ДатаНачалаДоговора КАК ДатаНачалаДоговора,
    ВложенныйЗапрос.ДатаДоведенияНМАДоСостоянияПригодногоДляИспользования КАК ДатаДоведенияНМАДоСостоянияПригодногоДляИспользования,
    ВложенныйЗапрос.СтоимостьСУчетомРусификации КАК СтоимостьСУчетомРусификации,
    ВложенныйЗапрос.СрокПолезногоИспользованияНМА КАК СрокПолезногоИспользованияНМА,
    МАКСИМУМ(ВложенныйЗапрос.Период) КАК Период,
    ВложенныйЗапрос.Курс КАК Курс,
    ВложенныйЗапрос.Кратность КАК Кратность
    ИЗ
    (ВЫБРАТЬ
    ИтоговаяТаблица.ПрограммныйПродукт КАК ПрограммныйПродукт,
    ИтоговаяТаблица.ЛицензионныйДоговор КАК ЛицензионныйДоговор,
    ИтоговаяТаблица.ДатаНачалаДоговора КАК ДатаНачалаДоговора,
    ИтоговаяТаблица.ДатаДоведенияНМАДоСостоянияПригодногоДляИспользования КАК ДатаДоведенияНМАДоСостоянияПригодногоДляИспользования,
    ИтоговаяТаблица.СтоимостьСУчетомРусификации КАК СтоимостьСУчетомРусификации,
    ИтоговаяТаблица.СрокПолезногоИспользованияНМА КАК СрокПолезногоИспользованияНМА,
    МАКСИМУМ(КурсыВалют.Период) КАК Период,
    КурсыВалют.Курс КАК Курс,
    КурсыВалют.Кратность КАК Кратность
    ИЗ
    ИтоговаяТаблица КАК ИтоговаяТаблица
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют
    ПО ИтоговаяТаблица.Валюта = КурсыВалют.Валюта
    И (КурсыВалют.Период <= ИтоговаяТаблица.ДатаДоведенияНМАДоСостоянияПригодногоДляИспользования)

    СГРУППИРОВАТЬ ПО
    ИтоговаяТаблица.ПрограммныйПродукт,
    ИтоговаяТаблица.ЛицензионныйДоговор,
    ИтоговаяТаблица.ДатаНачалаДоговора,
    ИтоговаяТаблица.ДатаДоведенияНМАДоСостоянияПригодногоДляИспользования,
    ИтоговаяТаблица.СтоимостьСУчетомРусификации,
    ИтоговаяТаблица.СрокПолезногоИспользованияНМА,
    КурсыВалют.Курс,
    КурсыВалют.Кратность) КАК ВложенныйЗапрос

    СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.ПрограммныйПродукт,
    ВложенныйЗапрос.ЛицензионныйДоговор,
    ВложенныйЗапрос.ДатаНачалаДоговора,
    ВложенныйЗапрос.ДатаДоведенияНМАДоСостоянияПригодногоДляИспользования,
    ВложенныйЗапрос.Курс,
    ВложенныйЗапрос.Кратность,
    ВложенныйЗапрос.СтоимостьСУчетомРусификации,
    ВложенныйЗапрос.СрокПолезногоИспользованияНМА
```
---
Убрали
```1c
    КурсыВалют.Курс КАК Курс,
    КурсыВалют.Кратность КАК Кратность
```
 и все заработало
---
большое всем спасибо!!!
---
Сообщение было скрыто модератором.