Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
3598 Lượt xem

Hello I am trying to make an on change. Everything is ok, The field call the method and all. BUt when this had that feed another field this give me error:

I am trying to feed a relational(Many2one) with the results of a query. Here is my code:

    

    invoice = fields.Many2one('account.invoice', string='Factura')
    client = fields.Many2one('res.partner', string='Cliente', domain=[('customer', '=', True)])

    @api.onchange('client')
    def _searchInvoice(self):
        if self.client is not None:
            invoice = self.env['account.invoice'].search([('type', '=', 'out_invoice'),
                                                           ('partner_id', '=', self.client.id)])
            self.invoice = invoice

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

Hi, there is some troubles in your code :

0) names field should be invoice_id and partner_id instead invoice and client.

1) You define 2 fields many2one and a search on account_invoice objet with domain partner_id => a partner has just one invoice ? Is there a reference between current objet and acccount_invoice to add in search domain to get maximum one id in the returned list by the search ? If not,, you should use a one2many field type for account_invoice relation, the name of the field will be invoice_ids instead invoice in this case.

2) a search return a list of id, with your code you try to set a list in a many2one, it is not possible, you must set an id.

Bye

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
0
thg 12 18
13
1
thg 5 16
4507
1
thg 9 23
6581
1
thg 8 22
7944
5
thg 3 22
19464