İçereği Atla
Menü
Bu soru işaretlendi
1 Cevapla
3610 Görünümler

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

Avatar
Vazgeç
En İyi Yanı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

Avatar
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
0
Ara 18
13
1
May 16
4511
1
Eyl 23
6582
1
Ağu 22
7960
5
Mar 22
19472