Дмитрий Донских, я знаю только один способ решения данной проблемы, который пришлось ввести на одном проекте, у которого, как у вас, товары добавляются в нескольких валютах.
Суть способа проста: для товаров нужно добавить новое свойство "Цена в рублях" с типом "Число". После этого нужно написать функцию, которая будет отрабатывать на событиях "OnBeforePriceAdd" и "OnBeforePriceUpdate". Функция должна конвертировать цену товара с указанной валютой по установленному курсу в цену в рублях, и заносить это значение в свойство "Цена в рублях".
Ну а дальше просто привязываете сортировку по цене к свойству "Цена в рублях".
P.S. Этот метод прекрасно работает до того момента, пока вы не сменили курс валют. К сожалению, у битрикса нет события на этот счет. В моем случае мне пришлось писать скрипт, который проходится по всем товарам, пересчитывает им цены в рублях и заносит новое значение в свойство "Цена в рублях".
Суть способа проста: для товаров нужно добавить новое свойство "Цена в рублях" с типом "Число". После этого нужно написать функцию, которая будет отрабатывать на событиях "OnBeforePriceAdd" и "OnBeforePriceUpdate". Функция должна конвертировать цену товара с указанной валютой по установленному курсу в цену в рублях, и заносить это значение в свойство "Цена в рублях".
Ну а дальше просто привязываете сортировку по цене к свойству "Цена в рублях".
P.S. Этот метод прекрасно работает до того момента, пока вы не сменили курс валют. К сожалению, у битрикса нет события на этот счет. В моем случае мне пришлось писать скрипт, который проходится по всем товарам, пересчитывает им цены в рублях и заносит новое значение в свойство "Цена в рублях".