Невозможно обратно добавить товар после его удаления из заказа для перерасчета скидки

Где возникла проблема: Любая версия

Суть проблемы: Если в заказе товар, которого больше нет в наличии - его невозможно переназначить для заказа, например, чтобы применить к товару акцию. Например, такая ситуация (сегодня, из жизни). У нас для гостей одна цена, для авторизованных - скидка на весь каталог. Покупательница зарегистрировалась, но не смогла войти в аккаунт (пароль забыла, с восстановлением случились проблемы). Поэтому оформила как гость. В процессе общения она всю эту ситуацию обрисовала, нахожу ее регистрацию, меняю в заказе. После этого естественно цена не меняется, так как не автоприменяются промоакции (и менять это в конфиге я не хочу!). Поэтому я удаляю товар из заказа, и снова пытаюсь его добавить… Ан нет - товара нет в наличии! Тогда приходится идти в товар, менять 0 на 1, в заказе его добавлять (и он ставится теперь с правильной ценой), сохранять заказ, снова идти в товар и менять 1 на 0!

Как воспроизвести проблему: Зайти в любой заказ с одним товаром, 1 единица товара в заказе. Открыть в соседней вкладке товар из заказа - поставить ему наличие - 0. Войти в редактирование заказа, (копируем артикул для простоты), удаляем товар, добавляем тот же самый товар - добавить его невозможно.

Между удалением товара и его добавлением обратно вы сам заказ сохраняли?
По идее это необходимое действие, чтобы остаток +1 добавился.
Не тестил, просто умничаю)

Поэтому и указал, что в заказе - один товар. И если его удалить - невозможно сохранить заказ без товара.

1 лайк

Если правильно понял суть проблемы, то при удалении товара из заказа в админке, не корректируется остаток товара в базе. Так?

В принципе, да.

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

И мы возвращаемся… ))) К тому давнему разговору, что процесс редактирования заказа у нас перемудрен. То есть, чтобы что-то изменить - нам надо войти в редактирование заказа, а потом войти в редактирование покупателя… А вот если просто в заказе повесить иконки редактирования на блоки? Надо отредактировать данные покупателя в заказе - открыл блок на редактирование, закрыл с сохранением. Надо отредактировать оплаты/доставку, или товарную часть - то же самое. А уж как удобно эти действия журналировать. А то простите запись в журнале - пользователь такой-то отредактировал заказ - ну вообще ни о чем не говорит.

Есть классный модуль от CS-Commerce, юзаю. От Экомов еще есть и и Ритейлов вроде.
Запугал манагеров, что все фиксируется - теперь не косячат)

Вы же знаете, что я всегда за доработки и улучшения.
Но в данном случае имхо как раз лучше не усложнять логику добавления/удаления товаров пока заказ не сохранен. Иначе потом еще больше багов выхватим)

Вот абсолютно согласен. Я и сам это все пишу и пытаюсь понять, как лучше. Как у вас сейчас, или как довольно часто встречаю: если покупатель переходит к оформлению заказа - товар бронируется на некоторое время…

Наверное все же вы правы… С нашей командой разработки лучше последовать старинному правилу: работает - не трожь! )))

Еще есть ошибка с применением скидок с акций. Когда человек сделал заказ и ты меняешь товар на другой и должна действовать акция с применением скидки. Вместо этого скидка не рассчитывается. Нужно проставлять скидку ручками. Жуть не удобно.

Это сделано из-за того, что был другой баг когда акция кончилась и менеджеру надо поправить заказ и в итоге сбрасывались скидки которые уже были.

То есть решение бага нашли только в отключении функции автоматического проставления скидки с акций? Или есть другое решение(костыль)?

в конфиге отключается это ограничение
config.local.php
'do_not_apply_promotions_on_order_update' => true, // If true, the promotions that applied to the order won't be changed when editing the order. New promotions won't be applied to the order.

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

2 лайка