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
- Buchhaltung
- Lager
- PoS
- Project
- MRP
Diese Frage wurde gekennzeichnet
2
Antworten
1371
Ansichten
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
Diskutieren Sie gerne? Treten Sie bei, statt nur zu lesen!
Erstellen Sie heute ein Konto, um exklusive Funktionen zu nutzen und mit unserer tollen Community zu interagieren!
RegistrierenVerknüpfte Beiträge | Antworten | Ansichten | Aktivität | |
---|---|---|---|---|
|
3
Aug. 25
|
260 | ||
|
2
Aug. 25
|
300 | ||
|
0
Aug. 25
|
140 | ||
|
1
Aug. 25
|
463 | ||
|
1
Juli 25
|
815 |