Questo sito utilizza cookie per le proprie funzionalità e per inviarti pubblicità e servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.

Accedendo al link http://www.odoo-italia.org/index.php/home/cookie-policy puoi leggere in dettaglio le modalità di trattamento dei cookie da parte dell'Associazione Odoo Italia.

Benvenuto, Ospite
Nome utente: Password: Ricordami
Ricordati di dichiarare la versione di Odoo a cui riferisce la domanda

ARGOMENTO: Ordinamento in vista

Ordinamento in vista 3 Anni 11 Mesi fa #19801

  • Sara
  • Avatar di Sara
  • Offline
  • Expert Boarder
  • Messaggi: 98
  • Karma: 1
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),
}
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Ordinamento in vista 3 Anni 11 Mesi fa #19803

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
A parte qualche nota tecnica mi sembra corretto, in che oggetto ti trovi (campo _name)
def _compute_codart(self,cr,uid,ids,name,arg,context=None):
   res = {}
   for tmpl in ids:
        statement = "SELECT default_code FROM product_product where product_tmpl_id = " + tmpl
        cr.execute(statement)
        item = cr.fetchone()
        if item:
             res[tmpl] = item[0]
        else:
             res[tmpl] = False
return res

_columns = {
    'cod_art': fields.function(_compute_codart, type="char",string='Rif.Interno', method=True, store=True),
}
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Ordinamento in vista 3 Anni 11 Mesi fa #19804

  • Sara
  • Avatar di Sara
  • Offline
  • Expert Boarder
  • Messaggi: 98
  • Karma: 1
Sono in product.template
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Ordinamento in vista 3 Anni 11 Mesi fa #19805

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
mettendo un pdb prima di res = {} non si ferma?
se hai riavviato il serverizio e aggiornato il modulo dovrebbe passare...
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Ordinamento in vista 3 Anni 11 Mesi fa #19812

  • Sara
  • Avatar di Sara
  • Offline
  • Expert Boarder
  • Messaggi: 98
  • Karma: 1
Si ok funziona adesso, avevo ancora una modifichina da fare. E poi si aggiorna il campo solo se modifico il dato nell'articolo.... pensavo che funzionasse sempre... forse perchè ho sempre usato i campi function non memorizzati.
Comunque ora è ok.
Grazie mille dell'aiuto
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Ordinamento in vista 3 Anni 11 Mesi fa #19814

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
Rispetto allo store=True è meglio quello che ti ho girato nel memento, il concetto è che dici a odoo di aggiornarti il valore (in product.template) del campo function quando ci sono delle variazioni nell'oggetto (product.product) e nei campi indicati (default_code), la procedura ritorna poi una lista di ID che richiedono l'aggiornamento
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.137 secondi

Odoo Italia Associazione - C.F: 94200470485 - Sede: Viale dei Cadorna, 83 - Firenze - Italy

Protected by R Antispam