|
|
формула персчета из одной валюты вдругую |
☑ |
|
0
Beans
22.03.09
✎
13:26
|
как пересчитать Валюту в рубли это понятно
ТекущийКурс = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(Дата,Отбор).Курс;
Сумма = ТекСтрокаСостав.Сумма * ТекущийКурс;
а вот как персчитать из одной валюты в другую, например из долларов в евро и наоборот, есть у кого нибудь универсальная
правильная функция, в гугле не нашел.
|
|
|
1
Aleksey_3
22.03.09
✎
13:29
|
Курс доллара к евро <> курсу Доллар=>руб=>евро. Поэтому тебе нужны кросс курсы, и точно так же переводишь. А так зависит от задачи
|
|
|
2
Dmitrii
гуру
22.03.09
✎
13:29
|
Искать надо было определение "кросс курс"
|
|
|
3
Euguln
22.03.09
✎
13:31
|
// Эта функция пересчитывает сумму из валюты ВалютаНач по курсу ПоКурсуНач // в валюту ВалютаКон по курсу ПоКурсуКон // // Параметры: // Сумма - сумма, которую следует пересчитать; // ВалютаНач - ссылка на элемент справочника Валют; // определяет валюты из которой надо пересчитвать; // ВалютаКон - ссылка на элемент справочника Валют; // определяет валюты в которую надо пересчитвать; // ПоКурсуНач - курс из которого надо пересчитать; // ПоКурсуКон - курс в который надо пересчитать; // ПоКратностьНач - кратность из которого надо пересчитать (по умолчанию = 1); // ПоКратностьКон - кратность в который надо пересчитать (по умолчанию = 1); // // Возвращаемое значение: // Сумма, пересчитанная в другую валюту // Функция ПересчитатьИзВалютыВВалюту(Сумма, ВалютаНач, ВалютаКон, ПоКурсуНач, ПоКурсуКон, ПоКратностьНач = 1, ПоКратностьКон = 1 ) Экспорт Если (ВалютаНач = ВалютаКон) Тогда // Считаем, что пересчет не нужен. Возврат Сумма; КонецЕсли; Если (ПоКурсуНач = ПоКурсуКон) и (ПоКратностьНач = ПоКратностьКон) Тогда // ну, тут и считать нечего... Возврат Сумма; КонецЕсли; Если ПоКурсуНач = 0 или ПоКурсуКон = 0 или ПоКратностьНач = 0 или ПоКратностьКон = 0 Тогда ОбщегоНазначения.СообщитьОбОшибке("Процедура ""ПересчитатьИзВалютыВВалюту()"": при пересчете обнаружен нулевой курс."); Возврат 0; КонецЕсли; Возврат Окр((Сумма * ПоКурсуНач * ПоКратностьКон) / (ПоКурсуКон * ПоКратностьНач), 2); КонецФункции //ПересчитатьИзВалютыВВалюту()
|
|
|
4
Dmitrii
гуру
22.03.09
✎
13:35
|
КурсВалютыУчета = ?(Курсы.КурсВалютыУчета = 0, 1, Курсы.КурсВалютыУчета);
КурсВалютыХолдинга = ?(Курсы.КурсВалютыХолдинга = 0, 1, Курсы.КурсВалютыХолдинга);
СуммаХолдинга = Сумма * КурсВалютыУчета/КурсВалютыХолдинга;
|
|
|
5
Beans
22.03.09
✎
13:43
|
(3)
испытал - работает - спасибо!
(4)
теперь я узнал новое понятие "кросс курс" :)
"соотношение между двумя валютами, которое определяется на основе курса этих валют по отношению к какой-либо третьей валюте"
|
|
|
6
Euguln
22.03.09
✎
13:50
|
(5) Это функция типовой БП ))))
|
|