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

ARGOMENTO: Confronto con i valori prima dell'aggiornamento

Confronto con i valori prima dell'aggiornamento 6 Anni 3 Settimane fa #10133

  • michele74c
  • Avatar di michele74c
  • Offline
  • Fresh Boarder
  • Messaggi: 6
  • Karma: 0
Buongiorno,
è da poco tempo che ho iniziato a valurare le funzionalità e le modalità di sviluppo di OpenERP.
Ho l'esigenza di implementare ulteriori campi sull'oggetto product_product.
Aggiungere campi che ricevano un valore dal form di inserimento e modifica sembra una cosa abbastanza semplice, ma non riesco a trovare il modo di gestirne uno il cui valore dipenda dal confronto dei valori di altri appena modificati con quelli precedenti al salvataggio.
Ad esempio, se volessi aggiungere un campo che conservi la data della variazione della descrizione del prodotto, dovrei poter confrontare quella dell'oggetto 'a video' con quella del database.
Ma usando un campo funzione e self.browse(cr, uid, ids ,context) per cercare l'oggetto mi ritrovo con la descrizione già aggiornata.
Avrei, cioè, bisogno di poter accedere ai dati prima del salvataggio da parte dell'ORM sul database per poter fare questo confronto.
E' questo l'approccio corretto per implementare questo tipo di gestione?

Grazie in anticipo per l'attenzione.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Confronto con i valori prima dell'aggiornamento 6 Anni 3 Settimane fa #10136

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
penso ti possa convenire fare un override del metodo write, così prima della scrittura hai sia i dati vecchi che quelli nuovi che stai per scrivere.
Davide Corio
Odoo Solution Architect
email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
web: www.davidecorio.com
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Confronto con i valori prima dell'aggiornamento 6 Anni 3 Settimane fa #10137

  • michele74c
  • Avatar di michele74c
  • Offline
  • Fresh Boarder
  • Messaggi: 6
  • Karma: 0
Grazie per la risposta,
stavo cominciando proprio a percorrere questa strada.
Aggiorno il forum in caso di novità.
Buona giornata.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Confronto con i valori prima dell'aggiornamento 6 Anni 3 Settimane fa #10234

  • michele74c
  • Avatar di michele74c
  • Offline
  • Fresh Boarder
  • Messaggi: 6
  • Karma: 0
Buongiorno a tutti,

volevo aggiornare il forum del fatto che l'override del metodo Write ha funzionato per questo caso.
Vorrei solo condividere il dubbio su cosa potrebbe accadere nel caso ci fosse un'ulteriore override da parte di altri moduli dello stesso metodo. Quale istanza della classe verrebbe utilizzata?

Grazie di nuovo per la risposta risulutiva.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Confronto con i valori prima dell'aggiornamento 6 Anni 3 Settimane fa #10239

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
ogni volta che fai l'override di un medoto devi poi "passare la palla" allo stesso metodo, ovvero fare:
return super(nome_classe, self).write(cr, uid, ids, vals, context=context)

facendo così tutte le classi che fanno l'override di quel metodo avranno la possibilità di manipolare i valori.

Ovviamente, facendo così hai solo la possibilità di intervenire sui parametri che finiscono in vals e context e non puoi modificare drasticamente la logica del metodo.
Davide Corio
Odoo Solution Architect
email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
web: www.davidecorio.com
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.139 secondi

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

Protected by R Antispam