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

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

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

Показать


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

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

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


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

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

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



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

Аналитик 1C
Москва
зарплата от 200 000 руб. до 240 000 руб.
Полный день

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

Руководитель группы разработки 1С
Москва
зарплата от 500 000 руб.
Полный день

Разработчик 1С (от middle до senior), до 300 К gross
Санкт-Петербург
зарплата от 195 000 руб. до 300 000 руб.
Полный день