Cosa vedi e quando compare
Quando premi Dichiara a Octopia nella procedura guidata che contiene quel pulsante, Odoo può mostrare Gli ordini Fulfillment si spediscono da soli -- dichiararne uno verrebbe rifiutato (409) da Octopia. È un errore: l'azione si interrompe e non viene salvato nulla di ciò che il pulsante stava per modificare.
Il pulsante è sempre visibile in quella procedura guidata, in Odoo 17, 18, 19 e 20, e il messaggio è presente nel codice pubblicato di tutte e quattro le versioni. Ci si arriva premendo quel pulsante.


La condizione esatta nel codice
Nel codice di Odoo 20 l'avviso scatta quando si verificano contemporaneamente due cose sull'ordine Octopia che si sta dichiarando:
- l'ordine ha una modalità di fornitura indicata (non è vuota);
- quella modalità di fornitura non è quella del venditore.
Letto al contrario: se la modalità di fornitura è vuota, l'avviso non scatta; se è indicata ed è quella del venditore, nemmeno. Solo con una modalità indicata e diversa da quella del venditore l'azione si ferma.
Cosa si controlla prima e cosa dopo
L'ordine conta. Secondo il codice di Odoo 20, la procedura guidata richiede per prima cosa che ci sia almeno un collo. Il controllo della modalità di fornitura viene subito dopo questa richiesta e prima di esaminare i colli uno a uno, di creare il record della spedizione e di chiamare Octopia.
Per questo, una volta che nella procedura guidata c'è almeno un collo, non importa come siano compilati i suoi dati: l'avviso dipende dall'ordine, non da ciò che scrivi nella procedura guidata.
Cosa significa
Il messaggio dice due cose: che gli ordini Fulfillment si spediscono da soli e che dichiararne uno verrebbe rifiutato da Octopia con un 409. Il modulo non aspetta quel rifiuto: anticipa e interrompe l'azione prima di inviare qualsiasi cosa. Per quell'ordine non c'è nessuna dichiarazione di spedizione da fare con questo pulsante.

Un caso illustrativo: due ordini, due risultati
Esempio Caso illustrativo: l'azienda e i suoi dati sono inventati per spiegare il flusso.
Tienda Aurora è un'azienda inventata che vende sul marketplace di Cdiscount e gestisce i suoi ordini Octopia da Odoo. Beatriz, della logistica, ha davanti due ordini che ha già preparato.
Con il primo apre la procedura guidata, aggiunge il collo, completa i suoi dati e preme Dichiara a Octopia. L'ordine non ha una modalità di fornitura indicata, oppure ce l'ha ed è quella del venditore, quindi il controllo viene superato e la procedura guidata prosegue.
Con il secondo fa esattamente la stessa cosa, ma Odoo risponde con Gli ordini Fulfillment si spediscono da soli -- dichiararne uno verrebbe rifiutato (409) da Octopia. Quell'ordine ha una modalità di fornitura indicata e diversa da quella del venditore. Beatriz prova a cambiare collo e a scrivere un altro corriere, e il risultato è lo stesso, perché il controllo viene fatto prima di guardare qualsiasi di queste cose.
Cosa imparare dal caso:
- Con almeno un collo nella procedura guidata, l'avviso riguarda l'ordine, non il collo.
- In quel tentativo non è stato creato nessun record di spedizione né è stata chiamata Octopia.
- Beatriz non ha niente da correggere nei dati del collo: quell'ordine non si dichiara da lì.
Cosa succede quando il controllo viene superato
Per capire il contrasto, ecco cosa fa la procedura guidata con un ordine che non fa scattare l'avviso, secondo il codice di Odoo 20, in ordine:
- Richiede almeno un collo e, dopo, controlla la modalità di fornitura dell'ordine.
- Esamina ogni collo (numero di collo e corriere) e prepara l'elenco che verrà inviato.
- Crea il record della spedizione con quei colli.
- Chiama il client di Octopia con l'ordine e l'elenco dei colli.
- Se Octopia restituisce un errore, il record della spedizione viene contrassegnato come errore, con il testo dell'errore e il suo dettaglio, e l'errore viene rilanciato perché tu lo veda.
- Se tutto va bene, il record passa a inviato con data e ora, l'ordine passa a spedito, viene annotata una voce di successo nel registro di sincronizzazione delle spedizioni e la procedura guidata si chiude.
Con l'avviso Fulfillment non avviene nessuno dei passaggi successivi al controllo.
Cosa fare quando compare
- Chiudi la procedura guidata: con questo pulsante quell'ordine non si dichiara.
- Non perdere tempo con il numero di collo, il corriere o il tracking: il controllo viene prima e non li guarda.
- Se ti aspettavi di poterlo dichiarare tu, il dato che decide è la modalità di fornitura dell'ordine. Il modulo la legge dall'ordine stesso e non ti lascia proseguire se è indicata e non è quella del venditore.
Domande concrete sull'avviso
Viene salvato qualcosa quando compare?
No. È un errore che interrompe l'azione: non viene creato il record della spedizione, non si chiama Octopia e l'ordine non cambia stato.
Compare uguale in tutte le versioni?
Il messaggio è presente nel codice pubblicato di Odoo 17, 18, 19 e 20.
Può comparire se l'ordine non ha modalità di fornitura?
No, con la modalità vuota no: la condizione richiede che sia indicata e che sia diversa da quella del venditore.
Conta come è compilato il collo?
Per questo avviso no: il controllo della modalità di fornitura viene prima della verifica dei dati di ogni collo. Nel codice di Odoo 20, l'unica cosa richiesta prima è che nella procedura guidata ci sia almeno un collo.
Come aiuta FlexigoTech
FlexigoTech implementa Odoo 17, 18, 19 e 20 e sviluppa connettori e integrazioni su misura. Se hai ordini con diverse modalità di fornitura e vuoi mettere ordine in come vengono trattati in Odoo, possiamo rivederlo insieme a te. Il modulo è pubblicato per le quattro versioni nella sua scheda su Odoo Apps.
Continua a leggere
Verificato nel codice del connettore (versione 20.0) e nelle fonti collegate
Fonti
- Codice del modulo: flexigobe_octopia_connector 20.0 (4848da6a): wizard/octopia_shipment_wizard.py
- Codice del modulo: flexigobe_octopia_connector 20.0 (4848da6a): views/octopia_completeness2_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_octopia_connector
- flexigotech.com/en/services.html
