Browse Source

[account_financial_report][fix] define XLSX currency format based on

the currency of the company selected for the report.
pull/791/head
Jordi Ballester 3 years ago
parent
commit
105e9f57e0
  1. 19
      account_financial_report/report/abstract_report_xlsx.py

19
account_financial_report/report/abstract_report_xlsx.py

@ -39,7 +39,7 @@ class AbstractReportXslx(models.AbstractModel):
self.row_pos = 0
self._define_formats(workbook)
self._define_formats(workbook, data)
report_name = self._get_report_name(report, data=data)
report_footer = self._get_report_footer()
@ -58,7 +58,7 @@ class AbstractReportXslx(models.AbstractModel):
self._write_report_footer(report_footer)
def _define_formats(self, workbook):
def _define_formats(self, workbook, data):
""" Add cell formats to current workbook.
Those formats can be used on all cell.
Available formats are :
@ -90,16 +90,19 @@ class AbstractReportXslx(models.AbstractModel):
self.format_header_amount = workbook.add_format(
{"bold": True, "border": True, "bg_color": "#FFFFCC"}
)
currency_id = self.env["res.company"]._get_user_currency()
company_id = data.get("company_id", False)
if company_id:
company = self.env["res.company"].browse(company_id)
currency = company.currency_id
else:
currency = self.env["res.company"]._get_user_currency()
self.format_header_amount.set_num_format(
"#,##0." + "0" * currency_id.decimal_places
"#,##0." + "0" * currency.decimal_places
)
self.format_amount = workbook.add_format()
self.format_amount.set_num_format("#,##0." + "0" * currency_id.decimal_places)
self.format_amount.set_num_format("#,##0." + "0" * currency.decimal_places)
self.format_amount_bold = workbook.add_format({"bold": True})
self.format_amount_bold.set_num_format(
"#,##0." + "0" * currency_id.decimal_places
)
self.format_amount_bold.set_num_format("#,##0." + "0" * currency.decimal_places)
self.format_percent_bold_italic = workbook.add_format(
{"bold": True, "italic": True}
)

Loading…
Cancel
Save