diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index 4be9a59c9030db43203ab99ffc30a719e9a01207..d9910e259507c15ec663f0f6af48f7e2cdcf68e7 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -795,21 +795,53 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe if (me.frm.doc.price_list_currency == company_currency) { me.frm.set_value('plc_conversion_rate', 1.0); } - if (company_doc.default_letter_head) { - if(me.frm.fields_dict.letter_head) { - me.frm.set_value("letter_head", company_doc.default_letter_head); + if (company_doc){ + if (company_doc.default_letter_head) { + if(me.frm.fields_dict.letter_head) { + me.frm.set_value("letter_head", company_doc.default_letter_head); + } + } + 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.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.includes(me.frm.doc.doctype) && !me.frm.doc.tc_name) { + me.frm.set_value("tc_name", company_doc.default_buying_terms); } } - 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) { + + 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); } - 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) { + + 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); }