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: Fattura da Ordine con Servizi e Prodotti

Fattura da Ordine con Servizi e Prodotti 4 Anni 9 Mesi fa #16569

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

ho questo problema:

Se ho un Ordine i cui item sono:

1/n Prodotto/i
1/n Servizio/i

Quando provo a generare la fattura passando ovviamente tra i vari TAB Ordine di consegna e Crea Fattura.

all'atto della creazione della fattura mi compare l'errore in allegato ch e qui estrapolo nel contenuto:

Server Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/openerp/addons/web/session.py", line 89, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/usr/lib/pymodules/python2.7/openerp/netsvc.py", line 292, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/usr/lib/pymodules/python2.7/openerp/service/web_services.py", line 626, in dispatch
res = fn(db, uid, *params)
File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 190, in execute_kw
return self.execute(db, uid, obj, method, *args, **kw or {})
File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 132, in wrapper
return f(self, dbname, *args, **kwargs)
File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 199, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 187, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/usr/lib/pymodules/python2.7/openerp/addons/stock/wizard/stock_invoice_onshipping.py", line 106, in open_invoice
res = self.create_invoice(cr, uid, ids, context=context)
File "/usr/lib/pymodules/python2.7/openerp/addons/stock/wizard/stock_invoice_onshipping.py", line 146, in create_invoice
context=context)
File "/usr/lib/pymodules/python2.7/openerp/addons/extension_sale/extension_sale_stock.py", line 19, in action_invoice_create
res = super(my_stock_picking_out, self).action_invoice_create(cursor, user, ids, journal_id, group, type, context)
File "/usr/lib/pymodules/python2.7/openerp/addons/delivery/stock.py", line 128, in action_invoice_create
context=context)
File "/usr/lib/pymodules/python2.7/openerp/addons/stock/stock.py", line 1167, in action_invoice_create
self._invoice_hook(cr, uid, picking, invoice_id)
File "/usr/lib/pymodules/python2.7/openerp/addons/sale_stock/stock.py", line 135, in _invoice_hook
vals = order_line_obj._prepare_order_line_invoice_line(cursor, user, sale_line, False)
File "/usr/lib/pymodules/python2.7/openerp/addons/extension_sale/extension_sale_partial.py", line 90, in _prepare_order_line_invoice_line
if '_partial_invoice' in context:
TypeError: argument of type 'NoneType' is not iterable

Avete qualche idea/suggerimento?
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Fattura da Ordine con Servizi e Prodotti 4 Anni 9 Mesi fa #16570

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
il modulo "extension_sale" è bacato.

ad occhio non hai context.
all'inizio dei tuoi metodi conviene che metti sempre qualcosa tipo
if not context:
    context = {}

ma presumo che context debba esserci
Davide Corio
Odoo Solution Architect
email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
web: www.davidecorio.com
Ultima modifica: 4 Anni 9 Mesi fa da enlightx.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Fattura da Ordine con Servizi e Prodotti 4 Anni 9 Mesi fa #16571

  • Alessius80
  • Avatar di Alessius80
  • Offline
  • Gold Boarder
  • Messaggi: 193
  • Ringraziamenti ricevuti 1
  • Karma: 0
Ciao grazie per la risposta,

allora sì il problema nasce da questo mio modulo, ma non capisco come mai.

questa è la funzione dove mi segna l'errore:
def _prepare_order_line_invoice_line(self, cr, uid, line, account_id=False, context=None):
        res = super(sale_order_line,
                    self)._prepare_order_line_invoice_line(cr,
                                                           uid,
                                                           line,
                                                           account_id,
                                                           context)
        if '_partial_invoice' in context:
            # we are making a partial invoice for the line
            to_invoice_qty = context['_partial_invoice'][line.id]
        elif not context:
            context = {}
        else:
            # we are invoicing the yet uninvoiced part of the line
            to_invoice_qty = (line.product_uom_qty * line.price_unit) - line.qty_invoiced
        res['price_unit'] = to_invoice_qty
        res['quantity'] = 1
        return res

L'errore nello specifico me lo segnava nel primo if, e dato il tuo consiglio ho aggiunto l'elif, ma non funziona...
Come posso fare?

Grazie mille per l'aiuto!
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Fattura da Ordine con Servizi e Prodotti 4 Anni 9 Mesi fa #16572

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
se context è None, il tuo codice da errore.
quel "elif not context" in quella posizione non serve siccome se è none il passo prima fallisce e da errore
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.
Ringraziano per il messaggio: Alessius80

Fattura da Ordine con Servizi e Prodotti 4 Anni 9 Mesi fa #16574

  • Alessius80
  • Avatar di Alessius80
  • Offline
  • Gold Boarder
  • Messaggi: 193
  • Ringraziamenti ricevuti 1
  • Karma: 0
Ok risolto! grazie mille!
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