Вывод цен, хранение и конвертация валют

usermuser

Новичок
Товарищи, прошу совета, два вопроса.

Как лучше/правильнее:

А) Выдавать из БД стоимость товара в исходной валюте или сразу конвертировать (по курсу из
другой таблицы) в готовое к выводу на экран значение? Понятно, что если выдавать в исходно виде, то нужен доп. пхп код, которые доведёт цифру до нужного формата. Так что же выбрать?


Б) Суть в том, что стоимость товаров в БД задаётся в разной валюте, выводится она может пользователем так же в валюте по желанию, система пересчитывает стоимость по курсам валют. Тут и возникает проблема. По уму, курсы все надо хранить в одном месте и считать одним алгоритмом. А ситуация требует удобств, например, для некоторых товаров курс надо указывать как 1 рубль = 13 тугриков, а для других, напрмер, в долларах, в привычном виде: 1 доллар = 35 рублей.
То есть, рушится основа, относительно которой колеблются валюты. Как тут быть?
 

Luge

Нестандартное звание
цены должны храниться в одной базовой валюте, а перерасчёт и всякие махинации — это уже к логике перед выводом.
 

usermuser

Новичок
цены должны храниться в одной базовой валюте, а перерасчёт и всякие махинации — это уже к логике перед выводом.
Это идеальный случай. Тогда и вопрос бы не стоял. У меня цены могут быть в разных валютах (с указанием оных), что и вызывает трудности.
 

usermuser

Новичок
Увы, не вариант. Цена на услугу должна задаваться в любой валюте, отображаться в админке так, как ввелась, а на самом сайте так, как пожелал юзер.
 

Luge

Нестандартное звание
я ничего не понимать на этот форум :-(

ну, храните в разных валютах, сделайте какой-то инструмент конверсии всего во всё и приводите в запрошенную пользователем валюту при генерации страницы. Как бы так логичней всего, если нормальные решения не подходят.

Посмотрел бы с удовольствием как при таких решениях будет формироваться отчёт о прибыли за месяц
 

usermuser

Новичок
я ничего не понимать на этот форум :-(
Ну, а по вашему форум нужен для того, чтобы ковыряясь пальцем в носу мусолить очевидные решения?
Моя так не считает. Я столкнулся с проблемой, вынес её на обсуждение. Если выяснится, что мой путь ложный, с благодарностью приму путь истинный. Пока же я вижу не обсуждение проблемы, а предложение идти стандартным путём вопреки поставленной задаче.

Посмотрел бы с удовольствием как при таких решениях будет формироваться отчёт о прибыли за месяц
Такой задачи нет и не планируется. Но замечание хорошее, принято.
 

Luge

Нестандартное звание
я своё решение предложил, вариантов против кроме как «я так хочу» не получил. Пойду дальше в носу ковыряться
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
usermuser,
Увы, не вариант. Цена на услугу должна задаваться в любой валюте, отображаться в админке так, как ввелась, а на самом сайте так, как пожелал юзер.
Аргументированно можете объяснить это требование? Сейчас у вас должна быть всегда информация о соотношении всех валют ко всем. (рубль/тугрик, рубль/доллар, тугрик/доллар) Как вы понимаете - это мягко скажем песец.
 

hell0w0rd

Продвинутый новичок
usermuser,

Аргументированно можете объяснить это требование? Сейчас у вас должна быть всегда информация о соотношении всех валют ко всем. (рубль/тугрик, рубль/доллар, тугрик/доллар) Как вы понимаете - это мягко скажем песец.
Мне кажется вот именно это и нужно объяснить заказчику) Вполне возможно он просто попросит возможность редактировать курсы в админке, и при скачках курса кто-то это будет делать... в общем проблемы клиента
 

AmdY

Пью пиво
Команда форума
=> 1 тугрик = 1/13 рубля
какие проблемы то?
Что с вас фашистов взять, не приспособлены вы у жизни в Беларуси. :)
Мы можем предложить пяток вариантов, но конкретный зависит от заказчика, как он хочет. Считать по курсу нацбанка, задавать свой курс, где-то округлять в большую-меньшую сторону, указывать цены вручную, а может расчёт в любом случае будет проводиться в нац валюте.... Так какие требования бизнеса?
 

AmdY

Пью пиво
Команда форума
Luge, сейчас не актуально, но можно ещё ждановичкий добавить, они как раз округляют.
 

usermuser

Новичок
usermuser,
Аргументированно можете объяснить это требование? Сейчас у вас должна быть всегда информация о соотношении всех валют ко всем. (рубль/тугрик, рубль/доллар, тугрик/доллар) Как вы понимаете - это мягко скажем песец.
Да, это песец. Как такового требования нет, скорее просто «сильная хотелка». Я разделяю ваше удивление, однако ж, такая вот ситуация.
Похоже, придётся брать за основу рубль, а курсы как выйдут, так и выйдут. Неудобно, но что поделать. По крайней мере работа с ценами будет прозрачной, расчёты скрыты и универсальны для всех случаев, да и юзер выберет себе подходящую валюту. То есть, задача решается за счёт неудобства установки курсов в непривычном формате. Что скажете?

Всё таки тут что то не так.
Вот пример накопал: https://ostrovok.ru/hotels/?dates=26.07.2014-27.07.2014&distance=2.5&q=1178&stars=2.3.5&guests=2

Владельцы гостиниц тут забивают цены в своей валюте (достоверно известно, что как минимум один так делает точно). Выводить можно так же в любой валюте. И что, по вашему у них все соотношения валют записаны, али как?
 
Последнее редактирование:

WMix

герр M:)ller
Партнер клуба
Вот только слово фашист - грубовато
 

fixxxer

К.О.
Партнер клуба
Владельцы гостиниц тут забивают цены в своей валюте (достоверно известно, что как минимум один так делает точно). Выводить можно так же в любой валюте. И что, по вашему у них все соотношения валют записаны, али как?
Для букинг-сайта это неизбежно.
 
Сверху