[Fix] during making of material request from sales order, system fetching product bundle items only if so has both product bundle and purchase item
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 529c17c..158c726 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -339,8 +339,6 @@
so = frappe.get_doc("Sales Order", source_name)
- item_table = "Packed Item" if so.packed_items else "Sales Order Item"
-
doc = get_mapped_doc("Sales Order", source_name, {
"Sales Order": {
"doctype": "Material Request",
@@ -348,12 +346,20 @@
"docstatus": ["=", 1]
}
},
- item_table: {
+ "Packed Item": {
"doctype": "Material Request Item",
"field_map": {
"parent": "sales_order",
"stock_uom": "uom"
}
+ }.
+ "Sales Order Item": {
+ "doctype": "Material Request Item",
+ "field_map": {
+ "parent": "sales_order",
+ "stock_uom": "uom"
+ },
+ "condition": lambda doc: not frappe.db.exists('Product Bundle', doc.item_code)
}
}, target_doc, postprocess)