![]() |
![]() |
![]() |
|
формула персчета из одной валюты вдругую | ☑ | ||
---|---|---|---|---|
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) Это функция типовой БП ))))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |