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!
Per favore, non inserire richieste per moduli della 9.0 e successive in quanto il supporto è a pagamento.
Queste richieste devono essere inserite nella sezione dedicata ai partner.

ARGOMENTO: Automatismo seleziona banca su voucher pagamento

Automatismo seleziona banca su voucher pagamento 5 Anni 10 Mesi fa #11160

  • gagarin
  • Avatar di gagarin
  • Offline
  • Expert Boarder
  • Messaggi: 148
  • Karma: 0
ciao a tutti,

sto configurando una istanza openerp di test in modo tale da assegnare una banca specifica a fronte di pagamento fattura cliente in automatico.
In pratica ho aggiunto un campo alla scheda partner che punta ai sezionali (campo "bankjournal", many2one); poi ho creato una azione server che aggiorna l'oggetto "voucher contabile" , mappando il campo "journal" dell'oggetto a " object.partner_id.bankjournal_id.id".

Il problema è che quando salvo il voucher ricevo una lunga lista di errori che si conclude con:

....
....
obj_pool.write(cr, uid, [write_id], res)
File "/data/openerp/production/server/6.1/openerp/addons/base_action_rule/base_action_rule.py", line 201, in wrapper
self.post_action(cr, uid, ids, model, context=context)
File "/data/openerp/production/server/6.1/openerp/addons/base_action_rule/base_action_rule.py", line 172, in post_action
self._action(cr, uid, [rule_id], obj.browse(cr, uid, ids, context=context), context=context)
File "/data/openerp/production/server/6.1/openerp/addons/base_action_rule/base_action_rule.py", line 469, in _action
self.do_action(cr, uid, action, model_obj, obj, context=context)
File "/data/openerp/production/server/6.1/openerp/addons/crm/crm_action_rule.py", line 112, in do_action
super(base_action_rule, self).do_action(cr, uid, action, model_obj, obj, context=context)
File "/data/openerp/production/server/6.1/openerp/addons/base_action_rule/base_action_rule.py", line 394, in do_action
self.pool.get('ir.actions.server').run(cr, uid, [action.server_action_id.id], context)
File "/data/openerp/production/server/6.1/openerp/addons/base/ir/ir_actions.py", line 632, in run
obj_pool = self.pool.get(action.model_id.model)
File "/data/openerp/production/server/6.1/openerp/osv/orm.py", line 476, in __getattr__
return self[name]
File "/data/openerp/production/server/6.1/openerp/osv/orm.py", line 391, in __getitem__
field_values = self._table.read(self._cr, self._uid, ids, field_names, context=self._context, load="_classic_write")
File "/data/openerp/production/server/6.1/openerp/addons/base_calendar/base_calendar.py", line 1709, in read
context=context, load=load)
File "/data/openerp/production/server/6.1/openerp/osv/orm.py", line 3408, in read
self.check_read(cr, user)
File "/data/openerp/production/server/6.1/openerp/osv/orm.py", line 3661, in check_read
return self.check_access_rights(cr, uid, 'read', raise_exception)
File "/data/openerp/production/server/6.1/openerp/osv/orm.py", line 3655, in check_access_rights
return self.pool.get('ir.model.access').check(cr, uid, self._name, operation, raise_exception)
File "/data/openerp/production/server/6.1/openerp/tools/cache.py", line 18, in lookup
r = self.lookup(self2, cr, *args)
File "/data/openerp/production/server/6.1/openerp/tools/cache.py", line 41, in lookup
r = d[key]
File "/data/openerp/production/server/6.1/openerp/tools/func.py", line 35, in wrapper
return func(self, *args, **kwargs)
File "/data/openerp/production/server/6.1/openerp/tools/lru.py", line 38, in __getitem__
self[a[0]] = a[1]
File "/data/openerp/production/server/6.1/openerp/tools/func.py", line 35, in wrapper
return func(self, *args, **kwargs)
File "/data/openerp/production/server/6.1/openerp/tools/lru.py", line 44, in __setitem__
del self[obj]
File "/data/openerp/production/server/6.1/openerp/tools/func.py", line 37, in wrapper
lock.release()
File "/usr/lib/python2.7/threading.py", line 151, in release
self._note("%s.release(): non-final release", self)
RuntimeError: maximum recursion depth exceeded


Sapreste indicarmi dove potrebbe essere il problema? Questa funzionalità contabile potrebbe essere molto utile per chi lavora con enti pubblici, dove la banca ricevente il pagamento dall'ente deve essere una ben precisa.

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

Re:Automatismo seleziona banca su voucher pagamento 5 Anni 10 Mesi fa #11161

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
Sembra ci sia un loop nel programma, python dopo un po' te lo termina avendo raggiunto il numero massimo di cicli.
Bisogna fare un debug per capire dove continua a "girare", caso tipoco è una funzione che continua a richiamare se stessa senza possibilità di uscita (con i cicli for è più difficile), bisogna però leggere il tuo codice per saperlo...
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Automatismo seleziona banca su voucher pagamento 5 Anni 10 Mesi fa #11162

  • gagarin
  • Avatar di gagarin
  • Offline
  • Expert Boarder
  • Messaggi: 148
  • Karma: 0
in realtà non c'è altro codice oltre a " object.partner_id.bankjournal_id.id " nel campo formula della server action.

da notare che se al posto della formula uso un valore il tutto funziona, impostando nel voucher il sezionale con l'id uguale al valore che imposto.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.129 secondi

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

Protected by R Antispam