feat: reporting_currency on company

This commit is contained in:
diptanilsaha
2025-08-21 18:34:05 +05:30
parent f1eda7c4ec
commit 2383051b74
3 changed files with 27 additions and 1 deletions

View File

@@ -17,6 +17,9 @@ frappe.ui.form.on("Company", {
frm.toggle_enable("default_currency", !r.message);
});
}
if (frm.doc.__islocal) {
frm.set_value("reporting_currency", "");
}
},
setup: function (frm) {
frm.__rename_queue = "long";
@@ -156,6 +159,10 @@ frappe.ui.form.on("Company", {
}
}
if (frm.doc.__islocal) {
frm.set_value("reporting_currency", "");
}
erpnext.company.set_chart_of_accounts_options(frm.doc);
},

View File

@@ -22,6 +22,7 @@
"domain",
"date_of_establishment",
"parent_company",
"reporting_currency",
"company_info",
"company_logo",
"date_of_incorporation",
@@ -835,6 +836,14 @@
"fieldtype": "Select",
"label": "Reconciliation Takes Effect On",
"options": "Advance Payment Date\nOldest Of Invoice Or Advance\nReconciliation Date"
},
{
"fieldname": "reporting_currency",
"fieldtype": "Link",
"label": "Reporting Currency",
"options": "Currency",
"print_hide": 1,
"read_only": 1
}
],
"icon": "fa fa-building",

View File

@@ -91,6 +91,7 @@ class Company(NestedSet):
"Advance Payment Date", "Oldest Of Invoice Or Advance", "Reconciliation Date"
]
registration_details: DF.Code | None
reporting_currency: DF.Link | None
rgt: DF.Int
round_off_account: DF.Link | None
round_off_cost_center: DF.Link | None
@@ -153,6 +154,7 @@ class Company(NestedSet):
self.check_parent_changed()
self.set_chart_of_accounts()
self.validate_parent_company()
self.set_reporting_currency()
def validate_abbr(self):
if not self.abbr:
@@ -490,6 +492,14 @@ class Company(NestedSet):
if not is_group:
frappe.throw(_("Parent Company must be a group company"))
def set_reporting_currency(self):
self.reporting_currency = self.default_currency
if self.parent_company:
parent_reporting_currency = frappe.db.get_value(
"Company", self.parent_company, ["reporting_currency"]
)
self.reporting_currency = parent_reporting_currency
def set_default_accounts(self):
default_accounts = {
"default_cash_account": "Cash",
@@ -681,7 +691,7 @@ class Company(NestedSet):
frappe.db.sql("delete from tabBOM where company=%s", self.name)
for dt in ("BOM Operation", "BOM Item", "BOM Scrap Item", "BOM Explosion Item"):
frappe.db.sql(
"delete from `tab{}` where parent in ({})" "".format(dt, ", ".join(["%s"] * len(boms))),
"delete from `tab{}` where parent in ({})".format(dt, ", ".join(["%s"] * len(boms))),
tuple(boms),
)