Jump to content
Lonya

Исключение скидки по группе клиентов для товаров со скидкой

Recommended Posts

Здравствуйте!

Коллеги, помогите разобраться.

 

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

 

И есть товары со скидками (например, 20%). Скидки действуют для всех групп.

 

По умолчанию цена считается так: начальная цена – (минус) скидка по группе – скидка по товару.

И клиенту, находящемуся в группе со скидкой 5% плюсуется еще и скидка по товару. Получается этим клиентам скидка 25%.

 

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

 

Но это не подходит.

 

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

 

Пример.

Товар1 – 100 дол;

Товар 2 – 200 дол;

Группа клиентов – скидка 5%;

Скидка на товар1 – 20%.

 

Для неавторизованного пользователя (или вгруппе без скидки) действуют цены:

Товар1 – 80 дол. (100-20%);

Товар2 – 200 дол. (скидок нет).

 

Для клиента в группе:

Товар1 – 75 дол (100-5%-20%)

Товар2 – 190 дол (200-5%)

 

А нужно так:

Для клиента в группе:

Товар1 – 80 дол (100-20%) – исключить для «скидочного» товара его скидку по группе

Товар2 – 190 дол (200-5%)

 

Вроде понимаю, что это не сложно, но никак не пойму где в коде это меняется.

Share this post


Link to post
Share on other sites

Здравствуйте, возникла аналогичная проблема! Хотел поинтересоваться, не нашли ли решение! Но в процессе нашел решение тут(http://prestadev.ru/forum/tema-8720.html)

kaco
Новичок
Сообщений: 3
Регистрация: 05-09-2011

 
spacer.gif
posticon.gif 28-03-2014 04:47
Вопрос, конечно, старый, но отвечу, вдруг кому пригодится.
В престе 1.5 это решается через админку - клиенты - группы - создаем нужную группы пользователей, но скидку им ставим нулевую.
Затем в ценовых правилах - правила каталога - назначаем нужную скидку группе.
При такой схеме на странице продукта будет отображаться старая цена (зачеркнутая), рядом процент скидки и новая цена со скидкой.
 

 

"Затем в ценовых правилах - правила каталога - назначаем нужную скидку группе." Не добавляя новую группу условий скидка распространяется на весь ассортимент, а при желании выбираете определённое условие! Оказалось все проще простого!)))

Share this post


Link to post
Share on other sites

Решение нашел.
 
Но не то, что Вы привели в пример.
Этот пример не решал проблему.
 
Как сделал я:
 
В classes/Product.php
 
есть код, который отвечает за расчет цены при наличии скидки для группы клиентов.

<?php
		// Group reduction
		if ($use_group_reduction)
		{
			$reduction_from_category = GroupReduction::getValueForProduct($id_product, $id_group);
			if ($reduction_from_category !== false )
				$group_reduction = $price * (float)$reduction_from_category;
			else // apply group reduction if there is no group reduction for this category
				$group_reduction = (($reduc = Group::getReductionByIdGroup($id_group)) != 0) ? ($price * $reduc / 100) : 0;
		}
		else
			$group_reduction = 0;
		
		if ($only_reduc)
			return Tools::ps_round($group_reduction + $specific_price_reduction, $decimals);

		if ($use_reduc)
			$price -= $group_reduction;

условие 

<?php
		// Group reduction
		if ($use_group_reduction)

передалал на

<?php
		// Group reduction
		if ($use_group_reduction && !$specific_price)

если есть скидка по группе И НЕ установлена спец. цена, тогда применяется скидка для группы.

 

Это для 1.6

Edited by Lonya (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

У меня есть товары со скидкой для всех групп (скидку прописывал каждому товару через админку, так как товаров на скидке не много, около 50 и у каждого товара % скидки отличается), далее я сделал как написано "Затем в ценовых правилах - правила каталога - назначаем нужную скидку группе.", и всё прокатило, скидка группе "Клиенты" не трогает скидку которую я сам прописывал! Конечно, выше мной описанное не совсем по теме, но все таки это работает) Спасибо за информацию! Думаю многим будет полезна, сам так по кусочкам магазин собрал! Версия 1.6.1.7

Edited by Burick (see edit history)

Share this post


Link to post
Share on other sites
On 10/24/2016 at 4:45 PM, Lonya said:

В classes/Product.php
есть код, который отвечает за расчет цены при наличии скидки для группы клиентов.

передалал на


<?php
		// Group reduction
		if ($use_group_reduction && !$specific_price)

если есть скидка по группе И НЕ установлена спец. цена, тогда применяется скидка для группы.

Здравствуйте, спасибо за решение!

И еще один вопрос, помимо описанного случая когда есть скидка по группе и спец цена есть еще купоны, как сделать так чтобы и купоны не складывались с спец ценой и с скидкой по группе?

-------

Нашел решение своего вопроса тут 

 

 

Edited by mskbro (see edit history)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More