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