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: [8.0]Modulo Sale order e riga d'ordine

[8.0]Modulo Sale order e riga d'ordine 3 Anni 3 Settimane fa #23238

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
Perche' non hai implementato con gli on_change invece di andare a scomodare i metodi creazionali? secondo me puoi scrivere tutto in termini di on_change ed eventualmente campi calcolati.
@KTec
www.ktec.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

[8.0]Modulo Sale order e riga d'ordine 3 Anni 2 Settimane fa #23298

  • GiuseppeS
  • Avatar di GiuseppeS
  • Offline
  • Expert Boarder
  • Messaggi: 140
  • Ringraziamenti ricevuti 5
  • Karma: 0
Ciao.

Penso di ave risolto il problema.
Preso dallo sconforto e riflettendo sul nostro discorso, mi si è accesa la lampadina :)
Ho aggiornato sia odoo8 e di conseguenza il database e tutto all'improvviso sembra funzionare.
Credo di essere incappato in un qualche bug del momento. Risolto con l'aggiornamento.

Un ultima cosa. Esiste un modo migliore nel scrivere il metodo write?
Io ho provato la seguente soluzione che sembra funzionare.
@api.multi
    def write(self, vals):
        
        order = self.env['sale.order'].browse( self.order_id.id )
        defaults = self.product_id_change(order.pricelist_id.id,
                product = vals['product_id'] if vals.has_key('product_id') else self.product_id.id,
                qty=float(vals['product_uom_qty'] if vals.has_key('product_uom_qty') else self.product_uom_qty),
                uom=vals['product_uom'] if vals.has_key('product_uom') else self.product_uom.id,
                qty_uos=float(vals['product_uos_qty'] if vals.has_key('product_uos_qty') else self.product_uos_qty),
                uos=self.product_uos.id,
                name=self.name,
                partner_id=order.partner_id.id,
                date_order=order.date_order,
                fiscal_position=order.fiscal_position[0] if order.fiscal_position else False,
                flag=False,  # Force name update
                context=dict(self._context or {})
            )['value']

        vals.update({'product_bom_qty': defaults['product_bom_qty'], 'product_uom_qty_tot': defaults['product_uom_qty_tot'] })
        res = super(sale_order_line, self).write(vals)
        return res

Grazie infinite.
Ultima modifica: 3 Anni 2 Settimane fa da GiuseppeS.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
  • 3
Tempo creazione pagina: 0.112 secondi

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

Protected by R Antispam