Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

массовое увеличение в % к цене товара в админке


tot
 Share

Recommended Posts

ocStore 2.1.0.2.1 загрузил прайс с фото с оптовыми ценами 2000 шт.

раньше видел модуль для ocStore 1.5 который массово изменял цену товаров в соответствии с введенным %.

Ищу подобное на ocStore 2.1.0.2.1

 

Благодарю за содействие.

Link to comment
Share on other sites


Только что, spectre сказал:

update oc_product set price = price*1.2

 

это +20%

эту команду как применить ?, в отношении к базе ?

Link to comment
Share on other sites


30 минут назад, tot сказал:

ocStore 2.1.0.2.1 загрузил прайс с фото с оптовыми ценами 2000 шт.

раньше видел модуль для ocStore 1.5 который массово изменял цену товаров в соответствии с введенным %.

Ищу подобное на ocStore 2.1.0.2.1

 

Благодарю за содействие.

 

Link to comment
Share on other sites

  • 1 year later...
В 13.03.2018 в 16:16, spectre сказал:

update oc_product set price = price*1.2

 

это +20%

А как сделать такой же запрос, но чтоб процент указывать не конкретно 10 или 20, а чтоб можно было указать процент в зависимости от суммы к примеру:

Цена товара до 1000 руб. добавляем 20%

Цена товара от 1000 руб. до 5000 руб. добавляем 15%

Цена товара от 5000 руб. до 10000 руб. добавляем 10%

Цена товара от 10000 руб. до 20000 руб. добавляем 5%

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

но главное чтоб это был один запрос который идет по списку проверяет цену и добавляет соответствующий процент....

PS: Массовые редакторы типу Batch Editor не подходит, так как пока 25 000 товаров изменишь то бред полнейший получается и куча времени уходит....

Link to comment
Share on other sites


4 часа назад, natalia8978 сказал:

А как сделать такой же запрос, но чтоб процент указывать не конкретно 10 или 20, а чтоб можно было указать процент в зависимости от суммы к примеру:

Цена товара до 1000 руб. добавляем 20%

Цена товара от 1000 руб. до 5000 руб. добавляем 15%

Цена товара от 5000 руб. до 10000 руб. добавляем 10%

Цена товара от 10000 руб. до 20000 руб. добавляем 5%

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

но главное чтоб это был один запрос который идет по списку проверяет цену и добавляет соответствующий процент....

PS: Массовые редакторы типу Batch Editor не подходит, так как пока 25 000 товаров изменишь то бред полнейший получается и куча времени уходит....

Можно прямо в моделе задать необходимую наценку в зависимости от суммы товара, но это костыль

Link to comment
Share on other sites


7 часов назад, natalia8978 сказал:

но главное чтоб это был один запрос

Зачем вам гоняться за одним запросом?

UPDATE product
SET price = price* 1.2
WHERE price <1000

 

 

UPDATE product SET
price = CASE
WHEN price <=1000 then price *1.2
WHEN price >1000 AND price <=5000 then price *1.15
END

 

Link to comment
Share on other sites

2 часа назад, chukcha сказал:

Зачем вам гоняться за одним запросом?

UPDATE product
SET price = price* 1.2
WHERE price <1000

 

 

UPDATE product SET
price = CASE
WHEN price <=1000 then price *1.2
WHEN price >1000 AND price <=5000 then price *1.15
END

 

Супер, почти все ок:

Сделала так:

UPDATE oc_product SET
price = CASE
WHEN price <=1000 then price *1.20
WHEN price >1000 AND price <=5000 then price *1.15
WHEN price >5000 AND price <=10000 then price *1.10
WHEN price >10000 AND price <=20000 then price *1.05
WHEN price >=20000 then price *1.03
END

Все работает идеально, только один момент, если же выполнить только один параметр к примеру:

UPDATE oc_product SET
price = CASE
WHEN price <=1000 then price *1.20
END

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

Edited by natalia8978
Link to comment
Share on other sites


13 минут назад, natalia8978 сказал:

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

 

потому что надо дефолтное значение тоже задать

Link to comment
Share on other sites

34 минуты назад, natalia8978 сказал:

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

Я вам показал куда копать

То что вы добавили префикс и дополнили запрос - уже хорошо
https://dev.mysql.com/doc/refman/5.7/en/case.html

 

Ну, а это пополнит ваш багаж

Link to comment
Share on other sites

38 минут назад, natalia8978 сказал:

только один момент, если же выполнить только один параметр к примеру:

Но в таком случае проще

WHERE как было показано ранее

Link to comment
Share on other sites

10 минут назад, chukcha сказал:

Но в таком случае проще

WHERE как было показано ранее

Точно, я же все равно вручную выполняю запросы,

для всех цен значить использую так:

UPDATE oc_product SET
price = CASE
WHEN price <=1000 then price *1.20
WHEN price >1000 AND price <=5000 then price *1.15
WHEN price >5000 AND price <=10000 then price *1.10
WHEN price >10000 AND price <=20000 then price *1.05
WHEN price >=20000 then price *1.03
END

А если для какого то одного диапазона цены тогда так:

UPDATE oc_product
SET price = price* 1.20
WHERE price <1000

@chukcha Спасибки большое.... Все супер.:-)

Link to comment
Share on other sites


  • 1 year later...

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
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.