Merge pull request #44345 from ruthra-kumar/fix_broken_export_in_p_l_statements

fix: broken export on financial statements
This commit is contained in:
ruthra kumar
2024-11-26 17:48:29 +05:30
committed by GitHub
4 changed files with 22 additions and 4 deletions

View File

@@ -263,7 +263,6 @@ def get_report_summary(summary_data, currency):
def get_chart_data(columns, data, currency):
labels = [d.get("label") for d in columns[2:]]
print(data)
datasets = [
{
"name": section.get("section").replace("'", ""),

View File

@@ -619,7 +619,7 @@ def get_cost_centers_with_children(cost_centers):
def get_columns(periodicity, period_list, accumulated_values=1, company=None, cash_flow=False):
columns = [
{
"fieldname": "stub",
"fieldname": "account",
"label": _("Account") if not cash_flow else _("Section"),
"fieldtype": "Link",
"options": "Account",

View File

@@ -2,6 +2,7 @@
# MIT License. See license.txt
import frappe
from frappe.desk.query_report import export_query
from frappe.tests import IntegrationTestCase
from frappe.utils import getdate, today
@@ -90,3 +91,21 @@ class TestProfitAndLossStatement(AccountsTestMixin, IntegrationTestCase):
with self.subTest(current_period_key=current_period_key):
self.assertEqual(acc[current_period_key], 150)
self.assertEqual(acc["total"], 150)
def test_p_and_l_export(self):
self.create_sales_invoice(qty=1, rate=150)
filters = self.get_report_filters()
frappe.local.form_dict = frappe._dict(
{
"report_name": "Profit and Loss Statement",
"file_format_type": "CSV",
"filters": filters,
"visible_idx": [0, 1, 2, 3, 4, 5, 6],
}
)
export_query()
contents = frappe.response["filecontent"].decode()
sales_account = frappe.db.get_value("Company", self.company, "default_income_account")
self.assertIn(sales_account, contents)

View File

@@ -33,7 +33,7 @@ erpnext.financial_statements = {
return value;
} else if (frappe.query_report.get_filter_value("selected_view") == "Margin" && data) {
if (column.fieldname == "stub" && data.account_name == __("Income")) {
if (column.fieldname == "account" && data.account_name == __("Income")) {
//Taking the total income from each column (for all the financial years) as the base (100%)
this.baseData = row;
}
@@ -52,7 +52,7 @@ erpnext.financial_statements = {
}
}
if (data && column.fieldname == "stub") {
if (data && column.fieldname == "account") {
// first column
value = data.section_name || data.account_name || value;