From 252fae68df7b11c898c429fde6040aa75e46c6fe Mon Sep 17 00:00:00 2001 From: David Arnold Date: Tue, 23 Jan 2024 17:46:12 +0100 Subject: [PATCH] feat: use new bulk creation arguments and contrue a cut-off date selector for dn-from-so --- erpnext/selling/doctype/sales_order/sales_order.py | 3 +++ .../selling/doctype/sales_order/sales_order_list.js | 13 ++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index 5d1d7695eb..8a62926ee5 100755 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -932,6 +932,9 @@ def make_delivery_note(source_name, target_doc=None, kwargs=None): if frappe.flags.args and frappe.flags.args.delivery_dates: if cstr(doc.delivery_date) not in frappe.flags.args.delivery_dates: return False + if frappe.flags.args and frappe.flags.args.until_delivery_date: + if cstr(doc.delivery_date) > frappe.flags.args.until_delivery_date: + return False return abs(doc.delivered_qty) < abs(doc.qty) and doc.delivered_by_supplier != 1 diff --git a/erpnext/selling/doctype/sales_order/sales_order_list.js b/erpnext/selling/doctype/sales_order/sales_order_list.js index 37686a85c3..822c6cb1d2 100644 --- a/erpnext/selling/doctype/sales_order/sales_order_list.js +++ b/erpnext/selling/doctype/sales_order/sales_order_list.js @@ -55,7 +55,18 @@ frappe.listview_settings['Sales Order'] = { }); listview.page.add_action_item(__("Delivery Note"), ()=>{ - erpnext.bulk_transaction_processing.create(listview, "Sales Order", "Delivery Note"); + var dialog = new frappe.ui.Dialog({ + title: __("Select Items up to Delivery Date"), + fields: [{fieldtype: "Date", fieldname: "delivery_date", default: frappe.datetime.add_days(frappe.datetime.nowdate(), 1)}] + }); + dialog.set_primary_action(__("Select"), function(values) { + var until_delivery_date = values.delivery_date; + erpnext.bulk_transaction_processing.create(listview, "Sales Order", "Delivery Note", { + until_delivery_date + }); + dialog.hide(); + }); + dialog.show(); }); listview.page.add_action_item(__("Advance Payment"), ()=>{