From e82b4d9ca73e1774b5d5d9ff93ecf738f22999ff Mon Sep 17 00:00:00 2001 From: Shllokkk Date: Wed, 6 May 2026 17:45:33 +0530 Subject: [PATCH] fix: add filter subtitle in print formats --- .../balance_sheet_standard/balance_sheet_standard.json | 4 ++-- .../cash_flow_statement_standard.json | 4 ++-- .../p&l_statement_standard/p&l_statement_standard.json | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/erpnext/accounts/print_format/balance_sheet_standard/balance_sheet_standard.json b/erpnext/accounts/print_format/balance_sheet_standard/balance_sheet_standard.json index 662d2565904..9529a0cb45d 100644 --- a/erpnext/accounts/print_format/balance_sheet_standard/balance_sheet_standard.json +++ b/erpnext/accounts/print_format/balance_sheet_standard/balance_sheet_standard.json @@ -8,14 +8,14 @@ "docstatus": 0, "doctype": "Print Format", "font_size": 14, - "html": "{%\n\tconst report_columns = report\n\t\t.get_columns_for_print()\n\t\t.filter(col => !col.hidden);\n\n\tif (report_columns.length > 8) {\n\t\tfrappe.throw(\n\t\t\t__(\"Too many columns. Export the report and print it using a spreadsheet application.\")\n\t\t);\n\t}\n%}\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\t{%= __(report.report_name) %}\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t{%= __(\"Company\") %}: {%= filters.company %}\n\t\t\t
\n\t\t\t
\n\t\t\t\t{%= __(\"Currency\") %}:\n\t\t\t\t{%= filters.presentation_currency || erpnext.get_currency(filters.company) %}\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t{%= __(\"Period Based On\") %}: \n\t\t\t\t{%= filters.filter_based_on %}\n\t\t\t
\n\n\t\t\t{% if (filters.filter_based_on === \"Fiscal Year\") { %}\n\t\t\t\t
\n\t\t\t\t\t{%= __(\"Start Year\") %}: {%= filters.from_fiscal_year %}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{%= __(\"End Year\") %}: {%= filters.to_fiscal_year %}\n\t\t\t\t
\n\n\t\t\t{% } else if (filters.filter_based_on === \"Date Range\") { %}\n\t\t\t\t
\n\t\t\t\t\t{%= __(\"Start Date\") %}: \n\t\t\t\t\t{%= frappe.datetime.str_to_user(filters.period_start_date) %}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{%= __(\"End Date\") %}: \n\t\t\t\t\t{%= frappe.datetime.str_to_user(filters.period_end_date) %}\n\t\t\t\t
\n\t\t\t{% } %}\n\t\t
\n\t
\n\n\t
\n \t\n \t\t\n \t\t\t\n \t\t\t\t{% for (let i = 0, l = report_columns.length; i < l; i++) { %}\n \t\t\t\t\t{%\n \t\t\t\t\t\tconst col = report_columns[i];\n \t\t\t\t\t\tconst align = i === 0 ? \"text-left\" : \"text-right\";\n \t\t\t\t\t%}\n \t\t\t\t\t\n \t\t\t\t{% } %}\n \t\t\t\n \t\t\n \n \t\t\n \t\t\t{% for (let j = 0, k = data.length; j < k; j++) { %}\n \t\t\t\t{%\n \t\t\t\t\tconst row = data[j];\n \n \t\t\t\t\tlet row_class = \"\";\n \t\t\t\t\tif (!(row.parent_account || row.parent_section)) {\n \t\t\t\t\t\trow_class = \"financial-statements-important\";\n \t\t\t\t\t}\n \t\t\t\t\tif (!(row.account_name || row.section)) {\n \t\t\t\t\t\trow_class += \" financial-statements-blank-row\";\n \t\t\t\t\t}\n \t\t\t\t%}\n \n \t\t\t\t\n \t\t\t\t\t{% for (let i = 0, l = report_columns.length; i < l; i++) { %}\n \t\t\t\t\t\t{%\n \t\t\t\t\t\t\tconst col = report_columns[i];\n \t\t\t\t\t\t\tconst value = row[col.fieldname];\n \t\t\t\t\t\t\tconst align = i === 0 ? \"text-left\" : \"text-right\";\n \t\t\t\t\t\t%}\n \n \t\t\t\t\t\t\n \t\t\t\t\t{% } %}\n \t\t\t\t\n \t\t\t{% } %}\n \t\t\n \t
\n \t\t\t\t\t\t{%= col.label %}\n \t\t\t\t\t
\n \t\t\t\t\t\t\t{% if (i === 0) { %}\n \t\t\t\t\t\t\t\t\n\t {%= String(row.account_name || row.section || \"\").replace(/^['\"]|['\"]$/g, \"\") %}\n \t\t\t\t\t\t\t\t\n \t\t\t\t\t\t\t{% } else if (!is_null(value)) { %}\n \t\t\t\t\t\t\t\t{%= frappe.format(value, col, {}, row) %}\n \t\t\t\t\t\t\t{% } %}\n \t\t\t\t\t\t
\n
\n\n\t

\n\t\t{%= __(\"Printed on {0}\", [\n\t\t\tfrappe.datetime.str_to_user(frappe.datetime.get_datetime_as_string())\n\t\t]) %}\n\t

\n\n
", + "html": "{%\n\tconst report_columns = report\n\t\t.get_columns_for_print()\n\t\t.filter(col => !col.hidden);\n\n\tif (report_columns.length > 8) {\n\t\tfrappe.throw(\n\t\t\t__(\"Too many columns. Export the report and print it using a spreadsheet application.\")\n\t\t);\n\t}\n%}\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\t{%= __(report.report_name) %}\n\t\t
\n\t
\n\n\t{% if (subtitle && subtitle.trim()) { %}\n
\n {{ subtitle }}\n
\n {% } else { %}\n
\n
\n
\n {%= __(\"Company\") %}: {%= filters.company %}\n
\n
\n {%= __(\"Currency\") %}:\n {%= filters.presentation_currency || erpnext.get_currency(filters.company) %}\n
\n
\n\n
\n
\n {%= __(\"Period Based On\") %}:\n {%= filters.filter_based_on %}\n
\n\n {% if (filters.filter_based_on === \"Fiscal Year\") { %}\n
\n {%= __(\"Start Year\") %}: {%= filters.from_fiscal_year %}\n
\n
\n {%= __(\"End Year\") %}: {%= filters.to_fiscal_year %}\n
\n\n {% } else if (filters.filter_based_on === \"Date Range\") { %}\n
\n {%= __(\"Start Date\") %}:\n {%= frappe.datetime.str_to_user(filters.period_start_date) %}\n
\n
\n {%= __(\"End Date\") %}:\n {%= frappe.datetime.str_to_user(filters.period_end_date) %}\n
\n {% } %}\n
\n
\n {% } %}\n\n\t
\n \t\n \t\t\n \t\t\t\n \t\t\t\t{% for (let i = 0, l = report_columns.length; i < l; i++) { %}\n \t\t\t\t\t{%\n \t\t\t\t\t\tconst col = report_columns[i];\n \t\t\t\t\t\tconst align = i === 0 ? \"text-left\" : \"text-right\";\n \t\t\t\t\t%}\n \t\t\t\t\t\n \t\t\t\t{% } %}\n \t\t\t\n \t\t\n \n \t\t\n \t\t\t{% for (let j = 0, k = data.length; j < k; j++) { %}\n \t\t\t\t{%\n \t\t\t\t\tconst row = data[j];\n \n \t\t\t\t\tlet row_class = \"\";\n \t\t\t\t\tif (!(row.parent_account || row.parent_section)) {\n \t\t\t\t\t\trow_class = \"financial-statements-important\";\n \t\t\t\t\t}\n \t\t\t\t\tif (!(row.account_name || row.section)) {\n \t\t\t\t\t\trow_class += \" financial-statements-blank-row\";\n \t\t\t\t\t}\n \t\t\t\t%}\n \n \t\t\t\t\n \t\t\t\t\t{% for (let i = 0, l = report_columns.length; i < l; i++) { %}\n \t\t\t\t\t\t{%\n \t\t\t\t\t\t\tconst col = report_columns[i];\n \t\t\t\t\t\t\tconst value = row[col.fieldname];\n \t\t\t\t\t\t\tconst align = i === 0 ? \"text-left\" : \"text-right\";\n \t\t\t\t\t\t%}\n \n \t\t\t\t\t\t\n \t\t\t\t\t{% } %}\n \t\t\t\t\n \t\t\t{% } %}\n \t\t\n \t
\n \t\t\t\t\t\t{%= col.label %}\n \t\t\t\t\t
\n \t\t\t\t\t\t\t{% if (i === 0) { %}\n \t\t\t\t\t\t\t\t\n\t {%= String(row.account_name || row.section || \"\").replace(/^['\"]|['\"]$/g, \"\") %}\n \t\t\t\t\t\t\t\t\n \t\t\t\t\t\t\t{% } else if (!is_null(value)) { %}\n \t\t\t\t\t\t\t\t{%= frappe.format(value, col, {}, row) %}\n \t\t\t\t\t\t\t{% } %}\n \t\t\t\t\t\t
\n
\n\n\t

\n\t\t{%= __(\"Printed on {0}\", [\n\t\t\tfrappe.datetime.str_to_user(frappe.datetime.get_datetime_as_string())\n\t\t]) %}\n\t

\n\n
", "idx": 0, "line_breaks": 0, "margin_bottom": 15.0, "margin_left": 15.0, "margin_right": 15.0, "margin_top": 15.0, - "modified": "2026-03-31 17:25:22.282171", + "modified": "2026-05-06 17:40:39.605807", "modified_by": "Administrator", "module": "Accounts", "name": "Balance Sheet Standard", diff --git a/erpnext/accounts/print_format/cash_flow_statement_standard/cash_flow_statement_standard.json b/erpnext/accounts/print_format/cash_flow_statement_standard/cash_flow_statement_standard.json index 2130f060ccb..fd95794a0f9 100644 --- a/erpnext/accounts/print_format/cash_flow_statement_standard/cash_flow_statement_standard.json +++ b/erpnext/accounts/print_format/cash_flow_statement_standard/cash_flow_statement_standard.json @@ -8,14 +8,14 @@ "docstatus": 0, "doctype": "Print Format", "font_size": 14, - "html": "{%\n\tconst report_columns = report\n\t\t.get_columns_for_print()\n\t\t.filter(col => !col.hidden);\n\n\tif (report_columns.length > 8) {\n\t\tfrappe.throw(\n\t\t\t__(\"Too many columns. Export the report and print it using a spreadsheet application.\")\n\t\t);\n\t}\n%}\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\t{%= __(report.report_name) %}\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t{%= __(\"Company\") %}: {%= filters.company %}\n\t\t\t
\n\t\t\t
\n\t\t\t\t{%= __(\"Currency\") %}:\n\t\t\t\t{%= filters.presentation_currency || erpnext.get_currency(filters.company) %}\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t{%= __(\"Period Based On\") %}: \n\t\t\t\t{%= filters.filter_based_on %}\n\t\t\t
\n\n\t\t\t{% if (filters.filter_based_on === \"Fiscal Year\") { %}\n\t\t\t\t
\n\t\t\t\t\t{%= __(\"Start Year\") %}: {%= filters.from_fiscal_year %}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{%= __(\"End Year\") %}: {%= filters.to_fiscal_year %}\n\t\t\t\t
\n\n\t\t\t{% } else if (filters.filter_based_on === \"Date Range\") { %}\n\t\t\t\t
\n\t\t\t\t\t{%= __(\"Start Date\") %}: \n\t\t\t\t\t{%= frappe.datetime.str_to_user(filters.period_start_date) %}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{%= __(\"End Date\") %}: \n\t\t\t\t\t{%= frappe.datetime.str_to_user(filters.period_end_date) %}\n\t\t\t\t
\n\t\t\t{% } %}\n\t\t
\n\t
\n\n\t
\n \t\n \t\t\n \t\t\t\n \t\t\t\t{% for (let i = 0, l = report_columns.length; i < l; i++) { %}\n \t\t\t\t\t{%\n \t\t\t\t\t\tconst col = report_columns[i];\n \t\t\t\t\t\tconst align = i === 0 ? \"text-left\" : \"text-right\";\n \t\t\t\t\t%}\n \t\t\t\t\t\n \t\t\t\t{% } %}\n \t\t\t\n \t\t\n \n \t\t\n \t\t\t{% for (let j = 0, k = data.length; j < k; j++) { %}\n \t\t\t\t{%\n \t\t\t\t\tconst row = data[j];\n \n \t\t\t\t\tlet row_class = \"\";\n \t\t\t\t\tif (!(row.parent_account || row.parent_section)) {\n \t\t\t\t\t\trow_class = \"financial-statements-important\";\n \t\t\t\t\t}\n \t\t\t\t\tif (!(row.account_name || row.section)) {\n \t\t\t\t\t\trow_class += \" financial-statements-blank-row\";\n \t\t\t\t\t}\n \t\t\t\t%}\n \n \t\t\t\t\n \t\t\t\t\t{% for (let i = 0, l = report_columns.length; i < l; i++) { %}\n \t\t\t\t\t\t{%\n \t\t\t\t\t\t\tconst col = report_columns[i];\n \t\t\t\t\t\t\tconst value = row[col.fieldname];\n \t\t\t\t\t\t\tconst align = i === 0 ? \"text-left\" : \"text-right\";\n \t\t\t\t\t\t%}\n \n \t\t\t\t\t\t\n \t\t\t\t\t{% } %}\n \t\t\t\t\n \t\t\t{% } %}\n \t\t\n \t
\n \t\t\t\t\t\t{%= col.label %}\n \t\t\t\t\t
\n \t\t\t\t\t\t\t{% if (i === 0) { %}\n \t\t\t\t\t\t\t\t\n \t\t\t\t\t\t\t\t\t{%= String(row.account_name || row.section || \"\").replace(/^['\"]|['\"]$/g, \"\") %}\n \t\t\t\t\t\t\t\t\n \t\t\t\t\t\t\t{% } else if (!is_null(value)) { %}\n \t\t\t\t\t\t\t\t{%= frappe.format(value, col, {}, row) %}\n \t\t\t\t\t\t\t{% } %}\n \t\t\t\t\t\t
\n
\n\n\t

\n\t\t{%= __(\"Printed on {0}\", [\n\t\t\tfrappe.datetime.str_to_user(frappe.datetime.get_datetime_as_string())\n\t\t]) %}\n\t

\n\n
", + "html": "{%\n\tconst report_columns = report\n\t\t.get_columns_for_print()\n\t\t.filter(col => !col.hidden);\n\n\tif (report_columns.length > 8) {\n\t\tfrappe.throw(\n\t\t\t__(\"Too many columns. Export the report and print it using a spreadsheet application.\")\n\t\t);\n\t}\n%}\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\t{%= __(report.report_name) %}\n\t\t
\n\t
\n\n {% if (subtitle && subtitle.trim()) { %}\n
\n {{ subtitle }}\n
\n {% } else { %}\n
\n
\n
\n {%= __(\"Company\") %}: {%= filters.company %}\n
\n
\n {%= __(\"Currency\") %}:\n {%= filters.presentation_currency || erpnext.get_currency(filters.company) %}\n
\n
\n\n
\n
\n {%= __(\"Period Based On\") %}:\n {%= filters.filter_based_on %}\n
\n\n {% if (filters.filter_based_on === \"Fiscal Year\") { %}\n
\n {%= __(\"Start Year\") %}: {%= filters.from_fiscal_year %}\n
\n
\n {%= __(\"End Year\") %}: {%= filters.to_fiscal_year %}\n
\n\n {% } else if (filters.filter_based_on === \"Date Range\") { %}\n
\n {%= __(\"Start Date\") %}:\n {%= frappe.datetime.str_to_user(filters.period_start_date) %}\n
\n
\n {%= __(\"End Date\") %}:\n {%= frappe.datetime.str_to_user(filters.period_end_date) %}\n
\n {% } %}\n
\n
\n {% } %}\n\n\t
\n \t\n \t\t\n \t\t\t\n \t\t\t\t{% for (let i = 0, l = report_columns.length; i < l; i++) { %}\n \t\t\t\t\t{%\n \t\t\t\t\t\tconst col = report_columns[i];\n \t\t\t\t\t\tconst align = i === 0 ? \"text-left\" : \"text-right\";\n \t\t\t\t\t%}\n \t\t\t\t\t\n \t\t\t\t{% } %}\n \t\t\t\n \t\t\n \n \t\t\n \t\t\t{% for (let j = 0, k = data.length; j < k; j++) { %}\n \t\t\t\t{%\n \t\t\t\t\tconst row = data[j];\n \n \t\t\t\t\tlet row_class = \"\";\n \t\t\t\t\tif (!(row.parent_account || row.parent_section)) {\n \t\t\t\t\t\trow_class = \"financial-statements-important\";\n \t\t\t\t\t}\n \t\t\t\t\tif (!(row.account_name || row.section)) {\n \t\t\t\t\t\trow_class += \" financial-statements-blank-row\";\n \t\t\t\t\t}\n \t\t\t\t%}\n \n \t\t\t\t\n \t\t\t\t\t{% for (let i = 0, l = report_columns.length; i < l; i++) { %}\n \t\t\t\t\t\t{%\n \t\t\t\t\t\t\tconst col = report_columns[i];\n \t\t\t\t\t\t\tconst value = row[col.fieldname];\n \t\t\t\t\t\t\tconst align = i === 0 ? \"text-left\" : \"text-right\";\n \t\t\t\t\t\t%}\n \n \t\t\t\t\t\t\n \t\t\t\t\t{% } %}\n \t\t\t\t\n \t\t\t{% } %}\n \t\t\n \t
\n \t\t\t\t\t\t{%= col.label %}\n \t\t\t\t\t
\n \t\t\t\t\t\t\t{% if (i === 0) { %}\n \t\t\t\t\t\t\t\t\n \t\t\t\t\t\t\t\t\t{%= String(row.account_name || row.section || \"\").replace(/^['\"]|['\"]$/g, \"\") %}\n \t\t\t\t\t\t\t\t\n \t\t\t\t\t\t\t{% } else if (!is_null(value)) { %}\n \t\t\t\t\t\t\t\t{%= frappe.format(value, col, {}, row) %}\n \t\t\t\t\t\t\t{% } %}\n \t\t\t\t\t\t
\n
\n\n\t

\n\t\t{%= __(\"Printed on {0}\", [\n\t\t\tfrappe.datetime.str_to_user(frappe.datetime.get_datetime_as_string())\n\t\t]) %}\n\t

\n\n
", "idx": 0, "line_breaks": 0, "margin_bottom": 15.0, "margin_left": 15.0, "margin_right": 15.0, "margin_top": 15.0, - "modified": "2026-03-31 17:26:56.411191", + "modified": "2026-05-06 17:42:07.113775", "modified_by": "Administrator", "module": "Accounts", "name": "Cash Flow Statement Standard", diff --git a/erpnext/accounts/print_format/p&l_statement_standard/p&l_statement_standard.json b/erpnext/accounts/print_format/p&l_statement_standard/p&l_statement_standard.json index 51cdf702372..b1a379b0b47 100644 --- a/erpnext/accounts/print_format/p&l_statement_standard/p&l_statement_standard.json +++ b/erpnext/accounts/print_format/p&l_statement_standard/p&l_statement_standard.json @@ -8,14 +8,14 @@ "docstatus": 0, "doctype": "Print Format", "font_size": 14, - "html": "{%\n\tconst report_columns = report\n\t\t.get_columns_for_print()\n\t\t.filter(col => !col.hidden);\n\n\tif (report_columns.length > 8) {\n\t\tfrappe.throw(\n\t\t\t__(\"Too many columns. Export the report and print it using a spreadsheet application.\")\n\t\t);\n\t}\n%}\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\t{%= __(report.report_name) %}\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t{%= __(\"Company\") %}: {%= filters.company %}\n\t\t\t
\n\t\t\t
\n\t\t\t\t{%= __(\"Currency\") %}:\n\t\t\t\t{%= filters.presentation_currency || erpnext.get_currency(filters.company) %}\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t{%= __(\"Period Based On\") %}: \n\t\t\t\t{%= filters.filter_based_on %}\n\t\t\t
\n\n\t\t\t{% if (filters.filter_based_on === \"Fiscal Year\") { %}\n\t\t\t\t
\n\t\t\t\t\t{%= __(\"Start Year\") %}: {%= filters.from_fiscal_year %}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{%= __(\"End Year\") %}: {%= filters.to_fiscal_year %}\n\t\t\t\t
\n\n\t\t\t{% } else if (filters.filter_based_on === \"Date Range\") { %}\n\t\t\t\t
\n\t\t\t\t\t{%= __(\"Start Date\") %}: \n\t\t\t\t\t{%= frappe.datetime.str_to_user(filters.period_start_date) %}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{%= __(\"End Date\") %}: \n\t\t\t\t\t{%= frappe.datetime.str_to_user(filters.period_end_date) %}\n\t\t\t\t
\n\t\t\t{% } %}\n\t\t
\n\t
\n\n\t
\n \t\n \t\t\n \t\t\t\n \t\t\t\t{% for (let i = 0, l = report_columns.length; i < l; i++) { %}\n \t\t\t\t\t{%\n \t\t\t\t\t\tconst col = report_columns[i];\n \t\t\t\t\t\tconst align = i === 0 ? \"text-left\" : \"text-right\";\n \t\t\t\t\t%}\n \t\t\t\t\t\n \t\t\t\t{% } %}\n \t\t\t\n \t\t\n \n \t\t\n \t\t\t{% for (let j = 0, k = data.length; j < k; j++) { %}\n \t\t\t\t{%\n \t\t\t\t\tconst row = data[j];\n \n \t\t\t\t\tlet row_class = \"\";\n \t\t\t\t\tif (!(row.parent_account || row.parent_section)) {\n \t\t\t\t\t\trow_class = \"financial-statements-important\";\n \t\t\t\t\t}\n \t\t\t\t\tif (!(row.account_name || row.section)) {\n \t\t\t\t\t\trow_class += \" financial-statements-blank-row\";\n \t\t\t\t\t}\n \t\t\t\t%}\n \n \t\t\t\t\n \t\t\t\t\t{% for (let i = 0, l = report_columns.length; i < l; i++) { %}\n \t\t\t\t\t\t{%\n \t\t\t\t\t\t\tconst col = report_columns[i];\n \t\t\t\t\t\t\tconst value = row[col.fieldname];\n \t\t\t\t\t\t\tconst align = i === 0 ? \"text-left\" : \"text-right\";\n \t\t\t\t\t\t%}\n \n \t\t\t\t\t\t\n \t\t\t\t\t{% } %}\n \t\t\t\t\n \t\t\t{% } %}\n \t\t\n \t
\n \t\t\t\t\t\t{%= col.label %}\n \t\t\t\t\t
\n \t\t\t\t\t\t\t{% if (i === 0) { %}\n \t\t\t\t\t\t\t\t\n \t\t\t\t\t\t\t\t\t{%= String(row.account_name || row.section || \"\").replace(/^['\"]|['\"]$/g, \"\") %}\n \t\t\t\t\t\t\t\t\n \t\t\t\t\t\t\t{% } else if (!is_null(value)) { %}\n \t\t\t\t\t\t\t\t{%= frappe.format(value, col, {}, row) %}\n \t\t\t\t\t\t\t{% } %}\n \t\t\t\t\t\t
\n
\n\n\t

\n\t\t{%= __(\"Printed on {0}\", [\n\t\t\tfrappe.datetime.str_to_user(frappe.datetime.get_datetime_as_string())\n\t\t]) %}\n\t

\n\n
", + "html": "{%\n\tconst report_columns = report\n\t\t.get_columns_for_print()\n\t\t.filter(col => !col.hidden);\n\n\tif (report_columns.length > 8) {\n\t\tfrappe.throw(\n\t\t\t__(\"Too many columns. Export the report and print it using a spreadsheet application.\")\n\t\t);\n\t}\n%}\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\t{%= __(report.report_name) %}\n\t\t
\n\t
\n\n {% if (subtitle && subtitle.trim()) { %}\n
\n {{ subtitle }}\n
\n {% } else { %}\n
\n
\n
\n {%= __(\"Company\") %}: {%= filters.company %}\n
\n
\n {%= __(\"Currency\") %}:\n {%= filters.presentation_currency || erpnext.get_currency(filters.company) %}\n
\n
\n\n
\n
\n {%= __(\"Period Based On\") %}:\n {%= filters.filter_based_on %}\n
\n\n {% if (filters.filter_based_on === \"Fiscal Year\") { %}\n
\n {%= __(\"Start Year\") %}: {%= filters.from_fiscal_year %}\n
\n
\n {%= __(\"End Year\") %}: {%= filters.to_fiscal_year %}\n
\n\n {% } else if (filters.filter_based_on === \"Date Range\") { %}\n
\n {%= __(\"Start Date\") %}:\n {%= frappe.datetime.str_to_user(filters.period_start_date) %}\n
\n
\n {%= __(\"End Date\") %}:\n {%= frappe.datetime.str_to_user(filters.period_end_date) %}\n
\n {% } %}\n
\n
\n {% } %}\n\n\t
\n \t\n \t\t\n \t\t\t\n \t\t\t\t{% for (let i = 0, l = report_columns.length; i < l; i++) { %}\n \t\t\t\t\t{%\n \t\t\t\t\t\tconst col = report_columns[i];\n \t\t\t\t\t\tconst align = i === 0 ? \"text-left\" : \"text-right\";\n \t\t\t\t\t%}\n \t\t\t\t\t\n \t\t\t\t{% } %}\n \t\t\t\n \t\t\n \n \t\t\n \t\t\t{% for (let j = 0, k = data.length; j < k; j++) { %}\n \t\t\t\t{%\n \t\t\t\t\tconst row = data[j];\n \n \t\t\t\t\tlet row_class = \"\";\n \t\t\t\t\tif (!(row.parent_account || row.parent_section)) {\n \t\t\t\t\t\trow_class = \"financial-statements-important\";\n \t\t\t\t\t}\n \t\t\t\t\tif (!(row.account_name || row.section)) {\n \t\t\t\t\t\trow_class += \" financial-statements-blank-row\";\n \t\t\t\t\t}\n \t\t\t\t%}\n \n \t\t\t\t\n \t\t\t\t\t{% for (let i = 0, l = report_columns.length; i < l; i++) { %}\n \t\t\t\t\t\t{%\n \t\t\t\t\t\t\tconst col = report_columns[i];\n \t\t\t\t\t\t\tconst value = row[col.fieldname];\n \t\t\t\t\t\t\tconst align = i === 0 ? \"text-left\" : \"text-right\";\n \t\t\t\t\t\t%}\n \n \t\t\t\t\t\t\n \t\t\t\t\t{% } %}\n \t\t\t\t\n \t\t\t{% } %}\n \t\t\n \t
\n \t\t\t\t\t\t{%= col.label %}\n \t\t\t\t\t
\n \t\t\t\t\t\t\t{% if (i === 0) { %}\n \t\t\t\t\t\t\t\t\n \t\t\t\t\t\t\t\t\t{%= String(row.account_name || row.section || \"\").replace(/^['\"]|['\"]$/g, \"\") %}\n \t\t\t\t\t\t\t\t\n \t\t\t\t\t\t\t{% } else if (!is_null(value)) { %}\n \t\t\t\t\t\t\t\t{%= frappe.format(value, col, {}, row) %}\n \t\t\t\t\t\t\t{% } %}\n \t\t\t\t\t\t
\n
\n\n\t

\n\t\t{%= __(\"Printed on {0}\", [\n\t\t\tfrappe.datetime.str_to_user(frappe.datetime.get_datetime_as_string())\n\t\t]) %}\n\t

\n\n
", "idx": 0, "line_breaks": 0, "margin_bottom": 15.0, "margin_left": 15.0, "margin_right": 15.0, "margin_top": 15.0, - "modified": "2026-03-31 17:26:30.738073", + "modified": "2026-05-06 17:42:47.344321", "modified_by": "Administrator", "module": "Accounts", "name": "P&L Statement Standard",