2014-02-04 Moises Escusa <moi...@calidae.com>: > Hola Guillem: > > De la manera correcta sería así: > > work.py # Te pongo la función original. > > def _group_lines_to_invoice_key(self, line): > "The key to group lines" > return (('product', line['product']), > ('unit_price', line['unit_price']), > ('description', line['description'])) > > .py # Función de la clase que hereda (Aqui he provado varias cosas, como > poner super(etc...) y no me modifica la original > def _group_lines_to_invoice_key(self, line): > "The key to group lines" > return (('product', line['product']), > ('unit_price', line['unit_price']), > ('description', 'descripción modificada manualmente')) > > __init__.py # de la clase derivada > from trytond.pool import Pool > from .project_change_invoice import * > > > def register(): > Pool.register( > ProjectChangeInvoice, >
Hola Moises, perdona que mi intrusión. Creo que no estás heredando de la clase que corresponde, o por lo menos, que no lo estás haciendo correctamente. En tus mensajes no he conseguido encontrar la clase que contiene el método que quieres sobrecargar. Deberías heredar primero la clase, y dentro de la misma, sobrecargar el método. Algo así: class Work: __name__ = 'project.work' def _group_lines_to_invoice_key(self, line): res = super(Work, self)._group_lines_to_invoice_key(line) <tu código> return res Y en el fichero __init__.py registrar Work en lugar de ProjectChangeInvoice. module='project_change_invoice', type_='model') > > tryton.cfg # de la clase derivada > [tryton] > version=3.0.0 > depends: > ir > project > xml: > project_change_invoice.xml > > > Gracias. > > > <http://www.calidae.net> > Sistemes i Xarxes Inf. Calidae, S.L. > www.calidae.com <http://www.calidae.net/> > tel +34 938654433 fax +34 938651973 > C/ Font i Boet, 10 > 08140 - Caldes de Montbui > > Aquest correu és confidencial, llegiu-ne l' advertiment > legal<http://www.calidae.net/disclaimer/> > Este correo es confidencial, lea la advertencia > legal<http://www.calidae.net/disclaimer/> > This is a confidential email, please read the legal > disclaimer<http://www.calidae.net/disclaimer/> > -- Jesús Martín Zikzakmedia SL Dr. Fleming, 28, baixos 08720 Vilafranca del Penedès ☏ 93 890 21 08