diff --git a/addons/account/report/account_partner_balance.py b/addons/account/report/account_partner_balance.py index 55c9d7b89cc..5d6788f240c 100644 --- a/addons/account/report/account_partner_balance.py +++ b/addons/account/report/account_partner_balance.py @@ -100,10 +100,11 @@ class partner_balance(report_sxw.rml_parse, common_report_header): ## Compute Code # self.initial_balance = data['form'].get('initial_balance', True) + self.display_partner = data['form'].get('display_partner', 'non-zero_balance') self.query = data['form'].get('query_line', '') self.init_query = data['form'].get('initial_bal_query', '') self.result_selection = data['form'].get('result_selection') - + if (self.result_selection == 'customer' ): self.ACCOUNT_TYPE = ('receivable',) elif (self.result_selection == 'supplier'): @@ -205,9 +206,12 @@ class partner_balance(report_sxw.rml_parse, common_report_header): res_init['enlitige'] = 0.0 # fix me res_init['account_id'] = r['account_id'] final_init[r['account_id']] = res_init - for r in res: - full_account.append(r) - + + if self.display_partner == 'non-zero_balance': + full_account = [r for r in res if r['sdebit'] > 0 or r['scredit'] > 0] + else: + full_account = [r for r in res] + ## We will now compute Total subtotal_row = self._add_subtotal(full_account) if not self.initial_balance: diff --git a/addons/account/wizard/account_report_partner_balance.py b/addons/account/wizard/account_report_partner_balance.py index cadce66a831..819889b5128 100644 --- a/addons/account/wizard/account_report_partner_balance.py +++ b/addons/account/wizard/account_report_partner_balance.py @@ -31,16 +31,19 @@ class account_partner_balance(osv.osv_memory): _columns = { 'initial_balance': fields.boolean('Include Initial Balances' ,help='It adds initial balance row on report which display previous sum amount of debit/credit/balance'), + 'display_partner': fields.selection([('non-zero_balance', 'With balance is not equal to 0'), ('all', 'All Partners')] + ,'Display Partners') } _defaults = { 'initial_balance': True, + 'display_partner': 'non-zero_balance' } def _print_report(self, cr, uid, ids, data, query_line, context=None): if context is None: context = {} data = self.pre_print_report(cr, uid, ids, data, query_line, context=context) - data['form'].update(self.read(cr, uid, ids, ['initial_balance'])[0]) + data['form'].update(self.read(cr, uid, ids, ['initial_balance', 'display_partner'])[0]) return { 'type': 'ir.actions.report.xml', 'report_name': 'account.partner.balance', diff --git a/addons/account/wizard/account_report_partner_balance_view.xml b/addons/account/wizard/account_report_partner_balance_view.xml index 72e94b767c3..dc75d032329 100644 --- a/addons/account/wizard/account_report_partner_balance_view.xml +++ b/addons/account/wizard/account_report_partner_balance_view.xml @@ -11,6 +11,7 @@ +