Alla fine ho cambiato un po' strategia. Ho visto che ridefinendo il campo default_code in product.template poi non mi permette più di modificarlo nella vista, così ho creato un nuovo campo.
Il problema è che non mi carica mai il valore nel campo. Se mi metto in debug sembra che non richiami mai la funzione.
Scusa.. non riesco a capire il perchè..
def _compute(self,cr,uid,ids,name,arg,context=None):
res = {}
tmpl_obj=self.pool.get('product.template')
for tmpl in tmpl_obj.browse(cr,uid,ids):
statement="SELECT default_code FROM product_product where product_tmpl_id ="+tmpl.id
cr.execute(statement)
item= cr.fetchone()
if item:
res[tmpl.id]=item[0]
#res[tmpl.id]='prova'
return res
_columns = {
'cod_art':fields.function(_compute, type="char",string='Rif.Interno',method=True,store=True),
}