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

ARGOMENTO: inserire sale_order_line in un oggetto sale_order

inserire sale_order_line in un oggetto sale_order 2 Anni 2 Settimane fa #27010

  • giuseppeflammia
  • Avatar di giuseppeflammia
  • Offline
  • Expert Boarder
  • Messaggi: 100
  • Ringraziamenti ricevuti 1
  • Karma: 0
Adesso me lo leggo ...
spero di vederci chiaro.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

inserire sale_order_line in un oggetto sale_order 2 Anni 2 Settimane fa #27011

  • giuseppeflammia
  • Avatar di giuseppeflammia
  • Offline
  • Expert Boarder
  • Messaggi: 100
  • Ringraziamenti ricevuti 1
  • Karma: 0
MiCantino ha scritto:
dai un'occhiata qua:
www.odoo.com/documentation/8.0/reference...p.models.Model.write

ti spiega l'uso di questa sintassi per la creazione di campi One2Many e Many2many
;)

P.S.
Il riferimento è della versione 8


ho letto la guida ma sono ancora ad un punto morto.
incollo qui il pezzo di codice che devo riusciure a far funzionare:

src_orders_ids = context.get('active_ids')
src_orders = self.pool.get('sale.order').browse(cr, uid, src_orders_ids, context=context)
conn_res_DB2 = self._connect_server_DB2(cr, uid, context=context)
for src_order in src_orders:
if not (src_order.state == "manual"):
code_err = INTEGRITY_DATA_ERROR
msg = ('L\'ordine di vendita da essere trasferito [%s] non e\' stato ancora confermato.') % (src_order.client_order_ref)
raise osv.except_osv('AVVERTIMENTO!', msg)
args = [('order_id', '=', src_order.id)]
src_order_lines_ids = self.pool.get('sale.order.line').search(cr, uid, args, offset=0, limit=None, order=None, context=None, count=False)
src_order_lines = self.pool.get('sale.order.line').browse(cr, uid, src_order_lines_ids, context=context)
newOrder = (src_order + src_order_lines) ::::::: come deve essere riscritta ?
tgt_order_id = conn_res.execute(DB_2, uid, PASS, "sale.order", "create", newOrder)




cosa devo mettere al posto di newOrder ?
la mia supposizione è che devo costruire l'oggetto sale_order e devo inserire al suo interno tutti i sale_order_line.
per caso è sbagliato il mio modo di fare ?


in tutto questo, seguendo la guida avevo fatto così:
orderTest = {
'state': 'manual',
'date_order': '2017-01-31',
'user_id': 1,
'partner_id': 10,
'partner_invoice_id': 10,
'partner_shipping_id': 10,
'pricelist_id': 1,
'note': 'note',
'order_line': [(0, 0, src_order_lines_ids)],
}


ma continua ad andare in errore la scrittura ....
Ultima modifica: 2 Anni 2 Settimane fa da giuseppeflammia.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

inserire sale_order_line in un oggetto sale_order 2 Anni 2 Settimane fa #27071

  • federico.ranieri
  • Avatar di federico.ranieri
  • Offline
  • Fresh Boarder
  • Developer
  • Messaggi: 15
  • Ringraziamenti ricevuti 7
  • Karma: 1
Ciao!, come specificato nella documentazione ufficiale che ti hanno mandato, quei numeri specificato l'operazione che odoo dovrà compiere sul campo one2many, many2many etc. Ad esempio: cancellare un singolo record, creare e aggiungere più record, cancellare tutti i record, modificare un record già esistente etc. Penso che sia già abbastanza dettagliato.

Se tu utilizzi il codice " 0 , 0 " non puoi passare un recordset di ID, ma devi passare un DICT con tutti i relativi valori del record.
spero sia chiara la differenza tra DICT { '...' : '....' , .......... } e RECORDSET [1,3,54,56,2,4]

Posso aggiungere un breve esempio se può esserti utile:
     elements = []
     products = {}

    **** in un ciclo ****
    elements.append((0, 0, {'product_id': product_id, 'description': description, 'qty': quantity}))
    ***********************

   products.update(sales_line_ids=elements)
   self.create(products)
Ricerca e Sviluppo
Hexcode
Ultima modifica: 2 Anni 2 Settimane fa da federico.ranieri.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
Tempo creazione pagina: 0.122 secondi

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

Protected by R Antispam