[IMP] commission_simple: add total base amount in view and XLSX report

This commit is contained in:
Alexis de Lattre
2025-09-05 09:29:00 +00:00
parent ffb031de12
commit dc00366d80
3 changed files with 17 additions and 8 deletions

View File

@@ -32,7 +32,10 @@ class CommissionResult(models.Model):
states={'done': [('readonly', True)]})
amount_total = fields.Monetary(
string='Commission Total', currency_field='company_currency_id',
compute='_compute_amount_total', store=True, tracking=True)
compute='_compute_totals', store=True, tracking=True)
base_total = fields.Monetary(
string="Commission Base Total", currency_field='company_currency_id',
compute='_compute_totals', store=True, tracking=True)
state = fields.Selection([
('draft', 'Draft'),
('done', 'Done'),
@@ -44,12 +47,13 @@ class CommissionResult(models.Model):
def _assign_type_selection(self):
return self.env['commission.profile.assignment']._assign_type_selection()
@api.depends('line_ids.commission_amount')
def _compute_amount_total(self):
rg_res = self.env['account.move.line'].read_group([('commission_result_id', 'in', self.ids)], ['commission_result_id', 'commission_amount:sum'], ['commission_result_id'])
mapped_data = dict([(x['commission_result_id'][0], x['commission_amount']) for x in rg_res])
@api.depends('line_ids.commission_amount', 'line_ids.commission_base')
def _compute_totals(self):
rg_res = self.env['account.move.line'].read_group([('commission_result_id', 'in', self.ids)], ['commission_result_id', 'commission_amount:sum', 'commission_base:sum'], ['commission_result_id'])
mapped_data = dict([(x['commission_result_id'][0], {'amount': x['commission_amount'], 'base': x['commission_base']}) for x in rg_res])
for rec in self:
rec.amount_total = mapped_data.get(rec.id, 0)
rec.amount_total = mapped_data.get(rec.id, {}).get('amount')
rec.base_total = mapped_data.get(rec.id, {}).get('base')
def unlink(self):
for result in self: