Перейти к содержимому


Накопительная скидка


  • Вы не можете ответить в тему
Сообщений в теме: 16

#1 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 03 June 2012 - 07:59 PM

Данный модуль позволяет использовать накопительные скидки. Т.е. суммирует все заказы пользователя и в зависимости от суммы делает скидку указанную Вами.

Прикрепленный файл  skidki1.jpg   100.22К   147 Количество загрузок:Прикрепленный файл  skidki2.jpg   96.99К   155 Количество загрузок:

Внимание!!! Сумму для скидки нужно указывать в той же валюте, в которой Вы указываете цены на товар.

Скачать модуль Накопительная скидка для ShopCMS 3.1.* с нашего файлового архива.
  • 1

#2 yura

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 82 сообщений
Репутация: 0
Начинающий

Отправлено 19 June 2012 - 11:14 AM

Сергей, скажите, пожалуйста, суммируются все заказы или только оплаченные? И можно ли сумму за доставку не включать в подсчет?
  • 0

#3 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 19 June 2012 - 11:25 AM

Сергей, скажите, пожалуйста, суммируются все заказы или только оплаченные?

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

#4 yura

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 82 сообщений
Репутация: 0
Начинающий

Отправлено 22 June 2012 - 10:47 AM

При этом если изменить статус обратно на новый или отменен, то перерасчет не происходит.

Это плохо. Покупатель вернул товар, а накопление на скидку получил ((
  • 0

#5 Papikov

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 246 сообщений
Репутация: 66
Продвинутый
  • ГородРостов на Дону

Отправлено 24 June 2012 - 02:56 PM

Руками в базе измените значение скидки в таблице.
  • 0

#6 yura

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 82 сообщений
Репутация: 0
Начинающий

Отправлено 25 June 2012 - 09:47 AM

Руками в базе измените значение скидки в таблице.

Хороший совет ))
Я то могу в базу залезть и там что-то поменять. А как это будет делать менеджер по продажам интернет-магазина? По каждому возврату звать админа и просить поменять в базе?
  • 0

#7 NEViL

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 42 сообщений
Репутация: 4
Начинающий

Отправлено 29 March 2013 - 05:20 PM

А как улаживается со стандартными скидками ??? Допустим если стоит скидка 3% при заказе на 1000 грн, и у покупателя есть накопительная скидка ....
  • 0

#8 NEViL

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 42 сообщений
Репутация: 4
Начинающий

Отправлено 03 April 2013 - 06:26 AM

В архиве папку function в functions нужно переименовать - это для тех кто будет просто заливать на сервер, заменяя файлы...

А для тех кто будет вручную копировать "правки" в файле order_functions.php 1370 и 1371 строки скопируйте, они не выделены в "правку"


	  "bonus_percentage"   => $percentage,
	  "bonus_amount"   => show_price( $sum ),

  • 1

#9 vertex766

    Новичок

  • Assistent vsupport.club
  • Pip
  • 8 сообщений
Репутация: 0
Начинающий
  • ГородКраснодар

Отправлено 21 April 2013 - 11:06 AM

У меня появилась мысля! По продолжению развития этого замечательного дополнения.
Можно ли сделать так, что бы при определённой накопленной сумме, покупатель автоматом переносился в определенную группу.
  • 0

#10 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 13 October 2013 - 03:47 AM

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

Я переделал немножко. Общая сумма заказов клиента (а значит и скидка) меняется при смене статуса заказа между статусами типа "заказ не участвует в общей сумме" и "заказ участвует в общей сумме". Т.е. меняется в обе стороны. Набор статусов в array(), правда, необходимо вносить вручную, если добавлены новые статусы кроме штатных.

/* добавим или убавим общую сумму заказов клиента в зависимости от смены статуса
6 - Неактивный
1 - Отменен
2 - Новый
3 - В обработке
4 - Отправлен
5 - Оплата получена
7 - Вручен адресату
*/
if ( in_array($pred_statusID,array(6,1,2,3)) && in_array($statusID,array(4,5,7)) // надо увеличить клиенту общую сумму
|| in_array($pred_statusID,array(4,5,7)) && in_array($statusID,array(6,1,2,3))) // надо уменьшить клиенту общую сумму
{
// считываем ID покупателя и сумму заказа
$row = db_fetch_row(db_query("select customerID,order_amount from ".ORDERS_TABLE." where orderID=".(int)$orderID));
// определяем знак изменения суммы
$num = in_array($statusID,array(4,5,7))?"+":"-";
// изменяем общую сумму клиента на сумму заказа
db_query("UPDATE ".CUSTOMERS_TABLE." SET total_amount=total_amount".$num.$row["order_amount"]." WHERE customerID=".$row["customerID"]);
// end
}

  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#11 egor

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 74 сообщений
Репутация: 0
Начинающий

Отправлено 15 March 2014 - 06:56 PM

А в чем его отличие от стандартного модуля: Система скидок? Мне вот его поставили, но выходит зря? ))
  • 0

#12 NEViL

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 42 сообщений
Репутация: 4
Начинающий

Отправлено 15 March 2014 - 10:23 PM

А в чем его отличие от стандартного модуля: Система скидок? Мне вот его поставили, но выходит зря? ))


Вы наверное не совсем понимаете смысл слова "НАКОПИТЕЛЬНАЯ"
  • 1

#13 egor

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 74 сообщений
Репутация: 0
Начинающий

Отправлено 15 March 2014 - 10:41 PM

А в чем его отличие от стандартного модуля: Система скидок? Мне вот его поставили, но выходит зря? ))


Вы наверное не совсем понимаете смысл слова "НАКОПИТЕЛЬНАЯ"



Не спорю, ибо еще только познаю этот движок, и то урывками.. Не могли бы Вы поподробнее обьяснить? Понятно что само слово накопительная подразумевает покупку товара на какую-то сумму, и уже от суммы идет скидка. Просто непонятно, в черм же разница с о стандартной Скидкой...
  • 0

#14 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 16 March 2014 - 04:51 AM

Просто непонятно, в черм же разница с о стандартной Скидкой...

В том, что стандартная скидка считается с текущего заказа, а накопительная - с суммы всех предыдущих.
  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#15 wowka

    Новичок

  • Assistent vsupport.club
  • Pip
  • 7 сообщений
Репутация: 0
Начинающий

Отправлено 13 May 2014 - 12:14 AM

Ребята, i need help!
Поставил этот модуль, появился раздел с накопительными скидками, добавил скидки - все как положено. НО. Теперь при заходе в такие разделы, как: Покупатели, Справочник заказов, Подписчики выдает 500 ошибку (internal server error). Мало того - я все откатил, а ошибка осталась. Че за фигня? Как восстановить работу админки??

В логах следующее:
WARNING: in_array(): Wrong datatype for second argument
Line: 216
File: /home/b/bbxata/gandhari.ru/public_html/core/functions/registration_functions.php
Link: /admin.php?login=&first_name=&last_name=&email=&groupID=0&fActState=-1&dpt=custord&sub=custlist&search=Find
Date: 13.05.14 - 01:19:55
Dump:
array(9) {
  ["login"]=>
  string(0) ""
  ["first_name"]=>
  string(0) ""
  ["last_name"]=>
  string(0) ""
  ["email"]=>
  string(0) ""
  ["groupID"]=>
  int(0)
  ["fActState"]=>
  string(2) "-1"
  ["dpt"]=>
  string(7) "custord"
  ["sub"]=>
  string(8) "custlist"
  ["search"]=>
  int(1)
}
array(0) {
}
---
К сожалению, моих познаний не хватает, чтобы хоть как-то понять написанное((

Во втором окне логов такое:
ERROR: 1064:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Sql: select zone_name from nvag_zones where zoneID=
Link: /
Date: 13.05.14 - 01:25:43
Dump:
array(0) {
}
array(0) {
}
---

UP: все откатил назад: и файлы, и БД - все равно не работают указанные разделы в админке. КАК ТАКОЕ МОЖЕТ БЫТЬ??

UP: посносил все файлы с расширением *.php_ (создавал как резервные) и все заработало
  • 0

#16 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 13 May 2014 - 12:15 PM

UP: посносил все файлы с расширением *.php_ (создавал как резервные) и все заработало

Не верю. А вот если они были *_.php, то так и должно быть, поищите функцию glob() в index.php и admin.php
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#17 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 04 November 2015 - 12:32 PM

Хм... Интересно, а зачем было заводить отдельное поле в таблице customers и плюсовать-минусовать в нем сумму заказов клиента, если эту сумму без всех этих хлопот можно получить одним запросом?
SELECT SUM(total_amount) FROM orders WHERE customerID="наш клиент" AND statusID="оплачено".
Причем при таком подходе накопительную скидку можно сделать еще и срочной, т.е. считать сумму не по всем заказам, а, скажем, только за последние полгода (любой задаваемый в админке срок).
Может, я чего-то очевидного не вижу, почему в модуле сделано не так, а куда сложнее алгоритмически?
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)