From 245380df28ebe5a627dab42f0daab2a6476c028a Mon Sep 17 00:00:00 2001 From: barredterra <14891507+barredterra@users.noreply.github.com> Date: Wed, 24 Jan 2024 01:48:10 +0100 Subject: [PATCH 1/2] fix: don't overwrite existing terms in transaction --- erpnext/public/js/controllers/transaction.js | 31 ++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index 8555b0cc159..e63e8658df7 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -814,6 +814,37 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe me.frm.set_value("tc_name", company_doc.default_buying_terms); } } + + if ( + company_doc.default_selling_terms && + frappe.meta.has_field(me.frm.doc.doctype, "tc_name") && + [ + "Sales Invoice", + "Quotation", + "Sales Order", + "Delivery Note", + ].includes(me.frm.doc.doctype) && + !me.frm.doc.tc_name + ) { + me.frm.set_value("tc_name", company_doc.default_selling_terms); + } + + if ( + company_doc.default_buying_terms && + frappe.meta.has_field(me.frm.doc.doctype, "tc_name") && + [ + "Request for Quotation", + "Supplier Quotation", + "Purchase Order", + // Purchase Invoice is excluded as per issue #3345 + "Material Request", + "Purchase Receipt", + ].includes(me.frm.doc.doctype) && + !me.frm.doc.tc_name + ) { + me.frm.set_value("tc_name", company_doc.default_buying_terms); + } + frappe.run_serially([ () => me.frm.script_manager.trigger("currency"), () => me.update_item_tax_map(), -- GitLab From b816e94c2d326407ffc9c471dc98a0b3ee8fa6d0 Mon Sep 17 00:00:00 2001 From: Raffael Meyer <14891507+barredterra@users.noreply.github.com> Date: Wed, 31 Jan 2024 01:12:27 +0100 Subject: [PATCH 2/2] Merge pull request #39519 from barredterra/dont-override-tc --- erpnext/public/js/controllers/transaction.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index e63e8658df7..75c7216918d 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -803,14 +803,14 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe } let selling_doctypes_for_tc = ["Sales Invoice", "Quotation", "Sales Order", "Delivery Note"]; if (company_doc.default_selling_terms && frappe.meta.has_field(me.frm.doc.doctype, "tc_name") && - selling_doctypes_for_tc.indexOf(me.frm.doc.doctype) != -1) { + selling_doctypes_for_tc.includes(me.frm.doc.doctype) && !me.frm.doc.tc_name) { me.frm.set_value("tc_name", company_doc.default_selling_terms); } let buying_doctypes_for_tc = ["Request for Quotation", "Supplier Quotation", "Purchase Order", "Material Request", "Purchase Receipt"]; // Purchase Invoice is excluded as per issue #3345 if (company_doc.default_buying_terms && frappe.meta.has_field(me.frm.doc.doctype, "tc_name") && - buying_doctypes_for_tc.indexOf(me.frm.doc.doctype) != -1) { + buying_doctypes_for_tc.includes(me.frm.doc.doctype) && !me.frm.doc.tc_name) { me.frm.set_value("tc_name", company_doc.default_buying_terms); } } -- GitLab