Перейти к содержанию
Форум поддержки пользователей VamShop

Новый способ вывода цен. Как реализовать?


Рекомендуемые сообщения

Добрый день.

На днях столкнулся с такой проблемой :

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

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

А мне нужно, следующее:

Чтобы, скажем, при изменении курса евро - доллар у банков, я мог поменять цены только для товаров, закупленных в евро и только относительно доллара.

Теоретически выглядит следующим образом:

В магазине действуют три валюты: гривна, доллар, евро.

В админке на вкладке "валюты" существуют три группы:

Группа 1. "Евро". Заданы соотношения

евро - доллар

евро - гривна

Группа 2. "Доллар". Заданы соотношения

доллар - евро

доллар - гривна

Группа 3. "Гривна". Заданы соотношения

гривна - доллар

гривна - евро

Суть в том, что в разных группах могут быть разные соотношения между валютами.

А на вкладке товара, возле поля "цена" стоит выпадающий список, где можно выбрать ту или иную группу валют.

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

В общем вот такая вот задача. Можно ли такое вообще реализовать? И если да, то какие файлы нужно менять?

Спасибо.

Ссылка на сообщение
Поделиться на другие сайты

В магазине действуют три валюты: гривна, доллар, евро.

В админке на вкладке "валюты" существуют три группы:

Группа 1. "Евро". Заданы соотношения

евро - доллар

евро - гривна

Группа 2. "Доллар". Заданы соотношения

доллар - евро

доллар - гривна

Группа 3. "Гривна". Заданы соотношения

гривна - доллар

гривна - евро

Суть в том, что в разных группах могут быть разные соотношения между валютами.

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

А на вкладке товара, возле поля "цена" стоит выпадающий список, где можно выбрать ту или иную группу валют.

Про группы я не понял. А вот мультивалютные цены товара, т.е. когда указывается валюта цены товара - как сделать я рассказывал на форуме osCommerce. Цены обновляются автоматически при обновлении курсов валют.

Ссылка на сообщение
Поделиться на другие сайты

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

Про группы я не понял. А вот мультивалютные цены товара, т.е. когда указывается валюта цены товара - как сделать я рассказывал на форуме osCommerce. Цены обновляются автоматически при обновлении курсов валют.

По поводу групп. К примеру, я закупаю 120 разных товаров , скажем, по 100 евро, завтра банковский курс доллара относительно евро меняется, а относительно гривны нет. Но, только если я поправлю курс в админке так как он изменяется сейчас, то затронутся все товары, а мне нужно выровнять дисбаланс только для этих 120. Вот и возникла идея создания групп "Евро" "Гривна" "Доллар". Визуально пользователь ничего не заметит, а я смогу корректировать курсы для отдельно взятых товаров (точнее групп товаров) и делать это надо будет не в каждом товаре, а на закладке "валюты". Надеюсь еще больше не запутал:)

По умолчанию ничего такого нет, только свой код писать.

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

Ссылка на сообщение
Поделиться на другие сайты

Технически возможно всё, т.к. код открытый, дело лишь в исполнителе.

Файлов много править, я ж не могу все перечислить, да и странный вопрос, если Вы сами собрались писать код, по ходу дела будет видно, что и где править.

Ссылка на сообщение
Поделиться на другие сайты

По поводу групп. К примеру, я закупаю 120 разных товаров , скажем, по 100 евро, завтра банковский курс доллара относительно евро меняется, а относительно гривны нет.

Это как? Если курс одной валюты изменился по отношении к другой, то при пересчёте в третью валюту цена тоже изменится. Да и вообще мне не понятен изначальный посыл. В магазине товары продаются в какой-то одной валюте. Значит при оформлении заказа нужно из двух валют пересчитать в одну.

Можно на примерах?

Есть три товара:

товар_евро - 100 EUR

товар_доллар - 100 USD

товар_гривна - 100 UAH

Курсы валют:

1 EUR = 11,24 EAH

1 USD = 7,96 EAH

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

Ссылка на сообщение
Поделиться на другие сайты

Технически возможно всё, т.к. код открытый, дело лишь в исполнителе.

Файлов много править, я ж не могу все перечислить, да и странный вопрос, если Вы сами собрались писать код, по ходу дела будет видно, что и где править.

Ну, сам то я такое не сделаю:). Но, если хотя бы буду знать файлы, который надо будет затрагивать, то это с экономит время программеру, который будет этим заниматься, так как с этим ядром он еще не работал.

Это как? Если курс одной валюты изменился по отношении к другой, то при пересчёте в третью валюту цена тоже изменится. Да и вообще мне не понятен изначальный посыл. В магазине товары продаются в какой-то одной валюте. Значит при оформлении заказа нужно из двух валют пересчитать в одну.

Можно на примерах?

Есть три товара:

товар_евро - 100 EUR

товар_доллар - 100 USD

товар_гривна - 100 UAH

Курсы валют:

1 EUR = 11,24 EAH

1 USD = 7,96 EAH

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

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

Теперь по поводу примера:

Давайте курсы округлим чтоб без дробей было, скажем:

Евро=11гр., Доллар=8гр. Соотношение Доллар - Евро = 0.72

Есть три товара:

1. Цена 150 Евро

закупочная 100 евро ==> Выручка 50 евро

В гривне 150х11 = 1650 грн. ==> Выручка 550 грн.

В долларах 150\0,72 = 208 с копейками ==> 69,4 доллара

2. Цена 140 Долларов

закупочная 110 долларов ==> Выручка 30 Долларов

В гривне 140х8= 1120 грн. ==> 204грн.

В евро 140х0.72= 100.8 евро ==> 21.6 евро

3. Цена 300 гривен

закупочная 200 грн. ==> Выручка 100 грн.

В долларах 300/8=37.5 доллара  ==> 12,5 доллара

В евро 300/11=27.3 евро  ==> 9 евро

Теперь, завтра курс меняется Доллар - 6 грн. Евро - 12 грн. Соотношение Доллар - Евро = 0.5

1. Цена 150 Евро

закупочная 100 евро ==> Выручка 50 евро

В гривне 150х12 = 1800 грн. ==> Выручка 600 грн.

В долларах 150\0,72 = 300 ==> 100 доллара

2. Цена 140 Долларов

закупочная 110 долларов ==> Выручка 30 Долларов

В гривне 140х6= 840 грн. ==> 180 грн.

В евро 140х0.5= 70 евро ==> 15 евро

3. Цена 300 гривен

закупочная 200 грн. ==> Выручка 100 грн.

В долларах 300/6=50 долларов  ==> 16,6 доллара

В евро 300/12=25 евро  ==> 8,3 евро

А теперь примем во внимание тот факт, что закупочные цены статичны, то есть какой бы не был курс валют численно цена остается той же. Следственно, чтобы не потерять на выручке и сохранить конкурентоспособность, цены на товар 1 и 3 нужно понизить, на товар 2 - повысить. Все это обусловлено еще и тем, что закупка товара происходит раз в 1-6 месяцев, а курсы меняются каждый день. А это значит, что при следующем колебании придется опять править все цены. А теперь представьте, что товаров 1 у меня 300шт., товаров 2 - 200 шт. товаров 3 - 100 шт. Согласитесь гемморойно:)

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

Ссылка на сообщение
Поделиться на другие сайты

Очень много слов, эмоций и мало технической информации :( Я же не обсуждаю необходимость, я же говорю о технической стороне вопроса.

Суть я прекрасно понимаю. Если бы не понимал, то не делал бы мультивалютные цены товара. Я не понимаю что такое группы валют и зачем вводится такое понятие.

Давайте ещё раз.

Три товара:

1 - 150 EUR

2 - 140 USD

3 - 300 UAH

Курсы валют: 1 EUR = 11 EAH, 1 USD = 8 EAH

Продаём в магазине:

1 150 EUR 206 USD 1650 UAH

2 102 EUR 140 USD 1120 UAH

3 3300 EUR 2400 USD 300 UAH

Меняем курс: 1 EUR = 11 EAH, 1 USD = 6 EAH

Должны продавать:

1 150 EUR 275 USD 1650 UAH

2 76 EUR 140 USD 840 UAH

3 3300 EUR 1800 USD 300 UAH

Меняем курс: 1 EUR = 12 EAH, 1 USD = 6 EAH

Должны продавать:

1 150 EUR 300 USD 1800 UAH

2 70 EUR 140 USD 840 UAH

3 3600 EUR 1800 USD 300 UAH

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

А вот мультивалютные цены товара, т.е. когда указывается валюта цены товара - как сделать я рассказывал на форуме osCommerce. Цены обновляются автоматически при обновлении курсов валют.

Не удачно назвал его - "мультивалютные цены". На самом деле вводится новое понятие - валюта цены товара.

Как сделать такое я рассказывал на форуме osCommerce, правда найти там мне не удалось :( Могу повторить - техническая реализация очень проста, главное - идея :)

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...