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 #23216

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
come hai definito "on_change" su product id ed altri elementi coinvolti? non ho ben capito dal video quale sia il problema ... senza una accurata descrizione e' difficile seguirlo.

Il problema immagino sia su qualche on_change che non si incastra a dovere.
@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 3 Settimane fa #23219

  • GiuseppeS
  • Avatar di GiuseppeS
  • Offline
  • Expert Boarder
  • Messaggi: 140
  • Ringraziamenti ricevuti 5
  • Karma: 0
Spiego meglio il video.
Inserendo i l nuovo articolo e confermando, nella tree nel campo "total quantity" ,in questo caso, il campo cambia.
Sempre il medesimo campo se viene modificato, nella form sarebbe il secondo campo senza un nome partendo da dove inserisco i dati, 4 nella modifica. Salvando si nota che questo non cambia. Ad un certo punto, non l'ho scritto, si vede che cambia perché ho confermato l'ordine, insomma ho ereditato la funzione "create" forse qui ti può confondere un po. Segui solo la prima parte del video senza la conferme dell'ordine.

Per quanto riguarda on_change non ho apportato alcuna modifica come da codice qui sotto.
                <xpath expr="//field[@name='order_line']/form/group/group/div/field[@name='product_uom_qty']" position="replace">
<!--                        <label for="product_uom_qty"/>-->
<!--                            <div>-->
                            <field
                                context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom, 'uom_qty_change':True, 'company_id': parent.company_id}"
                                name="product_uom_qty" class="oe_inline"
                                on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, False, parent.date_order, False, parent.fiscal_position, True, context)"/>
                </xpath>
                
                <xpath expr="//field[@name='order_line']/form/group/group/div/field[@name='product_uom']" position="replace">
                                <field name="product_uom" groups="product.group_uom" class="oe_inline oe_no_button"
                                    context="{'company_id': parent.company_id}"
                                    on_change="product_uom_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, False, parent.date_order, context)"/>
<!--                            </div>-->
<!--                    -->
                    <field name="product_bom_qty" readonly="1"/>
                    <field name="product_uom_qty_tot" readonly="1"/>
<!--                            </div>-->
                </xpath>
            
                <xpath expr="//field[@name='order_line']/tree[@string='Sales Order Lines']/field[@name='product_uom']" position="before">
<!--                        <field name="product_bom_qty" readonly="1" on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, False, parent.date_order, False, parent.fiscal_position, True, context)"/>-->
                        <field name="product_bom_qty" readonly="1" />
                        
                        
<!--                        <field name="product_uom_qty_tot" readonly="1" on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, False, parent.date_order, False, parent.fiscal_position, True, context)"/>-->
                    <field name="product_uom_qty_tot" readonly="1" />
                </xpath>

In realtà pensavo che non bisognava aggiungerci i due campi usati da me qui ma nel codice del modulo.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

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

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
Che versione di odoo usi?
@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 3 Settimane fa #23221

  • GiuseppeS
  • Avatar di GiuseppeS
  • Offline
  • Expert Boarder
  • Messaggi: 140
  • Ringraziamenti ricevuti 5
  • Karma: 0
Uso la 8.0. Purtroppo le api del modulo "sale.order " sono ancora quelle vecchie della 7 per intenderci. Quindi, mi pare di aver letto da qualche parte, si devono usare le api della 7 per compatibilità e non creare casini.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

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

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
Avendo usato pochissimo la versione 7 e non amando per nulle le vecchie API ho sempre usato le nuove senza nessun problema ... forse con qualche leggerezza? :) hai dei riferimenti per quel che affermi?

Non mi e' chiaro perche' hai ereditato il metodo create ... da quel che ho capito ti serve estendere il metodo on_change sulla UOM, lo strano comportamento che sperimenti (ripeto non so se ho capito bene il tutto) dovrebbe essere legato proprio a quello.

a) La prima volta che inserisci una linea viene invocato il metodo create (su un oggetto in cache perche' ancora l'ordine non e' salvato) ... da questo momento in poi l'oggetto esiste e non viene piu' invocato.
b) Al salvataggio viene popolato il db invocando forse altra volta il metodo create.

Per validare questa mia ipotesi metti un trace, print o quel che ti pare nel metodo create da te modificato e vidi quante volte viene invocato.
@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 3 Settimane fa #23237

  • GiuseppeS
  • Avatar di GiuseppeS
  • Offline
  • Expert Boarder
  • Messaggi: 140
  • Ringraziamenti ricevuti 5
  • Karma: 0
Purtroppo non mi ricordo dove l'ho letto. Ho anche cercato sui documenti che ho letto, in modo veloce e approssimato, ma non ho proprio trovato il documento che ne parla.

Ti rispondo
a) il metodo create viene invocato solamente quando si conferma l'ordine. Questo viene chiamato solo per i nuovi inserimente mentre per gli upgrade, cioè cambio di un valore, viene chiamato il metodo write sempre quando viene confermato l'ordine.
Mentre, e la cosa mi ha stupito un po, quando si cambia il numero sei pezzi inseriti la funzione product_id_change viene chiamata due volte.

b) mi sa che ho risposto sopra. :)

Però, visto che hai detto che con le nuove api non hai avuto problemi, voglio provare un approccio diverso, tipo quello di odoo 9 per intenderci.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
  • 3
Tempo creazione pagina: 0.129 secondi

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

Protected by R Antispam