和号/magento2-disable-stock-reservation

此软件包最新版本(1.3.2)没有可用的许可证信息。

此模块禁用了 Magento 2.3.3 中作为 MSI 部分引入的库存预留逻辑

1.3.2 2024-02-19 08:15 UTC

README

Build Status

此模块禁用了 Magento 2.3.3 中作为 MSI 部分引入的库存预留逻辑 - 有关 MSI 的实现方式和与外部 WMS 集成可能发生的问题的更多信息,请参阅 magento/inventory#2269

问题

在订单放置和履行过程中,Magento 的 MSI 实现将不会在订单放置时减少库存 - 它只会这样做在订单发货和退款时。

我们的方法

此模块将

  • 防止对 inventory_reservation 表的所有写入。它通过在 PlaceReservationsForSalesEventInterface 上使用 around 插件来实现
  • 在订单放置时触发库存扣除。请参阅 Magento\Sales\Model\Service\OrderService 上的 inventory_sales_source_deduction_processor 插件。
  • 防止订单发货时的库存扣除。请参阅在 sales_order_shipment_save_after 事件上禁用的 inventory_sales_source_deduction_processor 观察器。
  • 为取消的订单项目补充库存。请参阅在 sales_order_item_cancel 事件上的 inventory 观察器。
  • 在开出发票时补充库存。请参阅 src/Observer/RestoreSourceItemQuantityOnRefundObserver.php
  • 在安装时截断(即,删除所有历史条目)inventory_reservation 表。

附加说明

  • 为了使此模块按预期工作,inventorycataloginventory_stock 应处于相同模式(保存时更新计划)。如果您在 计划 上运行,则应激活 cron。