Buenas,

Estoy trabajando en un modulo, que en un momento dado puede generar una 
factura a través de un wizard.

Esto es parte del código:

    creator = StateView('account.invoice',
        'account_invoice.invoice_view_form', [
            Button('Cancel', 'end', 'tryton-cancel'),
            Button('Ok', 'generar', 'tryton-ok', True),
            ])


def default_creator(self, fields):
        Tiquet = Pool().get('tiquets.tiquets')
        tiquets = Tiquet.browse(Transaction().context.get('active_ids'))
        tiquet_actual = tiquets[0]

        Config = Pool().get('tiquets.config')
        configs = Config.search(domain=[('id', '>', '0')])
        numConfig = len(configs)
        if numConfig == 0:
            return {}
        else:
            producte = configs[0].repair_product

        party = tiquet_actual.party
        sale_price_list = None
        ctx = {}
        if hasattr(party, 'sale_price_list'):
            sale_price_list = party.sale_price_list

        if sale_price_list:
            ctx['price_list'] = int(sale_price_list.id)
            ctx['sale_date'] = datetime.date.today()
            ctx['customer'] = party.id

        if sale_price_list:
            with Transaction().set_context(ctx):
                up = sale_price_list.compute(party,
                producte, producte.list_price,
                float(tiquet_actual.inv_hours), producte.default_uom)
        else:
            up = producte.list_price

        print up

        new_line = {'type': 'line',
                    'invoice_type':'out_invoice',
                    'product': producte.id,
                    'account': producte.template.account_revenue_used.id,
                    'unit': producte.default_uom.id, # hores
                    'unit_price': up, #Does not work, why ?
                    'description': tiquet_actual.description_res,
                    'quantity': float(tiquet_actual.inv_hours),
                    }

        defaults =  {'party': tiquet_actual.party.id,
                    'type': 'out_invoice',
                    'state': 'draft',
                    'lines': [new_line]}

        return defaults

Todo funciona correctamente, se puede crear la factura,etc
El único problema que no puedo resolver es:

En caso que el tercero tenga una tarifa de ese producto, el precio unitario 
de la linea de factura no cambia.
En la variable con nombre up el precio unitario es el correcto lo único que 
creo que recalcula el precio igualmente (y lo hace mal).

¿Cual creeis que es la mejor forma de abarcar el problema?

Gracias de antemano!

Un saludo,

-- 

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/>

Responder a