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

УПОРЯДОЧИТЬ ПО
    КурсыВалют.Период УБЫВ
Показать
neuromancer_aza; +1 Ответить
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Руководитель отдела внедрения 1С
Новосибирск
зарплата от 60 000 руб. до 160 000 руб.
Полный день

Ведущий программист 1С
Москва
зарплата от 120 000 руб. до 150 000 руб.
Полный день

Программист 1С
Самара
зарплата от 50 000 руб. до 100 000 руб.
По совместительству


Ведущий программист 1С
Сочи
зарплата от 82 500 руб. до 99 000 руб.
Полный день