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

Responder a