没有适用的物品可以在此订单中返回
-
16-10-2019 - |
题
我正在完成RMA过程,现在我已经使用不同的产品下达了4个订单,并且每次尝试创建RMA时,都会收到以下错误消息
There are no applicable items for return in this order
关于我做错了什么的想法?
解决方案
例外被扔进 Enterprise_Rma_Adminhtml_RmaController::newAction()
如果此代码返回false。
Mage::helper('enterprise_rma')->canCreateRma($orderId, true)
进一步挖掘 Enterprise_Rma_Helper_Data::canCreateRma()
这将返回false如果$this->getOrderItems($order)
不返回任何物品,或者如果$forceCreate || $this->isEnabled())
返回false。可以排除第二种情况,因为$ forcecreate是正确的(是发送到方法的第二个参数 canCreateRma()
).
这意味着 $this->getOrderItems($order)
没有返回项目。这等同于
Mage::getResourceModel('enterprise_rma/item')->getOrderItems($orderId)
没有返回物品。
这可能意味着 Enterprise_Rma_Model_Resource_Item::getOrderItemsCollection()
没有返回项目。当订单中没有项目“ qty_shipped> qty_returned”中,这会发生这种情况。
如果不是这样, Enterprise_Rma_Model_Resource_Item::getOrderItems()
仍然没有返回的物品,也许您的产品没有标记为可返回的。以相同的方法查看此代码:
if (!Mage::helper('enterprise_rma')->canReturnProduct($product, $item->getStoreId())) {
$allowed = false;
}
检查产品的“启用RMA”属性的值。如果是“否”将其设置为“是”或“使用config”。
如果设置为 “使用配置” 然后检查该字段的值 系统 - >配置 - > sales-> RMA设置 - >在产品级别上启用RMA. 。这应该是“是”(如果您想要RMA可用的所有产品)。
让我知道这是否有帮助。我希望我在解释中很清楚。