Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
1340 Lượt xem
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'


Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 8 25
325
1
thg 7 25
721
2
thg 7 25
866
1
thg 7 25
729
1
thg 7 25
699