class ResPartner(models.Model):
_inherit = 'res.partner'
type_customer = fields.Selection([('normal','Normal'), ('gold', 'Gold')], string='Type customer', default=type_cus[0][0])
@api.depends('total_invoiced')
def _compute_type_customer(self):
for rec in self:
if rec.total_invoiced > 1000:
rec.type_customer = 'Gold'
else:
rec.type_customer = 'Normal'
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Comptabilitat
- Inventari
- PoS
- Project
- MRP
This question has been flagged
2
Respostes
1324
Vistes
Hi,
To change the value of the field type_customer according to the total_invoice amount.Updated the code like this:
class ResPartner(models.Model):
_inherit = 'res.partner'
type_customer = fields.Selection([('normal', 'Normal'), ('gold', 'Gold')], string='Type customer', compute='_compute_type_customer')
def _compute_type_customer(self):
for rec in self:
total_invoiced = sum(rec.env['account.move'].browse(rec.id).mapped('amount_total_signed'))
if total_invoiced > 1000:
rec.type_customer = 'Gold'
else:
rec.type_customer = 'Normal'
Regards
Hi,
To get the total invoiced amount of the customer, you can read it from account.move.line using the search orm with proper domain in search function.
domain = []
self.env['account.move.line'].search(domain)
Thanks
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Registrar-seRelated Posts | Respostes | Vistes | Activitat | |
---|---|---|---|---|
|
1
d’ag. 25
|
157 | ||
|
1
de jul. 25
|
647 | ||
|
2
de jul. 25
|
826 | ||
|
1
de jul. 25
|
678 | ||
|
1
de jul. 25
|
654 |