From 3268f74ccab19f822c112f4634e501e93062f64a Mon Sep 17 00:00:00 2001 From: Joan Sisquella Date: Thu, 11 Jun 2020 09:32:30 +0200 Subject: [PATCH] [IMP] account_financial_report: * filter by analytic_account --- .../report/general_ledger.py | 9 ++++ .../report/general_ledger_xlsx.py | 52 +++++++++++-------- .../report/templates/general_ledger.xml | 6 +-- .../wizard/general_ledger_wizard.py | 3 ++ .../wizard/general_ledger_wizard_view.xml | 1 + 5 files changed, 47 insertions(+), 24 deletions(-) diff --git a/account_financial_report/report/general_ledger.py b/account_financial_report/report/general_ledger.py index 74884af6..6fdd979d 100644 --- a/account_financial_report/report/general_ledger.py +++ b/account_financial_report/report/general_ledger.py @@ -324,6 +324,12 @@ class GeneralLedgerReport(models.AbstractModel): else "", "tag_ids": move_line["analytic_tag_ids"], "currency_id": move_line["currency_id"], + "analytic_account": move_line["analytic_account_id"][1] + if move_line["analytic_account_id"] + else "", + "analytic_account_id": move_line["analytic_account_id"][0] + if move_line["analytic_account_id"] + else False, } if ( move_line_data["ref"] == move_line_data["name"] @@ -464,6 +470,7 @@ class GeneralLedgerReport(models.AbstractModel): "amount_currency", "ref", "name", + "analytic_account_id", ] move_lines = self.env["account.move.line"].search_read( domain=domain, fields=ml_fields @@ -662,6 +669,7 @@ class GeneralLedgerReport(models.AbstractModel): "id": False, "tag_ids": False, "currency_id": False, + "analytic_account_id": False, } ) centralized_ml[jnl_id][month]["debit"] += move_line["debit"] @@ -782,6 +790,7 @@ class GeneralLedgerReport(models.AbstractModel): "only_posted_moves": data["only_posted_moves"], "hide_account_at_0": data["hide_account_at_0"], "show_analytic_tags": data["show_analytic_tags"], + "show_cost_center": data["show_cost_center"], "general_ledger": general_ledger, "accounts_data": accounts_data, "partners_data": partners_data, diff --git a/account_financial_report/report/general_ledger_xlsx.py b/account_financial_report/report/general_ledger_xlsx.py index 6cc876b3..ca9ae8db 100644 --- a/account_financial_report/report/general_ledger_xlsx.py +++ b/account_financial_report/report/general_ledger_xlsx.py @@ -21,18 +21,26 @@ class GeneralLedgerXslx(models.AbstractModel): return report_name def _get_report_columns(self, report): - res = { - 0: {"header": _("Date"), "field": "date", "width": 11}, - 1: {"header": _("Entry"), "field": "entry", "width": 18}, - 2: {"header": _("Journal"), "field": "journal", "width": 8}, - 3: {"header": _("Account"), "field": "account", "width": 9}, - 4: {"header": _("Taxes"), "field": "taxes_description", "width": 15}, - 5: {"header": _("Partner"), "field": "partner_name", "width": 25}, - 6: {"header": _("Ref - Label"), "field": "ref_label", "width": 40}, - 7: {"header": _("Cost center"), "field": "cost_center", "width": 15}, - 8: {"header": _("Tags"), "field": "tags", "width": 10}, - 9: {"header": _("Rec."), "field": "rec_name", "width": 15}, - 10: { + res = [ + {"header": _("Date"), "field": "date", "width": 11}, + {"header": _("Entry"), "field": "entry", "width": 18}, + {"header": _("Journal"), "field": "journal", "width": 8}, + {"header": _("Account"), "field": "account", "width": 9}, + {"header": _("Taxes"), "field": "taxes_description", "width": 15}, + {"header": _("Partner"), "field": "partner_name", "width": 25}, + {"header": _("Ref - Label"), "field": "ref_label", "width": 40}, + ] + if report.show_cost_center: + res += [ + {"header": _("Cost center"), "field": "analytic_account", "width": 15}, + ] + if report.show_analytic_tags: + res += [ + {"header": _("Tags"), "field": "tags", "width": 10}, + ] + res += [ + {"header": _("Rec."), "field": "rec_name", "width": 15}, + { "header": _("Debit"), "field": "debit", "field_initial_balance": "initial_debit", @@ -40,7 +48,7 @@ class GeneralLedgerXslx(models.AbstractModel): "type": "amount", "width": 14, }, - 11: { + { "header": _("Credit"), "field": "credit", "field_initial_balance": "initial_credit", @@ -48,7 +56,7 @@ class GeneralLedgerXslx(models.AbstractModel): "type": "amount", "width": 14, }, - 12: { + { "header": _("Cumul. Bal."), "field": "balance", "field_initial_balance": "initial_balance", @@ -56,17 +64,17 @@ class GeneralLedgerXslx(models.AbstractModel): "type": "amount", "width": 14, }, - } + ] if report.foreign_currency: - foreign_currency = { - 13: { + res += [ + { "header": _("Cur."), "field": "currency_name", "field_currency_balance": "currency_name", "type": "currency_name", "width": 7, }, - 14: { + { "header": _("Amount cur."), "field": "bal_curr", "field_initial_balance": "initial_bal_curr", @@ -74,9 +82,11 @@ class GeneralLedgerXslx(models.AbstractModel): "type": "amount_currency", "width": 14, }, - } - res = {**res, **foreign_currency} - return res + ] + res_as_dict = {} + for i, column in enumerate(res): + res_as_dict[i] = column + return res_as_dict def _get_report_filters(self, report): return [ diff --git a/account_financial_report/report/templates/general_ledger.xml b/account_financial_report/report/templates/general_ledger.xml index bd85cfd2..c7b6d92e 100644 --- a/account_financial_report/report/templates/general_ledger.xml +++ b/account_financial_report/report/templates/general_ledger.xml @@ -550,14 +550,14 @@
- +
diff --git a/account_financial_report/wizard/general_ledger_wizard.py b/account_financial_report/wizard/general_ledger_wizard.py index cd254b4d..f2d8aada 100644 --- a/account_financial_report/wizard/general_ledger_wizard.py +++ b/account_financial_report/wizard/general_ledger_wizard.py @@ -87,6 +87,8 @@ class GeneralLedgerReportWizard(models.TransientModel): ) show_partner_details = fields.Boolean(string="Show Partner Details", default=True,) + show_cost_center = fields.Boolean(string="Show Cost Center", default=True,) + @api.onchange("account_code_from", "account_code_to") def on_change_account_range(self): if ( @@ -303,6 +305,7 @@ class GeneralLedgerReportWizard(models.TransientModel): "partner_ids": self.partner_ids.ids, "show_partner_details": self.show_partner_details, "cost_center_ids": self.cost_center_ids.ids, + "show_cost_center": self.show_cost_center, "analytic_tag_ids": self.analytic_tag_ids.ids, "journal_ids": self.account_journal_ids.ids, "centralize": self.centralize, diff --git a/account_financial_report/wizard/general_ledger_wizard_view.xml b/account_financial_report/wizard/general_ledger_wizard_view.xml index a75ee728..c16a4709 100644 --- a/account_financial_report/wizard/general_ledger_wizard_view.xml +++ b/account_financial_report/wizard/general_ledger_wizard_view.xml @@ -30,6 +30,7 @@ +