Ответ из техподдержки, по моему очень удовлетворительный... Теперь понятно, что нужно сделать, но непонятно как. А "кастомизацией" техподдержка не занимается. Хотя можно было мы сделать сразу такой компонент, который пользовался бы у русскоязычных интернет магазинов большой популярностью...
Для решения задачи вам следует кастомизировать компонент каталога. Конкретно в компоненте Вы получаете цену товара и её валюту. К цене товара применяете метод CCurrencyRates::ConvertCurrency(), которая выполняет задачу конвертирования валюты по существующему на сайте курсу, соответственно в $arResult записываете цену не в валюте указанную при редактировании товара, а цену в валюте которую вы получили указанным методом. Так в шаблон будут передаваться цены в одной и той же валюте, а каталоге цены останутся прежними. Документация по CurrencyRates::ConvertCurrency(): http://dev.1c-bitrix.ru/api_help/currency/developer/ccurrencyrates/ccurrencyrates__convertcurrency.930a5544.php
Вопрос очень актуальный, у меня тоже похожая ситуация. Цены хранятся в базе в долларах и евро, каждый день устанавливается курс по центробанку. Нужно чтобы цены везде отображались в рублях, на данный момент пересчёт происходит только в корзине. Помогите, пожалуйста. Есть следующая мысль. Переделываем модуль отображения торгового каталога, в котором пишем цикл. В цикле проверяется тип валюты и если тип совпадает со значением $ то умножаем значение цены на курс доллара, если совпадает с еврой, то умножаем значение цены на курс евры, если ещё с чем нибудь, то на соответствующий курс. При выводе типа валюты ставим жёстко рубль.