Browse Source

[IMP] account_financial_report:

* filter by analytic_account
pull/660/head
Joan Sisquella 5 years ago
parent
commit
4c0eb0dff5
  1. 8
      account_financial_report/report/general_ledger.py
  2. 110
      account_financial_report/report/general_ledger_xlsx.py
  3. 6
      account_financial_report/report/templates/general_ledger.xml
  4. 5
      account_financial_report/wizard/general_ledger_wizard.py
  5. 1
      account_financial_report/wizard/general_ledger_wizard_view.xml

8
account_financial_report/report/general_ledger.py

@ -303,6 +303,10 @@ class GeneralLedgerReport(models.AbstractModel):
move_line['full_reconcile_id'] 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'] or move_line_data[
'ref'] == '':
@ -399,7 +403,7 @@ class GeneralLedgerReport(models.AbstractModel):
'id', 'name', 'date', 'move_id', 'journal_id', 'account_id',
'partner_id', 'debit', 'credit', 'balance', 'currency_id',
'full_reconcile_id', 'tax_ids', 'analytic_tag_ids',
'amount_currency', 'ref', 'name']
'amount_currency', 'ref', 'name', 'analytic_account_id']
move_lines = self.env['account.move.line'].search_read(
domain=domain,
fields=ml_fields)
@ -595,6 +599,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']
centralized_ml[jnl_id][month]['credit'] += move_line['credit']
@ -696,6 +701,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,

110
account_financial_report/report/general_ledger_xlsx.py

@ -22,59 +22,69 @@ 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'),
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},
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: {'header': _('Debit'),
'field': 'debit',
'field_initial_balance': 'initial_debit',
'field_final_balance': 'final_debit',
'type': 'amount',
'width': 14},
11: {'header': _('Credit'),
'field': 'credit',
'field_initial_balance': 'initial_credit',
'field_final_balance': 'final_credit',
'type': 'amount',
'width': 14},
12: {'header': _('Cumul. Bal.'),
'field': 'balance',
'field_initial_balance': 'initial_balance',
'field_final_balance': 'final_balance',
'type': 'amount',
'width': 14},
}
{'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',
'field_final_balance': 'final_debit',
'type': 'amount',
'width': 14},
{'header': _('Credit'),
'field': 'credit',
'field_initial_balance': 'initial_credit',
'field_final_balance': 'final_credit',
'type': 'amount',
'width': 14},
{'header': _('Cumul. Bal.'),
'field': 'balance',
'field_initial_balance': 'initial_balance',
'field_final_balance': 'final_balance',
'type': 'amount',
'width': 14},
]
if report.foreign_currency:
foreign_currency = {
13: {'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',
'field_final_balance':
'final_bal_curr',
'type': 'amount_currency',
'width': 14},
}
res = {**res, **foreign_currency}
return res
res += [
{'header': _('Cur.'),
'field': 'currency_name',
'field_currency_balance': 'currency_name',
'type': 'currency_name', 'width': 7},
{'header': _('Amount cur.'),
'field': 'bal_curr',
'field_initial_balance':
'initial_bal_curr',
'field_final_balance':
'final_bal_curr',
'type': 'amount_currency',
'width': 14},
]
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 [

6
account_financial_report/report/templates/general_ledger.xml

@ -425,11 +425,11 @@
<t t-if="show_cost_center">
<div class="act_as_cell left">
<t t-set="res_model" t-value="'account.analytic.account'"/>
<span t-if="line.cost_center">
<a t-att-data-active-id="line.move_line_id.analytic_account_id.id"
<span t-if="line['analytic_account_id']">
<a t-att-data-active-id="line['analytic_account_id']"
t-att-data-res-model="res_model"
class="o_account_financial_reports_web_action"
style="color: black;"><t t-raw="line.cost_center"/></a>
style="color: black;"><t t-raw="line['analytic_account']"/></a>
</span>
</div>
</t>

5
account_financial_report/wizard/general_ledger_wizard.py

@ -99,6 +99,10 @@ class GeneralLedgerReportWizard(models.TransientModel):
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):
@ -291,6 +295,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,

1
account_financial_report/wizard/general_ledger_wizard_view.xml

@ -25,6 +25,7 @@
<field name="hide_account_at_0"/>
<field name="foreign_currency"/>
<field name="show_analytic_tags"/>
<field name="show_cost_center"/>
</group>
</group>
<notebook>

Loading…
Cancel
Save