From 77367b55171f31e366f90f72255bcbc738610487 Mon Sep 17 00:00:00 2001 From: Pandiyan37 Date: Mon, 9 Mar 2026 01:14:24 +0530 Subject: [PATCH] fix(selling): update delivery date in line items --- .../doctype/sales_order/sales_order.js | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js index c47ce90a865..5ec2418df1f 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.js +++ b/erpnext/selling/doctype/sales_order/sales_order.js @@ -56,6 +56,13 @@ frappe.ui.form.on("Sales Order", { frm.set_df_property("packed_items", "cannot_add_rows", true); frm.set_df_property("packed_items", "cannot_delete_rows", true); }, + delivery_date(frm) { + if (frm.doc.delivery_date) { + frm.doc.items.forEach((d) => { + frappe.model.set_value(d.doctype, d.name, "delivery_date", frm.doc.delivery_date); + }); + } + }, refresh: function (frm) { frm.fields_dict["items"].grid.update_docfield_property( @@ -158,7 +165,7 @@ frappe.ui.form.on("Sales Order", { }); } } - + prevent_past_delivery_dates(frm); // Hide `Reserve Stock` field description in submitted or cancelled Sales Order. if (frm.doc.docstatus > 0) { frm.set_df_property("reserve_stock", "description", null); @@ -238,13 +245,6 @@ frappe.ui.form.on("Sales Order", { ]; }, - delivery_date: function (frm) { - $.each(frm.doc.items || [], function (i, d) { - if (!d.delivery_date) d.delivery_date = frm.doc.delivery_date; - }); - refresh_field("items"); - }, - create_stock_reservation_entries(frm) { const dialog = new frappe.ui.Dialog({ title: __("Stock Reservation"), @@ -1816,3 +1816,11 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex }; extend_cscript(cur_frm.cscript, new erpnext.selling.SalesOrderController({ frm: cur_frm })); + +function prevent_past_delivery_dates(frm) { + if (frm.doc.transaction_date) { + frm.fields_dict["delivery_date"].datepicker?.update({ + minDate: new Date(frm.doc.transaction_date), + }); + } +}