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: Correzione bug in contabilità analitica

Re:Correzione bug in contabilità analitica 7 Anni 1 Mese fa #6238

  • Xergio
  • Avatar di Xergio
  • Online
  • Gold Boarder
  • Messaggi: 266
  • Ringraziamenti ricevuti 20
  • Karma: 8
Ho fatto l'override, però adesso il metodo viene chiamato due volte:
1 dal l10n_it_sale come normale
2 dal mio come corretto

Credo di dover fare l'override del l10n_it_sale, però non so come fare a richiamarlo invece di richiamare l'originale :pcwhack:
Sergio Corato
efatto.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Correzione bug in contabilità analitica 7 Anni 1 Mese fa #6241

  • angedras
  • Avatar di angedras
  • Offline
  • Platinum Boarder
  • Messaggi: 330
  • Ringraziamenti ricevuti 4
  • Karma: 10
Ciao

potresti fare così: importare nel tuo modulo il modulo che stai ereditando e nel metodo super richiamare quello. Ti faccio un esempio

supponiamo tu debba estendere il metodo write della classe document_file
class document_file_new(osv.osv):
    _inherit = 'ir.attachment'

importi quindi il modulo padre document_file che a suo volta eredita 'ir.attachment'
from document.document import document_file

e poi fai override del tuo metodo
    def write(self, cr, uid, ids, vals, context=None):
        res=self.search(cr,uid,[('id','in',ids)])

        -- do something here --

        result = super(document_file,self).write(cr,uid,ids,vals,context=context)
        cr.commit()

        -- do something here --

        return result

A presto
R.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Correzione bug in contabilità analitica 7 Anni 1 Mese fa #6242

  • eLBati
  • Avatar di eLBati
  • Online
  • Platinum Boarder
  • Messaggi: 1766
  • Ringraziamenti ricevuti 186
  • Karma: 38
Credo sia sufficiente fare
class document_file_new(osv.osv):

    _inherit = 'ir.attachment'

    def write(self, cr, uid, ids, vals, context=None):

        -- do something here --

        result = super(document_file_new,self).write(cr,uid,ids,vals,context=context)

        -- do something here --

        return result

document_file_new()
Lorenzo Battistini
github.com/eLBati

TAKOBI
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Correzione bug in contabilità analitica 7 Anni 1 Mese fa #6243

  • angedras
  • Avatar di angedras
  • Offline
  • Platinum Boarder
  • Messaggi: 330
  • Ringraziamenti ricevuti 4
  • Karma: 10
Però così fai l'override del metodo write del padre (document_file) e non del 'nonno' (ir_attachment) :lol:

R.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Correzione bug in contabilità analitica 7 Anni 1 Mese fa #6244

  • eLBati
  • Avatar di eLBati
  • Online
  • Platinum Boarder
  • Messaggi: 1766
  • Ringraziamenti ricevuti 186
  • Karma: 38
Cioè si vorrebbe evitare l'esecuzione del metodo write del padre? :chin:
A che pro?
Lorenzo Battistini
github.com/eLBati

TAKOBI
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Correzione bug in contabilità analitica 7 Anni 1 Mese fa #6245

  • angedras
  • Avatar di angedras
  • Offline
  • Platinum Boarder
  • Messaggi: 330
  • Ringraziamenti ricevuti 4
  • Karma: 10
Ops, forse non ho centrato il problema!
tempo fa mi ero trovato in una situazione in cui dovevo bypassare il metodo del padre e richiamare quello della classe ancora superiore.. Pensavo che il problema fosse analogo

R.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.140 secondi

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

Protected by R Antispam