diff --git a/erpnext/accounts/report/balance_sheet/balance_sheet.py b/erpnext/accounts/report/balance_sheet/balance_sheet.py index c71ecf45f61..204eceb4f48 100644 --- a/erpnext/accounts/report/balance_sheet/balance_sheet.py +++ b/erpnext/accounts/report/balance_sheet/balance_sheet.py @@ -11,6 +11,8 @@ def execute(filters=None): period_list = get_period_list(filters.from_fiscal_year, filters.to_fiscal_year, filters.periodicity, company=filters.company) + currency = filters.presentation_currency or frappe.db.get_value("Company", filters.company, "default_currency") + asset = get_data(filters.company, "Asset", "Debit", period_list, only_current_fiscal_year=False, filters=filters, accumulated_values=filters.accumulated_values) @@ -24,7 +26,7 @@ def execute(filters=None): accumulated_values=filters.accumulated_values) provisional_profit_loss, total_credit = get_provisional_profit_loss(asset, liability, equity, - period_list, filters.company) + period_list, filters.company, currency) message, opening_balance = check_opening_balance(asset, liability, equity) @@ -37,7 +39,7 @@ def execute(filters=None): "account_name": "'" + _("Unclosed Fiscal Years Profit / Loss (Credit)") + "'", "account": "'" + _("Unclosed Fiscal Years Profit / Loss (Credit)") + "'", "warn_if_negative": True, - "currency": frappe.db.get_value("Company", filters.company, "default_currency") + "currency": currency } for period in period_list: unclosed[period.key] = opening_balance @@ -58,12 +60,12 @@ def execute(filters=None): return columns, data, message, chart -def get_provisional_profit_loss(asset, liability, equity, period_list, company, consolidated=False): +def get_provisional_profit_loss(asset, liability, equity, period_list, company, currency=None, consolidated=False): provisional_profit_loss = {} total_row = {} if asset and (liability or equity): total = total_row_total=0 - currency = frappe.db.get_value("Company", company, "default_currency") + currency = currency or frappe.db.get_value("Company", company, "default_currency") total_row = { "account_name": "'" + _("Total (Credit)") + "'", "account": "'" + _("Total (Credit)") + "'", diff --git a/erpnext/accounts/report/profitability_analysis/profitability_analysis.js b/erpnext/accounts/report/profitability_analysis/profitability_analysis.js index 33a29484291..4711225c50a 100644 --- a/erpnext/accounts/report/profitability_analysis/profitability_analysis.js +++ b/erpnext/accounts/report/profitability_analysis/profitability_analysis.js @@ -59,20 +59,21 @@ frappe.require("assets/erpnext/js/financial_statements.js", function() { "fieldtype": "Check" } ], - "formatter": function(row, cell, value, columnDef, dataContext, default_formatter) { - if (columnDef.df.fieldname=="account") { - value = dataContext.account_name; + "formatter": function(value, row, column, data, default_formatter) { + if (column.fieldname=="account") { + value = data.account_name; - columnDef.df.link_onclick = - "frappe.query_reports['Profitability Analysis'].open_profit_and_loss_statement(" + JSON.stringify(dataContext) + ")"; - columnDef.df.is_tree = true; + column.link_onclick = + "frappe.query_reports['Profitability Analysis'].open_profit_and_loss_statement(" + JSON.stringify(data) + ")"; + column.is_tree = true; } - value = default_formatter(row, cell, value, columnDef, dataContext); + value = default_formatter(value, row, column, data); - if (!dataContext.parent_account && dataContext.based_on != 'project') { + if (!data.parent_account && data.based_on != 'project') { + value = $(`${value}`); var $value = $(value).css("font-weight", "bold"); - if (dataContext.warn_if_negative && dataContext[columnDef.df.fieldname] < 0) { + if (data.warn_if_negative && data[columnDef.df.fieldname] < 0) { $value.addClass("text-danger"); } diff --git a/erpnext/public/js/financial_statements.js b/erpnext/public/js/financial_statements.js index b7bb77e5ede..2fcdbb45e71 100644 --- a/erpnext/public/js/financial_statements.js +++ b/erpnext/public/js/financial_statements.js @@ -2,20 +2,22 @@ frappe.provide("erpnext.financial_statements"); erpnext.financial_statements = { "filters": get_filters(), - "formatter": function(row, cell, value, columnDef, dataContext, default_formatter) { - if (columnDef.df.fieldname=="account") { - value = dataContext.account_name; + "formatter": function(value, row, column, data, default_formatter) { + if (column.fieldname=="account") { + value = data.account_name; - columnDef.df.link_onclick = - "erpnext.financial_statements.open_general_ledger(" + JSON.stringify(dataContext) + ")"; - columnDef.df.is_tree = true; + column.link_onclick = + "erpnext.financial_statements.open_general_ledger(" + JSON.stringify(data) + ")"; + column.is_tree = true; } - value = default_formatter(row, cell, value, columnDef, dataContext); + value = default_formatter(value, row, column, data); + + if (!data.parent_account) { + value = $(`${value}`); - if (!dataContext.parent_account) { var $value = $(value).css("font-weight", "bold"); - if (dataContext.warn_if_negative && dataContext[columnDef.df.fieldname] < 0) { + if (data.warn_if_negative && data[column.fieldname] < 0) { $value.addClass("text-danger"); }