fix: update delivery date in line items

This commit is contained in:
Mihir Kandoi
2026-03-12 09:49:03 +05:30
parent ee7602e752
commit 26d5faa3da
3 changed files with 23 additions and 30 deletions

View File

@@ -195,17 +195,6 @@ frappe.ui.form.on("Purchase Order", {
});
frappe.ui.form.on("Purchase Order Item", {
schedule_date: function (frm, cdt, cdn) {
var row = locals[cdt][cdn];
if (row.schedule_date) {
if (!frm.doc.schedule_date) {
erpnext.utils.copy_value_in_all_rows(frm.doc, cdt, cdn, "items", "schedule_date");
} else {
set_schedule_date(frm);
}
}
},
item_code: async function (frm, cdt, cdn) {
if (frm.doc.is_subcontracted && !frm.doc.is_old_subcontracting_flow) {
var row = locals[cdt][cdn];
@@ -769,10 +758,6 @@ erpnext.buying.PurchaseOrderController = class PurchaseOrderController extends (
items_on_form_rendered() {
set_schedule_date(this.frm);
}
schedule_date() {
set_schedule_date(this.frm);
}
};
// for backward compatibility: combine new and previous states

View File

@@ -140,6 +140,7 @@ erpnext.buying = {
this.toggle_subcontracting_fields();
super.refresh();
this.prevent_past_schedule_dates(this.frm);
}
toggle_subcontracting_fields() {
@@ -183,6 +184,28 @@ erpnext.buying = {
erpnext.utils.set_letter_head(this.frm)
}
schedule_date(doc, cdt, cdn) {
if (doc.schedule_date && !cdt.endsWith(" Item")) {
doc.items.forEach((d) => {
frappe.model.set_value(d.doctype, d.name, "schedule_date", doc.schedule_date);
});
}
}
transaction_date() {
super.transaction_date();
this.frm.set_value("schedule_date", "");
this.prevent_past_schedule_dates(this.frm);
}
prevent_past_schedule_dates(frm) {
if (frm.doc.transaction_date && frm.fields_dict["schedule_date"]) {
frm.fields_dict["schedule_date"].datepicker?.update({
minDate: new Date(frm.doc.transaction_date),
});
}
}
supplier_address() {
erpnext.utils.get_address_display(this.frm);
erpnext.utils.set_taxes_from_address(this.frm, "supplier_address", "supplier_address", "supplier_address");

View File

@@ -566,17 +566,6 @@ frappe.ui.form.on("Material Request Item", {
frm.events.get_item_data(frm, item, true);
},
schedule_date: function (frm, cdt, cdn) {
var row = locals[cdt][cdn];
if (row.schedule_date) {
if (!frm.doc.schedule_date) {
erpnext.utils.copy_value_in_all_rows(frm.doc, cdt, cdn, "items", "schedule_date");
} else {
set_schedule_date(frm);
}
}
},
conversion_factor: function (frm, doctype, name) {
const item = locals[doctype][name];
frm.events.get_item_data(frm, item, false);
@@ -642,10 +631,6 @@ erpnext.buying.MaterialRequestController = class MaterialRequestController exten
set_schedule_date(this.frm);
}
schedule_date() {
set_schedule_date(this.frm);
}
qty(doc, cdt, cdn) {
var row = frappe.get_doc(cdt, cdn);
row.amount = flt(row.qty) * flt(row.rate);