跳至内容
菜单
此问题已终结
1 回复
1001 查看

I have an Integer field in my account.move.line model and I want this field to display the number of the products. For e.g. for the first product, it will be 1, the second product will be 2, the tenth product will be 10 and so on (basically increment of 1) How can I achieve this using odoo studio?


形象
丢弃
最佳答案

So you basically want to create serial number for the line items right?

Edited:

This can be done by an onchange function on account move. assuming your field on account move line is 'serial_number ', 
class AccountMoveLine(models.Model):

 _inherit = 'account.move.line' 

serial_number = fields.Integer(string='Serial Number', compute='_compute_serial_number', store=True) 

@api.depends('move_id') 

def _compute_serial_number(self): 

for line in self: 

if line.move_id: 

lines = line.move_id.line_ids.sorted(key=lambda r: r.create_date)

line.serial_number = lines.ids.index(line.id) + 1

形象
丢弃
编写者

Hello,
Yes.