Grazie.
@api.compute non la conosco. La devo studiare.
Ma ho il sospetto che anche qualcosaltro non funzioni e forse dipende tutto da quello.
In pratica si potrebbe ereditare(_inherit) sulla definizione "product_id_change" che si trova appunto in sale.order.line.
Il problema sta, secondo me, nel fatto che dovrei ereditare anche "product_packaging_change" e "product_packaging_change" che entrambi si trovano in "sale_stock" e che ereditano anch'esse sale.order.line.
Non ho ben capito se per modificarle devo cambiare la UI oppure soprascriverle ereditando da sale.stock.
Perché se le eredito e sovrascrivo direttamente da sale.order.line non succede niente.
Esempio:
class sale_order_line(models.Model): # nel mio modulo
_inherit = 'sale.order.line'
def product_packaging_change(self, pricelist, product, qty=0, uom=False,
partner_id=False, packaging=False, flag=False, context=None):
print "***** self.product_packaging prima *****", self.product_packaging
res = super(sale_order_line, self).product_packaging_change(cr, uid, ids, pricelist, product, qty=qty, uom=uom,
partner_id=partner_id, packaging=packaging, flag=flag, context=context)
print "***** self.product_packaging *****", packaging
print "***** res *****", res
if packaging:
# self.product_uom_qty_tot = self.product_packaging.qty
pass
return res
def product_id_change_with_wh(self, cr, uid, ids, pricelist, product, qty=0,
uom=False, qty_uos=0, uos=False, name='', partner_id=False,
lang=False, update_tax=True, date_order=False, packaging=False, fiscal_position=False, flag=False, warehouse_id=False, context=None):
# context = context or {}
print "***** product_id_change_with_wh *******"
Lo so fa schifo ma rende l'idea. In pratica non succede nulla è come se _inherit non sortisse alcun effetto.
Grazie.