Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
2 Ответы
1382 Представления
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'


Аватар
Отменить
Лучший ответ

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

Аватар
Отменить
Related Posts Ответы Просмотры Активность
3
авг. 25
273
2
авг. 25
311
0
авг. 25
143
1
авг. 25
470
1
июл. 25
819