Skip to Content
Menú
This question has been flagged
1 Respondre
3594 Vistes

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
Descartar
Best Answer

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
Descartar
Related Posts Respostes Vistes Activitat
0
de des. 18
13
1
de maig 16
4507
1
de set. 23
6581
1
d’ag. 22
7942
5
de març 22
19460