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
  • Pagina:
  • 1
  • 2
  • 3

ARGOMENTO: Passare dei custom filed da Ordine a Fattura

Passare dei custom filed da Ordine a Fattura 2 Anni 10 Mesi fa #23762

  • mikivanky
  • Avatar di mikivanky
  • Offline
  • Fresh Boarder
  • Messaggi: 11
  • Karma: 0
Buongirono,

non riesco ancora a passare i dati.

Per la precisione adesso il modulo mi va in crash con il seguente errore:
Client 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 866, in authenticate
req.session.authenticate(db, login, password, env)
File "/usr/lib/python2.7/dist-packages/openerp/addons/web/session.py", line 115, in authenticate
uid = self.proxy('common').authenticate(db, login, password, env)
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 306, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/usr/lib/python2.7/dist-packages/openerp/service/web_services.py", line 439, in dispatch
return fn(*params)
File "/usr/lib/python2.7/dist-packages/openerp/service/web_services.py", line 450, in exp_authenticate
res_users = pooler.get_pool(db).get('res.users')
File "/usr/lib/python2.7/dist-packages/openerp/pooler.py", line 49, in get_pool
return get_db_and_pool(db_name, force_demo, status, update_module)[1]
File "/usr/lib/python2.7/dist-packages/openerp/pooler.py", line 33, in get_db_and_pool
registry = RegistryManager.get(db_name, force_demo, status, update_module)
File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 203, in get
update_module)
File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 233, in new
openerp.modules.load_modules(registry.db, force_demo, status, update_module)
File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 351, in load_modules
force, status, report, loaded_modules, update_module)
File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 256, in load_marked_modules
loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 161, in load_module_graph
models = pool.load(cr, package)
File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 118, in load
model = cls.create_instance(self, cr)
File "/usr/lib/python2.7/dist-packages/openerp/osv/orm.py", line 961, in create_instance
obj.__init__(pool, cr)
File "/usr/lib/python2.7/dist-packages/openerp/osv/orm.py", line 1007, in __init__
raise except_orm('ValueError', msg)
except_orm: ('ValueError', 'The class sale_advance_payment_inv_mk has to have a _name attribute')
Ok
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Passare dei custom filed da Ordine a Fattura 2 Anni 10 Mesi fa #23763

  • mikivanky
  • Avatar di mikivanky
  • Offline
  • Fresh Boarder
  • Messaggi: 11
  • Karma: 0
Questa è l'estensione del mio modulo sale:

All'interno del wizard:

INIT:
import sale_advance_payment_inv_extension

MODULO:
sale_advance_payment_inv_extension.py

Di seguito il codice
from openerp.osv import fields, osv
from openerp.tools.translate import _
import openerp.addons.decimal_precision as dp

class sale_advance_payment_inv_extension(osv.osv_memory):
_name = "sale.advance.payment.inv"
_inherit = 'sale.advance.payment.inv'

_columns = {
'x_shipping_id': fields.many2one('res.partner', 'Shipping Address'),
'x_supplier_code': fields.char('Codice Fornitore'),
'x_ref_ns_order': fields.char('Rif. Ns. Ordine')
}



def _prepare_advance_invoice_vals(self, cr, uid, ids, context=None):
print "Hello, World! 1"
res = super(sale_advance_payment_inv_extension, self)._prepare_advance_invoice_vals(self, cr, uid, ids, context=None)
res.update({
'x_shipping_id': order.partner_shipping_id.id,
'x_supplier_code':order.x_supplier_code,
'x_ref_ns_order':order.x_ref_ns_order
})
print "Hello, World! 2"
return res

sale_advance_payment_inv_extension()
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Passare dei custom filed da Ordine a Fattura 2 Anni 10 Mesi fa #23765

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
Credo tu stia facendo un po' di confusione .... per prima cosa come ti dissi qualche post fa inserisci i dati nel posto sbagliato.

Qui un estratto del codice che stai estendendo:
            inv_values = {
                'name': sale.client_order_ref or sale.name,
                'origin': sale.name,
                'type': 'out_invoice',
                'reference': False,
                'account_id': sale.partner_id.property_account_receivable.id,
                'partner_id': sale.partner_invoice_id.id,
                'invoice_line': [(0, 0, inv_line_values)],
                'currency_id': sale.pricelist_id.currency_id.id,
                'comment': sale.note,
                'payment_term': sale.payment_term.id,
                'fiscal_position': sale.fiscal_position.id or sale.partner_id.property_account_position.id,
                'section_id': sale.section_id.id,
            }
            result.append((sale.id, inv_values))
        return result

Come vedi il dizionario che stai estendendo contiene la chiave sale.id e inv_values (la fattura appunto), devi aggiungere i tuoi campi ad inv_values tu invece li stai aggiungendo a result.

Altra cosa quando estendi in questo modo non devi specificare _name

Terza cosa l'errore che ti da si riferisce ad una classe sale_advance_payment_inv_mk che non menzioni ... forse hai anche delle altre classi sporche nel progetto non saprei.

Le colonne nel wizard non ti servono visto che prenderai i valori dall'ordine, se crei dei custom fileds tramite modulo non vi è la necessità (e non dovrebbe essere fatto) di far precedere il nome con x_, parte delle funzionalità che vuoi implementare esistono già in odoo (indirizzi di fatturazione e spedizione diversi).
@KTec
www.ktec.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
  • 3
Tempo creazione pagina: 0.160 secondi

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

Protected by R Antispam