Update sales_order.js
for creating dropship purchase orders, allow the user to leave supplier field empty, it will auto create all dropship purchase orders for multi suppliers assigned to sales order items.
diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
index e8698f1..5275e2e 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.js
+++ b/erpnext/selling/doctype/sales_order/sales_order.js
@@ -416,19 +416,20 @@
title: __("For Supplier"),
fields: [
{"fieldtype": "Link", "label": __("Supplier"), "fieldname": "supplier", "options":"Supplier",
+ "description": __("Leave the field empty to make purchase orders for all suppliers"),
"get_query": function () {
return {
query:"erpnext.selling.doctype.sales_order.sales_order.get_supplier",
filters: {'parent': me.frm.doc.name}
}
- }, "reqd": 1 },
+ }},
+
{"fieldtype": "Button", "label": __("Make Purchase Order"), "fieldname": "make_purchase_order", "cssClass": "btn-primary"},
]
});
dialog.fields_dict.make_purchase_order.$input.click(function() {
var args = dialog.get_values();
- if(!args) return;
dialog.hide();
return frappe.call({
type: "GET",
@@ -440,8 +441,17 @@
freeze: true,
callback: function(r) {
if(!r.exc) {
- var doc = frappe.model.sync(r.message);
- frappe.set_route("Form", r.message.doctype, r.message.name);
+ // var args = dialog.get_values();
+ if (args.supplier){
+ var doc = frappe.model.sync(r.message);
+ frappe.set_route("Form", r.message.doctype, r.message.name);
+ }
+ else{
+ frappe.route_options = {
+ "sales_order": me.frm.doc.name
+ }
+ frappe.set_route("List", "Purchase Order");
+ }
}
}
})