Получение курса валюты на определенную дату

1. user907301 13.05.19 12:13 Сейчас в теме
Всем привет, ломаю голову уже час, подскажите пожалуйста:

На форме есть 2 поля номенклатура и дата.
Необходимо написать запрос, который получает курс заданной валюты на дату. Если выбранная дата приходится на выходной день или в регистре "Курсы валют" отсутствуют записи за предшествующий период, получить значение курса на дату ближайшую к выбранной.

Всё это должно работать без использования Виртуальной таблицы "Срез последних".
По теме из базы знаний
Найденные решения
6. SGordon1 13.05.19 12:32 Сейчас в теме
по календарю даты как то так по моему ...


ВЫБРАТЬ
	МАКСИМУМ(КурсыВалют.Период) КАК Период
ИЗ
	РегистрСведений.КурсыВалют КАК КурсыВалют
ГДЕ
	ДЕНЬНЕДЕЛИ(КурсыВалют.Период) <> 6
	И КурсыВалют.Период < &Дата
	И КурсыВалют.Валюта = &Валюта
Показать
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. SGordon1 13.05.19 12:15 Сейчас в теме
Выходные то календарные? Выберите сперва подходящую дату а затем курс на эту дату, с чем больше проблем?
3. user907301 13.05.19 12:19 Сейчас в теме
(2) Проблема как раз с выходными днями.jav * ascript:void(0);
4. SGordon1 13.05.19 12:21 Сейчас в теме
Выходные календарные или у Вас есть график работы?
5. catena 110 13.05.19 12:27 Сейчас в теме
Выбрать максимальную дату в разрезе валюты, потом к ней курс.
6. SGordon1 13.05.19 12:32 Сейчас в теме
по календарю даты как то так по моему ...


ВЫБРАТЬ
	МАКСИМУМ(КурсыВалют.Период) КАК Период
ИЗ
	РегистрСведений.КурсыВалют КАК КурсыВалют
ГДЕ
	ДЕНЬНЕДЕЛИ(КурсыВалют.Период) <> 6
	И КурсыВалют.Период < &Дата
	И КурсыВалют.Валюта = &Валюта
Показать
7. user907301 13.05.19 12:40 Сейчас в теме
(6)
ВЫБРАТЬ
МАКСИМУМ(КурсыВалют.Период) КАК Период
ИЗ
РегистрСведений.КурсыВалют КАК КурсыВалют
ГДЕ
ДЕНЬНЕДЕЛИ(КурсыВалют.Период) <> 6
И КурсыВалют.Период < &Дата
И КурсыВалют.Валюта = &Валюта

Спасибо огромное, именно этого мне и не хватало!
8. alex-l19041 8 13.05.19 13:50 Сейчас в теме
(7) как мне кажется условие ДЕНЬНЕДЕЛИ(КурсыВалют.Период) <> 6 лишнее
9. VZyryanov 13.05.19 13:59 Сейчас в теме
Странно, что решение не соответствует задаче - вместо курса валюты получают дату курса. Мое решение:
ВЫБРАТЬ ПЕРВЫЕ 1
    КурсыВалют.Курс КАК Курс,
    КурсыВалют.Кратность КАК Кратность
ИЗ
    РегистрСведений.КурсыВалют КАК КурсыВалют
ГДЕ
    КурсыВалют.Период <= &Дата
    И КурсыВалют.Валюта = &Валюта

УПОРЯДОЧИТЬ ПО
    КурсыВалют.Период УБЫВ
Показать
neuromancer_aza; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот