Glintvein: для 1 категории price1 = валюта хранения у.е., валюта отображения Евро
для 2 категории price1 = валюта хранения у.е., валюта отображения Доллар
для 3 категории price1 = валюта хранения у.е., валюта отображения Внутренний курс
Смотрите. Пусть базовая валюта будет рубли. Поверьте, это избавит от многих внутренних проблем. И ее вообще не заполняем. Пусть нулем будет.
Далее:
Категория 1: price1 - валюта хранения евро, валюта отображения рубли. Вводим цифру в евриках, система при отображении пересчитывает в рубли.
Категория 2: price1 - валюта хранения баксы, валюта отображения рубли.
Категория 3: price1 - валюта хранения "внутренний курс", валюта отображения рубли.
Валюта корзины естественно рубли, т.к. закон запрещает продавать не в рублях.