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