Jump to content

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


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%)

 

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

Link to comment
Share on other sites

  • 6 months later...

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

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

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

 

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

Link to comment
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
Link to comment
Share on other sites

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

Edited by Burick (see edit history)
Link to comment
Share on other sites

  • 2 years later...
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)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...