From 3eb28bb0e094063405d718f1cd91ab719bd22f60 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Fri, 24 Jan 2025 12:17:08 +0530 Subject: [PATCH] fix: set expense_account and cost_center based on company in stock entry (backport #45159) (#45416) fix: set expense_account and cost_center based on company in stock entry (#45159) * fix: set expense_account and cost_center based on company in stock entry * fix: remove is_perpetual_inventory_enabled validation for cost_center (cherry picked from commit 6ec18fb40da1b6152e43d5afa31a84bbd6090622) Co-authored-by: Sugesh G <73237300+Sugesh393@users.noreply.github.com> --- .../stock/doctype/stock_entry/stock_entry.js | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js index df6a61d335b..8441b6edd64 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.js +++ b/erpnext/stock/doctype/stock_entry/stock_entry.js @@ -507,18 +507,6 @@ frappe.ui.form.on("Stock Entry", { }); }, - company: function (frm) { - if (frm.doc.company) { - var company_doc = frappe.get_doc(":Company", frm.doc.company); - if (company_doc.default_letter_head) { - frm.set_value("letter_head", company_doc.default_letter_head); - } - frm.trigger("toggle_display_account_head"); - - erpnext.accounts.dimensions.update_dimension(frm, frm.doctype); - } - }, - make_retention_stock_entry: function (frm) { frappe.call({ method: "erpnext.stock.doctype.stock_entry.stock_entry.move_sample_to_retention_warehouse", @@ -1060,11 +1048,9 @@ erpnext.stock.StockEntry = class StockEntry extends erpnext.stock.StockControlle onload_post_render() { var me = this; - this.set_default_account(function () { - if (me.frm.doc.__islocal && me.frm.doc.company && !me.frm.doc.amended_from) { - me.frm.trigger("company"); - } - }); + if (me.frm.doc.__islocal && me.frm.doc.company && !me.frm.doc.amended_from) { + me.company(); + } this.frm.get_field("items").grid.set_multiple_add("item_code", "qty"); } @@ -1143,26 +1129,40 @@ erpnext.stock.StockEntry = class StockEntry extends erpnext.stock.StockControlle this.clean_up(); } - set_default_account(callback) { + company() { + if (this.frm.doc.company) { + var company_doc = frappe.get_doc(":Company", this.frm.doc.company); + if (company_doc.default_letter_head) { + this.frm.set_value("letter_head", company_doc.default_letter_head); + } + this.frm.trigger("toggle_display_account_head"); + + erpnext.accounts.dimensions.update_dimension(this.frm, this.frm.doctype); + if (this.frm.doc.company && erpnext.is_perpetual_inventory_enabled(this.frm.doc.company)) + this.set_default_account("stock_adjustment_account", "expense_account"); + this.set_default_account("cost_center", "cost_center"); + + this.frm.refresh_fields("items"); + } + } + + set_default_account(company_fieldname, fieldname) { var me = this; - if (this.frm.doc.company && erpnext.is_perpetual_inventory_enabled(this.frm.doc.company)) { - return this.frm.call({ - method: "erpnext.accounts.utils.get_company_default", - args: { - fieldname: "stock_adjustment_account", - company: this.frm.doc.company, - }, - callback: function (r) { - if (!r.exc) { - $.each(me.frm.doc.items || [], function (i, d) { - if (!d.expense_account) d.expense_account = r.message; - }); - if (callback) callback(); - } - }, - }); - } + return this.frm.call({ + method: "erpnext.accounts.utils.get_company_default", + args: { + fieldname: company_fieldname, + company: this.frm.doc.company, + }, + callback: function (r) { + if (!r.exc) { + $.each(me.frm.doc.items || [], function (i, d) { + d[fieldname] = r.message; + }); + } + }, + }); } clean_up() {