[BUG] Fixes make Production Order from Sales Order
diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
index 6f70ebe..9b39ad0 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.js
+++ b/erpnext/selling/doctype/sales_order/sales_order.js
@@ -193,7 +193,7 @@
});
return;
}
- else if(!r.message.every(function(d) { return !!d.pending_qty })) {
+ else if(!r.message) {
frappe.msgprint({
title: __('Production Order not created'),
message: __('Production Order already created for all items with BOM'),
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index c3e28d2..e0ce3a4 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -336,14 +336,15 @@
bom = get_default_bom_item(i.item_code)
if bom:
stock_qty = i.qty if i.doctype == 'Packed Item' else i.stock_qty
- items.append(dict(
- item_code= i.item_code,
- bom = bom,
- warehouse = i.warehouse,
- pending_qty= stock_qty - flt(frappe.db.sql('''select sum(qty) from `tabProduction Order`
- where production_item=%s and sales_order=%s''', (i.item_code, self.name))[0][0])
- ))
-
+ pending_qty= stock_qty - flt(frappe.db.sql('''select sum(qty) from `tabProduction Order`
+ where production_item=%s and sales_order=%s and docstatus<2''', (i.item_code, self.name))[0][0])
+ if pending_qty:
+ items.append(dict(
+ item_code= i.item_code,
+ bom = bom,
+ warehouse = i.warehouse,
+ pending_qty = pending_qty
+ ))
return items
def on_recurring(self, reference_doc, subscription_doc):