Skip to Content
Menu
Dette spørgsmål er blevet anmeldt
2 Besvarelser
1329 Visninger
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'


Avatar
Kassér
Bedste svar

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

Avatar
Kassér
Bedste svar

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

Avatar
Kassér
Related Posts Besvarelser Visninger Aktivitet
1
aug. 25
224
1
jul. 25
683
2
jul. 25
851
1
jul. 25
704
1
jul. 25
676