On 23 de setembre de 2017 1.32.21 CEST, "Josias Pérez" <[email protected]> wrote:
> def on_change_product(self):
>        res = {}
>        res['lines'] = {}
>        if self.lines:
>Tengo problemas en esta línea 
>            res['lines']['remove'] = [x['id'] for x in self.lines]
>
>        if not self.product:
>            return res
>
>         name = self.product+'%'
>         products = Product.search([('name', 'ilike', name)])
>         for p in products:
>                
>                product_line = {
>                    'product': p.id,
>                    'precio_venta':p.list_price,
>                }
>Y en esta también
>           res['lines'].setdefault('add', []).append((0, product_line))
>
>Quiero que al efectuar un on_change en un campo me actualice un campo 
>one2many, estoy en la versión 4.4
>

En la version 4.4 los on_change ya no tienen que devolver un diccionario sino 
que tienes que modificar directamente la instancia con ActiveRecord. Seria algo 
como:

self.lines = []

for p in products:
   line = Line()
   line.product = product
   ....
   self.lines.append(line)

I ya lo tendrias. Asegurate de que el metodo no devuelva nada, sino que 
simplemente modifique la instancia.
>Desde ya muchas gracias 

Espero que te servia de ayuda.

Saludos,
>
>El miércoles, 20 de septiembre de 2017, 1:24:11 (UTC-6), Sergi
>Almacellas 
>Abellana escribió:
>>
>> El 19/09/17 a les 23:29, Josias Pérez ha escrit: 
>> > No me funciona el código, alguna actualización? Gracias. 
>> En que version de tryton trabajas? 
>>
>> Que intentas hacer? 
>>
>> Si nos das mas información quizás te podamos ayudar con mas detalle. 
>>
>> Un saludo, 
>>
>> -- 
>> Sergi Almacellas Abellana 
>> www.koolpi.com 
>> Twitter: @pokoli_srk 
>>

-- 
Enviado desde mi dispositivo Android con K-9 Mail. Por favor, disculpa mi 
brevedad.

Responder a