diff --git a/sf_manufacturing/wizard/sale_order_cancel.py b/sf_manufacturing/wizard/sale_order_cancel.py index b76d6d99..32624ff7 100644 --- a/sf_manufacturing/wizard/sale_order_cancel.py +++ b/sf_manufacturing/wizard/sale_order_cancel.py @@ -159,8 +159,8 @@ class SFSaleOrderCancelLine(models.TransientModel): # 检查交货单 if order.picking_ids: - b = 0 for picking in order.picking_ids: + b = 0 for move in picking.move_ids: b += 1 vals = { @@ -209,6 +209,8 @@ class SFSaleOrderCancelLine(models.TransientModel): ('origin', '=', order.name) ]) d = 0 + # 在领料单处只进行一次 + flag = true for mo in manufacturing_orders: # 添加制造订单本身 d += 1 @@ -253,10 +255,10 @@ class SFSaleOrderCancelLine(models.TransientModel): sequence += 1 # 检查制造订单的领料单 - if mo.picking_ids: - f = 0 - for picking in mo.picking_ids: + if mo.picking_ids and flag: + for picking in mo.picking_ids: + f = 0 for move in picking.move_ids: f += 1 vals = { @@ -274,7 +276,7 @@ class SFSaleOrderCancelLine(models.TransientModel): } lines.append(self.create(vals)) sequence += 1 - break + flag = False # 检查制造订单的工单 if mo.workorder_ids: