Получение курса валют
Всем привет. Есть две валюты,доллар и евро. В форме обработчика есть поле,отвечающее за выбор валюты. Подскажите,пожалуйста,как из запроса получить курс определенной валюты (например,если на форме обработчика выбрать евро, то сумма в отчете выводится по курсу евро,и для доллара идентично). Заранее благодарю!
Функция ПолучитьКурс()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КурсыВалютСрезПоследних.Период КАК Период,
| КурсыВалютСрезПоследних.Валюта КАК Валюта,
| КурсыВалютСрезПоследних.Курс КАК Курс
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютСрезПоследних";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
КурсВалюты =ВыборкаДетальныеЗаписи.Курс;
КонецЦикла;
Возврат КурсВалюты;
КонецФункции;
ПоказатьПо теме из базы знаний
- Получение курса валюты по списку дат
- Получение курсов валют через веб-сервисы Центробанка РФ
- Загрузка курсов валют с сайта https://bank.gov.ua для всех валют справочника Валюты (работает в 8.2 и 8.3 - обычные формы)
- Работа с сервисами Telegram, OpenWeatherMap.org, курсы валют РБ
- Получение курса валюты за период с помощью СКД
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
| КурсыВалютСрезПоследних.Курс КАК Курс,
| КурсыВалютСрезПоследних.Кратность КАК Кратность
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
Запрос.УстановитьПараметр("Дата", НачалоДня(Дата));
Запрос.УстановитьПараметр("Валюта", Валюта);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
РезультатЗапроса.Следующий();
КурсВалюты = РезультатЗапроса.Курс;
КратностьКурса = РезультатЗапроса.Кратность;
Сумма = СуммаВалюты/КратностьКурса*КурсВалюты;
Показатьесть такой пример.
(2)
Спасибо за подсказку,но я уже пробовал так делать. Дело в том,что в моем регистре сведений отсутствует кратность.
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
| КурсыВалютСрезПоследних.Курс КАК Курс,
| КурсыВалютСрезПоследних.Кратность КАК Кратность
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
Запрос.УстановитьПараметр("Дата", НачалоДня(Дата));
Запрос.УстановитьПараметр("Валюта", Валюта);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
РезультатЗапроса.Следующий();
КурсВалюты = РезультатЗапроса.Курс;
КратностьКурса = РезультатЗапроса.Кратность;
Сумма = СуммаВалюты/КратностьКурса*КурсВалюты;
ПоказатьЗапрос.Текст = "ВЫБРАТЬ
| КурсыВалютСрезПоследних.Курс КАК Курс,
| КурсыВалютСрезПоследних.Кратность КАК Кратность
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
Запрос.УстановитьПараметр("Дата", НачалоДня(Дата));
Запрос.УстановитьПараметр("Валюта", Валюта);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
РезультатЗапроса.Следующий();
КурсВалюты = РезультатЗапроса.Курс;
КратностьКурса = РезультатЗапроса.Кратность;
Сумма = СуммаВалюты/КратностьКурса*КурсВалюты;
Спасибо за подсказку,но я уже пробовал так делать. Дело в том,что в моем регистре сведений отсутствует кратность.
Прикрепленные файлы:
(3)
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
| КурсыВалютСрезПоследних.Курс КАК Курс
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
Запрос.УстановитьПараметр("Дата", НачалоДня(Дата));
Запрос.УстановитьПараметр("Валюта", Валюта);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
РезультатЗапроса.Следующий();
КурсВалюты = РезультатЗапроса.Курс;
Запрос.Текст = "ВЫБРАТЬ
| КурсыВалютСрезПоследних.Курс КАК Курс
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
Запрос.УстановитьПараметр("Дата", НачалоДня(Дата));
Запрос.УстановитьПараметр("Валюта", Валюта);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
РезультатЗапроса.Следующий();
КурсВалюты = РезультатЗапроса.Курс;
(6)
Благодарю)
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
| КурсыВалютСрезПоследних.Курс КАК Курс
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
Запрос.УстановитьПараметр("Дата", НачалоДня(Дата));
Запрос.УстановитьПараметр("Валюта", Валюта);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
РезультатЗапроса.Следующий();
КурсВалюты = РезультатЗапроса.Курс;
Запрос.Текст = "ВЫБРАТЬ
| КурсыВалютСрезПоследних.Курс КАК Курс
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
Запрос.УстановитьПараметр("Дата", НачалоДня(Дата));
Запрос.УстановитьПараметр("Валюта", Валюта);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
РезультатЗапроса.Следующий();
КурсВалюты = РезультатЗапроса.Курс;
Благодарю)
Вакансии
Разработчик 1С (от middle до senior), до 300 К gross
Санкт-Петербург
зарплата от 195 000 руб. до 300 000 руб.
Полный день
Санкт-Петербург
зарплата от 195 000 руб. до 300 000 руб.
Полный день