在我的Prestdashop 1.6.1.9中我建立了POS和电子商务,以便在我们的商店和网上销售。
在过去的几天里,我在商店里看到了一个错误:
我已经尝试了prestashop论坛的所有解决方案,并且我已经阻止任何位置的负面销售但是没有成功。
有机会通过数据库或代码重置一些数量,以防止prestashop进入否定状态吗?
非常感谢你!
答案 0 :(得分:0)
我认为你可以在股票更新/插入时创建一个mysql触发器
示例:
CREATE TRIGGER ins_transaction BEFORE INSERT ON account
FOR EACH ROW PRECEDES ins_sum
SET
@deposits = @deposits + IF(NEW.amount>0,NEW.amount,0),
@withdrawals = @withdrawals + IF(NEW.amount<0,-NEW.amount,0);
您可以添加一些相似内容,如果数量小于0,则更新该行。
https://dev.mysql.com/doc/refman/5.7/en/trigger-syntax.html
- 编辑 -
您也可以尝试更改StockAvailable类中的函数updateQuantity() and setQuantity()
尝试添加一些像:
if($delta_quantity<0)
$delta_quantity=0;
希望对你有所帮助
答案 1 :(得分:0)
从问题我认为问题是负数量。
prestashop的后台有两处可以设置此行为:
除了在常规设置中设置正确的选项外,您还应检查每个产品的特定设置,看它是否已覆盖常规设置。
答案 2 :(得分:0)
还有另一种方法可以获得完美的。
我从订单状态栏和取消订单中收到此错误。
当你取消订购时,这个产品里面还有产品。您必须从订单中删除所有产品然后取消它。
订单状态的另一种方式:
您需要将其签名为已装运并验证!
希望这可以提供帮助:D