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: Passaggio campi custom da ddt a fattura

Passaggio campi custom da ddt a fattura 4 Anni 11 Mesi fa #16043

  • Alessius80
  • Avatar di Alessius80
  • Offline
  • Gold Boarder
  • Messaggi: 193
  • Ringraziamenti ricevuti 1
  • Karma: 0
Sull'override di questo metodo,

come posso prendere i dati dei miei campi e passarli tramite questo metodo "create"?

Non esiste una funzione come "prepare_invoice" dove passavo i miei valori dallo "sale" all' "invoice"?

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

Passaggio campi custom da ddt a fattura 4 Anni 11 Mesi fa #16044

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
def create(self, cr, uid, vals, context=None):

...cerco i valori che mi servono e li passo a super con:
vals['miocampo'] = miovalore

return super(purchase_order, self).create(cr, uid, vals, context=context)
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.

Passaggio campi custom da ddt a fattura 4 Anni 11 Mesi fa #16046

  • Alessius80
  • Avatar di Alessius80
  • Offline
  • Gold Boarder
  • Messaggi: 193
  • Ringraziamenti ricevuti 1
  • Karma: 0
Grazie mille!!!
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Passaggio campi custom da ddt a fattura 4 Anni 11 Mesi fa #16048

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
Alessius80 ha scritto:
Non esiste una funzione come "prepare_invoice" dove passavo i miei valori dallo "sale" all' "invoice"?

guarda in sale_stock/sale_stock.py, forse c'è un metodo "prepare_picking", però devi essere sicuro che ci sia una relazione 1:1 tra ordine di vendita e DDT.
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.

Passaggio campi custom da ddt a fattura 4 Anni 11 Mesi fa #16093

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

allora fino ad ora non ho avuto risultati, ho trovato una funzione nel modulo "delivery"->"stock.py" che si chiama :
"def action_invoice_create()".

Credo che questa sia la funzione che manda i valori dallo stock picking alla fattura, quindi l'ho estesa nel mio modulo, ma quando cerco di creare la fattura esce un errore tipo: " KeyError: 'id' "..

Cosa sbaglio?

Ecco la mia classe:

# -*- coding: utf-8 -*-

from osv import osv, fields

class stock_picking_out(osv.Model):

_inherit = 'stock.picking'

def action_invoice_create(self, cr, uid, ids, journal_id=False, group=False, type='out_invoice', context=None):
"""
Extended
"""
# create invoice
invoice_obj = self.pool.get('account.invoice')
picking_obj = self.pool.get('stock.picking')
invoice_line_obj = self.pool.get('account.invoice.line')
invoice_id = super(stock_picking_out, self).action_invoice_create(cr, uid, ids, journal_id=journal_id, group=group, type=type, context=context)

# check
vals = {}
for order in self.browse(cr, uid, ids):
if order.partner_id:
vals = order.partner_id.id

if vals:
# write to invoice
self.pool.get('account.invoice').write(cr,uid, [invoice_id], vals)
return invoice_id


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

Passaggio campi custom da ddt a fattura 4 Anni 11 Mesi fa #16098

  • Alessius80
  • Avatar di Alessius80
  • Offline
  • Gold Boarder
  • Messaggi: 193
  • Ringraziamenti ricevuti 1
  • Karma: 0
Allora, grazie a questo link:

code.launchpad.net/~enlightx/openobject-...271907/+merge/202846

ho corretto il codice nel seguente modo:


# -*- coding: utf-8 -*-

from osv import osv, fields

class stock_picking_out(osv.Model):

_inherit = 'stock.picking.out'

def action_invoice_create(self, cr, uid, ids, journal_id=False, group=False, type='out_invoice', context=None):
"""
Extended
"""
# create invoice
res = super(stock_picking_out, self).action_invoice_create(cursor, user, ids, journal_id, group, type, context)

# check
vals = {}
for picking in self.browse(cr, uid, ids):
if picking.partner_id:
vals = picking.partner_id.id

if vals:
# write to invoice
self.pool.get('account.invoice').write(cursor, user, res[picking.id], vals)

def copy(self, cr, uid, id, default=None, context=None):
if default is None:
default = {}
default.update({'ddt_number': ''})
return super(stock_picking_out, self).copy(cr, uid, id, default, context=context)

Così facendo, dall'ordine di consegna quando creo la fattura non mi da errori ma non passa il valore "picking.partner_id.id" al mio campo nella fattura: "x_shipping_id"


Suggerimenti??

Grazie
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
  • 3
Tempo creazione pagina: 0.126 secondi

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

Protected by R Antispam