Подскажите, столкнулся с такой проблемой!
В интернет-магазине есть несколько групп пользователей, например: оптовики и крупные оптовики! Для них есть также типы цен, розничная базовая, оптовая и крупный опт. В настройках типов цен, для показа и покупки типы цен выставлены для групп.
Все пользователи (в том числе и неавторизованные) -> розничная цена (базовая)
Группа оптовиков -> оптовый тип цен
Группа крупных оптовиков -> тип цены крупный опт.
Получается цены распределяются так (на примере одного товара):
Розничная цена - 5000 руб.
Оптовая цена - 4800 руб.
Крупный опт. - 4500 руб.
Если пользователь авторизован или не авторизован, то цена на товар ему показывается (и покупка также по этой цене) - 5000 руб.
Если в группе оптовиков, то цена товар и можно купить - 4800 руб.
Вроде все нормально работает, используется функция Add2BasketByProductID
Но вот пришлось добавить новый тип цен, например "Специальная цена" и она относится к все пользователи (в том числе и неавторизованные), также как и розничная цена.
Все пользователи (в том числе и неавторизованные) -> розничная цена (базовая) и СПЕЦИАЛЬНАЯ ЦЕНА
Группа оптовиков -> оптовый тип цен
Группа крупных оптовиков -> тип цены крупный опт.
Вот эта специальная цена, будет всегда самая низкая из всех (но будет не у всех товаров), получается так:
Розничная цена - 5000 руб.
Оптовая цена - 4800 руб.
Крупный опт. - 4500 руб.
Специальная цена - 4000 руб.
Если пользователь авторизован или не авторизован, то ему доступны две цены, розничная и специальная. Так-как специальная ниже розничной, то пользователю показывается всегда специальная и соответственно при добавлении товара в корзину и оформлении заказа, тоже будет специальная (4000 руб.). Но когда пользователь состоит в группе "оптовая цена", ему по идее должна показываться оптовая цена - 4800 руб. и соответственно при добавлении товара в корзину и оформлении заказа, должна быть оптовая цена - 4800 руб. Но получается наоборот, для пользователя который состоит в группе оптовая цена, показывается не оптовая, а специальная т.е. 4000 руб. И при добавлении товара в корзину и оформлении заказа, тоже все идет по специальной 4000 руб. Получается выбирается самая низкая цена из всех возможных.
Подскажите, это так и должно работать? Или всетаки цены должны правильно отображаться, в соответствии с группами и типами цен?
В интернет-магазине есть несколько групп пользователей, например: оптовики и крупные оптовики! Для них есть также типы цен, розничная базовая, оптовая и крупный опт. В настройках типов цен, для показа и покупки типы цен выставлены для групп.
Все пользователи (в том числе и неавторизованные) -> розничная цена (базовая)
Группа оптовиков -> оптовый тип цен
Группа крупных оптовиков -> тип цены крупный опт.
Получается цены распределяются так (на примере одного товара):
Розничная цена - 5000 руб.
Оптовая цена - 4800 руб.
Крупный опт. - 4500 руб.
Если пользователь авторизован или не авторизован, то цена на товар ему показывается (и покупка также по этой цене) - 5000 руб.
Если в группе оптовиков, то цена товар и можно купить - 4800 руб.
Вроде все нормально работает, используется функция Add2BasketByProductID
Но вот пришлось добавить новый тип цен, например "Специальная цена" и она относится к все пользователи (в том числе и неавторизованные), также как и розничная цена.
Все пользователи (в том числе и неавторизованные) -> розничная цена (базовая) и СПЕЦИАЛЬНАЯ ЦЕНА
Группа оптовиков -> оптовый тип цен
Группа крупных оптовиков -> тип цены крупный опт.
Вот эта специальная цена, будет всегда самая низкая из всех (но будет не у всех товаров), получается так:
Розничная цена - 5000 руб.
Оптовая цена - 4800 руб.
Крупный опт. - 4500 руб.
Специальная цена - 4000 руб.
Если пользователь авторизован или не авторизован, то ему доступны две цены, розничная и специальная. Так-как специальная ниже розничной, то пользователю показывается всегда специальная и соответственно при добавлении товара в корзину и оформлении заказа, тоже будет специальная (4000 руб.). Но когда пользователь состоит в группе "оптовая цена", ему по идее должна показываться оптовая цена - 4800 руб. и соответственно при добавлении товара в корзину и оформлении заказа, должна быть оптовая цена - 4800 руб. Но получается наоборот, для пользователя который состоит в группе оптовая цена, показывается не оптовая, а специальная т.е. 4000 руб. И при добавлении товара в корзину и оформлении заказа, тоже все идет по специальной 4000 руб. Получается выбирается самая низкая цена из всех возможных.
Подскажите, это так и должно работать? Или всетаки цены должны правильно отображаться, в соответствии с группами и типами цен?