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: Problema Generazione Fatture per Raggruppamento

Problema Generazione Fatture per Raggruppamento 3 Anni 10 Mesi fa #20089

  • Alessius80
  • Avatar di Alessius80
  • Offline
  • Gold Boarder
  • Messaggi: 193
  • Ringraziamenti ricevuti 1
  • Karma: 0
Buongiorno,

ho provato a generare le fatture raggruppate, ma mi ha dato questo errore:

Qualcunnno può aiutarmi

lient Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/openerp/addons/web/http.py", line 204, in dispatch
response["result"] = method(self, **self.params)
File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 1137, in call_button
action = self._call_kw(req, model, method, args, {})
File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 1125, in _call_kw
return getattr(req.session.model(model), method)(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/web/session.py", line 42, in proxy
result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw)
File "/usr/lib/python2.7/dist-packages/openerp/addons/web/session.py", line 30, in proxy_method
result = self.session.send(self.service_name, method, *args)
File "/usr/lib/python2.7/dist-packages/openerp/addons/web/session.py", line 103, in send
raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)


Server Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/openerp/addons/web/session.py", line 89, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/usr/lib/python2.7/dist-packages/openerp/netsvc.py", line 296, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/usr/lib/python2.7/dist-packages/openerp/service/web_services.py", line 632, in dispatch
res = fn(db, uid, *params)
File "/usr/lib/python2.7/dist-packages/openerp/osv/osv.py", line 190, in execute_kw
return self.execute(db, uid, obj, method, *args, **kw or {})
File "/usr/lib/python2.7/dist-packages/openerp/osv/osv.py", line 132, in wrapper
return f(self, dbname, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/osv/osv.py", line 199, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/osv/osv.py", line 187, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/addons/sale/wizard/sale_make_invoice.py", line 66, in make_invoices
wf_service.trg_validate(uid, 'sale.order', id, 'manual_invoice', cr)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/wkf_service.py", line 119, in trg_validate
res2 = instance.validate(cr, id, ident, signal)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/instance.py", line 43, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 60, in process
ok = _split_test(cr, workitem, activity, ident, signal, stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 40, in create
process(cr, res, ident, stack=stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 52, in process
result = _execute(cr, workitem, activity, ident, stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 127, in _execute
id_new = wkf_expr.execute(cr, ident, workitem, activity)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/wkf_expr.py", line 67, in execute
return _eval_expr(cr, ident, workitem, activity)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
ret = eval(line, env, nocopy=True)
File "/usr/lib/python2.7/dist-packages/openerp/tools/safe_eval.py", line 288, in safe_eval
return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
File "", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/openerp/osv/orm.py", line 378, in function_proxy
return attr(self._cr, self._uid, [self._id], *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/picking_invoice_rel/sale.py", line 30, in action_invoice_create
res = super(sale_order, self).action_invoice_create(cr, uid, ids, grouped, states, date_invoice, context)
File "/usr/lib/python2.7/dist-packages/openerp/addons/sale_stock/sale_stock.py", line 193, in action_invoice_create
res = super(sale_order,self).action_invoice_create( cr, uid, ids, grouped=grouped, states=states, date_invoice = date_invoice, context=context)
File "/usr/lib/python2.7/dist-packages/openerp/addons/sale/sale.py", line 516, in action_invoice_create
created_lines = obj_sale_order_line.invoice_line_create(cr, uid, lines)
File "/usr/lib/python2.7/dist-packages/openerp/addons/sale_commission/sale_order.py", line 160, in invoice_line_create
so_ref = self.browse(cr, uid, ids)[0].order_id
IndexError: list index out of range
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Problema Generazione Fatture per Raggruppamento 3 Anni 10 Mesi fa #20132

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
è un bug tipico di quando viene passato ids come intero al posto di una lista o tupla... se non hai fatto customizzazioni (e sei aggiornato) bisogna segnalare il bug del modulo...
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Problema Generazione Fatture per Raggruppamento 3 Anni 10 Mesi fa #20145

  • Alessius80
  • Avatar di Alessius80
  • Offline
  • Gold Boarder
  • Messaggi: 193
  • Ringraziamenti ricevuti 1
  • Karma: 0
Dalla tua esperienza.

il modulo interessato è questo?

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

Problema Generazione Fatture per Raggruppamento 3 Anni 10 Mesi fa #20169

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
Quello che scatena l'errore è sicuramente quello. Diciamo che per renderlo più robusto a chiamate di questo tipo basterebbe mettere una riga di codice prima, es.:
if type(ids) not in (list, tuple):
    ids = [ids]


tendenzialmente prima del controllo che fa alla gira 160:

/usr/lib/python2.7/dist-packages/openerp/addons/sale_commission/sale_order.py", line 160

meglio se all'inizio del metodo
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Problema Generazione Fatture per Raggruppamento 3 Anni 10 Mesi fa #20199

  • Alessius80
  • Avatar di Alessius80
  • Offline
  • Gold Boarder
  • Messaggi: 193
  • Ringraziamenti ricevuti 1
  • Karma: 0
Ciao Nico,

grazie per l'aiuto, purtroppo non son oriuscito a risolvere, o meglio funziona solo se disinstallo il modulo "sale_commission".

Ho aggiunto

if type(ids) not in (list, tuple):
ids = [ids]

Se aggiungo questa if non riesco più a confermare un preventivo in ordine, di seguito la classe modificata e l'errore che si genera.

come tu mi hai detto precisamente di seguito la classe

class sale_order_line(orm.Model):
"""Modificamos las lineas ventas para incluir las comisiones en las facturas creadas desde ventas"""

_inherit = "sale.order.line"

def invoice_line_create(self, cr, uid, ids, context=None):
if type(ids) not in (list, tuple):
ids = [ids]

if context is None:
context = {}
invoice_line_pool = self.pool.get('account.invoice.line')
invoice_line_agent_pool = self.pool.get('invoice.line.agent')
res = super(sale_order_line, self).invoice_line_create(cr, uid, ids, context)
so_ref = self.browse(cr, uid, ids)[0].order_id
for so_agent_id in so_ref.sale_agent_ids:
inv_lines = invoice_line_pool.browse(cr, uid, res, context=context)
for inv_line in inv_lines:
if inv_line.product_id and inv_line.product_id.commission_exent is not True:
vals = {
'invoice_line_id': inv_line.id,
'agent_id': so_agent_id.agent_id.id,
'commission_id': so_agent_id.commission_id.id,
'settled': False
}
line_agent_id = invoice_line_agent_pool.create(cr, uid, vals, context=context)
invoice_line_agent_pool.calculate_commission(cr, uid, [line_agent_id], context=context)
return res



Server Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/openerp/addons/web/session.py", line 89, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/usr/lib/python2.7/dist-packages/openerp/netsvc.py", line 296, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/usr/lib/python2.7/dist-packages/openerp/service/web_services.py", line 632, in dispatch
res = fn(db, uid, *params)
File "/usr/lib/python2.7/dist-packages/openerp/osv/osv.py", line 190, in execute_kw
return self.execute(db, uid, obj, method, *args, **kw or {})
File "/usr/lib/python2.7/dist-packages/openerp/osv/osv.py", line 132, in wrapper
return f(self, dbname, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/osv/osv.py", line 199, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/osv/osv.py", line 187, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/addons/portal_sale/portal_sale.py", line 65, in action_button_confirm
return super(sale_order, self).action_button_confirm(cr, uid, ids, context=context)
File "/usr/lib/python2.7/dist-packages/openerp/addons/sale/sale.py", line 583, in action_button_confirm
wf_service.trg_validate(uid, 'sale.order', ids[0], 'order_confirm', cr)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/wkf_service.py", line 119, in trg_validate
res2 = instance.validate(cr, id, ident, signal)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/instance.py", line 43, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 60, in process
ok = _split_test(cr, workitem, activity, ident, signal, stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 40, in create
process(cr, res, ident, stack=stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 60, in process
ok = _split_test(cr, workitem, activity, ident, signal, stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 40, in create
process(cr, res, ident, stack=stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 60, in process
ok = _split_test(cr, workitem, activity, ident, signal, stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 40, in create
process(cr, res, ident, stack=stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 52, in process
result = _execute(cr, workitem, activity, ident, stack)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 106, in _execute
returned_action = wkf_expr.execute(cr, ident, workitem, activity)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/wkf_expr.py", line 67, in execute
return _eval_expr(cr, ident, workitem, activity)
File "/usr/lib/python2.7/dist-packages/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
ret = eval(line, env, nocopy=True)
File "/usr/lib/python2.7/dist-packages/openerp/tools/safe_eval.py", line 288, in safe_eval
return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
File "", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/openerp/osv/orm.py", line 378, in function_proxy
return attr(self._cr, self._uid, [self._id], *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/sale_commission/sale_order.py", line 140, in action_ship_create
res = super(sale_order, self).action_ship_create(cr, uid, ids, context=context)
TypeError: action_ship_create() got an unexpected keyword argument 'context'
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.144 secondi

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

Protected by R Antispam