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

1. user1619761 19.07.21 15:24 Сейчас в теме
Всем привет. Есть две валюты,доллар и евро. В форме обработчика есть поле,отвечающее за выбор валюты. Подскажите,пожалуйста,как из запроса получить курс определенной валюты (например,если на форме обработчика выбрать евро, то сумма в отчете выводится по курсу евро,и для доллара идентично). Заранее благодарю!

Функция ПолучитьКурс()
	
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	КурсыВалютСрезПоследних.Период КАК Период,
	|	КурсыВалютСрезПоследних.Валюта КАК Валюта,
	|	КурсыВалютСрезПоследних.Курс КАК Курс
	|ИЗ
	|	РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютСрезПоследних";
	
	РезультатЗапроса = Запрос.Выполнить();   
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	    КурсВалюты =ВыборкаДетальныеЗаписи.Курс;
	КонецЦикла;   
	Возврат КурсВалюты;
	
КонецФункции;
Показать
По теме из базы знаний
Найденные решения
6. Vladimir-R 168 19.07.21 16:13 Сейчас в теме
(3)
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
| КурсыВалютСрезПоследних.Курс КАК Курс
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
Запрос.УстановитьПараметр("Дата", НачалоДня(Дата));
Запрос.УстановитьПараметр("Валюта", Валюта);

РезультатЗапроса = Запрос.Выполнить().Выбрать();
РезультатЗапроса.Следующий();
КурсВалюты = РезультатЗапроса.Курс;
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DenisVol 2 19.07.21 15:30 Сейчас в теме
Запрос = Новый Запрос();
	Запрос.Текст = "ВЫБРАТЬ
	               |	КурсыВалютСрезПоследних.Курс КАК Курс,
	               |	КурсыВалютСрезПоследних.Кратность КАК Кратность
	               |ИЗ
	               |	РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
	Запрос.УстановитьПараметр("Дата", НачалоДня(Дата));
	Запрос.УстановитьПараметр("Валюта", Валюта);
	
	РезультатЗапроса = Запрос.Выполнить().Выбрать();
	РезультатЗапроса.Следующий();
	КурсВалюты		=  РезультатЗапроса.Курс;
	КратностьКурса	=  РезультатЗапроса.Кратность;
	
          Сумма = СуммаВалюты/КратностьКурса*КурсВалюты;

Показать


есть такой пример.
3. user1619761 19.07.21 15:39 Сейчас в теме
(2)
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
| КурсыВалютСрезПоследних.Курс КАК Курс,
| КурсыВалютСрезПоследних.Кратность КАК Кратность
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
Запрос.УстановитьПараметр("Дата", НачалоДня(Дата));
Запрос.УстановитьПараметр("Валюта", Валюта);

РезультатЗапроса = Запрос.Выполнить().Выбрать();
РезультатЗапроса.Следующий();
КурсВалюты = РезультатЗапроса.Курс;
КратностьКурса = РезультатЗапроса.Кратность;

Сумма = СуммаВалюты/КратностьКурса*КурсВалюты;
Показать


Спасибо за подсказку,но я уже пробовал так делать. Дело в том,что в моем регистре сведений отсутствует кратность.
Прикрепленные файлы:
5. DenisVol 2 19.07.21 16:06 Сейчас в теме
(3) Кратность указывает, какому количеству денежных единиц базовой валюты соответствует установленный курс. Вот и определите курс у Вас за 1 единицу или за 100? И рассчитывайте
6. Vladimir-R 168 19.07.21 16:13 Сейчас в теме
(3)
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
| КурсыВалютСрезПоследних.Курс КАК Курс
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
Запрос.УстановитьПараметр("Дата", НачалоДня(Дата));
Запрос.УстановитьПараметр("Валюта", Валюта);

РезультатЗапроса = Запрос.Выполнить().Выбрать();
РезультатЗапроса.Следующий();
КурсВалюты = РезультатЗапроса.Курс;
7. user1619761 19.07.21 16:41 Сейчас в теме
(6)
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
| КурсыВалютСрезПоследних.Курс КАК Курс
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
Запрос.УстановитьПараметр("Дата", НачалоДня(Дата));
Запрос.УстановитьПараметр("Валюта", Валюта);

РезультатЗапроса = Запрос.Выполнить().Выбрать();
РезультатЗапроса.Следующий();
КурсВалюты = РезультатЗапроса.Курс;



Благодарю)
4. retr0 19.07.21 16:03 Сейчас в теме
Есть подсистема БСП? Если да, просто напиши РаботаСКурсамиВалют.ПересчитатьВВалюту(СуммаКоторуюНужноПересчитать, ВалютаИзКоторойПересчитыватся, ВалютаВКоторуюНужноПересчитать, ТекущаяДата())
Оставьте свое сообщение

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