Skip to content

Commit e65b9fc

Browse files
authored
fix: sales order is not valid when creating WO from MR from PP (#54435)
1 parent c2590c1 commit e65b9fc

1 file changed

Lines changed: 15 additions & 3 deletions

File tree

erpnext/manufacturing/doctype/work_order/work_order.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -425,6 +425,18 @@ def validate_sales_order(self):
425425
if self.production_plan_sub_assembly_item:
426426
return
427427

428+
production_item = self.production_item
429+
430+
if self.material_request_item and (
431+
mr_plan_item := frappe.get_value(
432+
"Material Request Item", self.material_request_item, "material_request_plan_item"
433+
)
434+
):
435+
if main_item_code := frappe.get_value(
436+
"Material Request Plan Item", mr_plan_item, "main_item_code"
437+
):
438+
production_item = main_item_code
439+
428440
if self.sales_order:
429441
self.check_sales_order_on_hold_or_close()
430442

@@ -445,8 +457,8 @@ def validate_sales_order(self):
445457
& (SalesOrder.docstatus == 1)
446458
& (SalesOrder.name == self.sales_order)
447459
& (
448-
(SalesOrderItem.item_code == self.production_item)
449-
| (ProductBundleItem.item_code == self.production_item)
460+
(SalesOrderItem.item_code == production_item)
461+
| (ProductBundleItem.item_code == production_item)
450462
)
451463
)
452464
.run(as_dict=1)
@@ -465,7 +477,7 @@ def validate_sales_order(self):
465477
& (SalesOrder.skip_delivery_note == 0)
466478
& (SalesOrderItem.item_code == PackedItem.parent_item)
467479
& (SalesOrder.docstatus == 1)
468-
& (PackedItem.item_code == self.production_item)
480+
& (PackedItem.item_code == production_item)
469481
)
470482
.run(as_dict=1)
471483
)

0 commit comments

Comments
 (0)