Un cas: un gest comercial que no es deixa enviar
Exemple Cas il·lustratiu: l'empresa i les seves dades són inventades per explicar el flux.
Distribuciones Norte, una empresa inventada per a aquest exemple, ven a Cdiscount i gestiona les seves comandes a Odoo amb Octopia Connector. La Marta, d'atenció al client, vol compensar un client amb un gest comercial. Obre Octopia › Orders › Commercial Gestures. Aquest tram Octopia del menú el veu qui té el permís Octopia User; si no el tens, no veus aquest tram.
Crea la fitxa del gest i prem Submit to Octopia. Odoo li demana confirmació amb aquest text: A commercial gesture refunds the customer this amount. Continue?. La Marta accepta i l'acció s'atura amb aquest avís: Commercial gestures apply to shipped or delivered orders only (order … is …).. On hi ha els punts suspensius, Odoo escriu l'identificador d'Octopia de la comanda i l'estat en què es troba.

El problema no és a la fitxa del gest, sinó a l'estat de la comanda a la qual es refereix.

Quan surt exactament
L'avís surt en prémer Submit to Octopia a la fitxa del gest, quan la comanda compleix la condició que veuràs a sota. El botó es veu mentre el camp State del gest té el seu valor de partida i s'amaga amb qualsevol altre, a Odoo 17, 18, 19 i 20.
Segons el codi d'Odoo 20.0, el mòdul recorre els gestos i se salta els que no són en aquest estat de partida. Per a cadascun dels altres fa aquestes comprovacions, en aquest ordre:
- Mira que l'import sigui més gran que zero. Si no ho és, s'atura amb un altre avís diferent.
- Mira el canal de vendes de la comanda: si la seva configuració s'ha sincronitzat i té els gestos comercials desactivats, s'atura també amb un altre avís.
- Mira l'estat de la comanda: si no és enviada ni lliurada, s'atura amb l'avís que ens ocupa.
És a dir, l'avís surt quan l'estat de la comanda no és enviada ni lliurada, sempre que abans hagin passat la comprovació de l'import i la del canal. I el mateix avís indica l'estat actual de la comanda.
Al aturar-se, no es desa res del que l'acció havia de canviar:
- el gest no passa a un altre estat;
- no s'anota la referència de la sol·licitud ni la data d'enviament;
- no s'envia res a Octopia.
Per això el botó continua visible a la fitxa i pots tornar a prémer-lo més tard.
El missatge és al codi publicat de les branques 17.0, 18.0, 19.0 i 20.0. L'ordre de comprovacions que acabes de llegir és el del codi d'Odoo 20.0.

Commercial gestures apply to shipped or delivered orders only (order … is …).Com es resol
- Llegeix l'avís: porta l'identificador d'Octopia de la comanda i el seu estat actual.
- Si aquest estat no és enviada ni lliurada, el gest encara no es pot enviar. Deixa la fitxa com està: no hi ha res a corregir-hi per aquest avís.
- Quan la comanda estigui enviada o lliurada, torna a obrir el gest a
Octopia › Orders › Commercial Gestures, premSubmit to Octopiai confirma. - Comprova el resultat: si l'enviament ha anat bé, el gest queda en curs i el botó desapareix de la fitxa, perquè el gest ja no té l'estat de partida.
Si en lloc d'aquest avís en surt un de diferent, pot venir d'una de les comprovacions anteriors: l'import del gest o els gestos desactivats al canal de vendes.
Per a la resta del que fa aquest botó, tens el pas a pas del botó Enviar a Octopia.
Què passa quan la comanda sí que compleix
Amb la comanda enviada o lliurada, el mòdul continua endavant. Pregunta a Octopia el pressupost restant de la comanda. Si Octopia retorna un pressupost i l'import del gest el supera, s'atura amb un avís d'import superior al pressupost restant. Si no el supera, o si Octopia no diu res, envia el gest amb el seu motiu, el seu detall i el seu import.
Si Octopia retorna una referència de la sol·licitud, la desa a la fitxa. Després anota la data d'enviament, deixa el gest en curs i crea un registre de sincronització de tipus gestos amb resultat correcte.
Què aprendre del cas
- L'avís parla de la comanda, no del gest: la condició que el provoca és l'estat de la comanda.
- Els buits del missatge són la pista: l'identificador d'Octopia de la comanda i el seu estat actual.
- Un avís d'aquest tipus no deixa mig fet l'enviament: ni canvia l'estat del gest ni arriba res a Octopia.
- El botó queda a la vista, de manera que el reintent és prémer-lo una altra vegada quan la comanda estigui enviada o lliurada.
Cost i ajuda de FlexigoTech
Octopia Connector (Cdiscount & Octopia Marketplaces) és un mòdul de pagament únic per versió d'Odoo (17, 18, 19 i 20; el preu de cada versió és a la seva fitxa d'Odoo Apps) i necessita la subscripció a FlexigoTech Cloud, pla Connector: 49 €/mes o 490 €/any sense IVA, amb fins a 3 comptes de la plataforma.
Si estàs implantant Odoo i vols revisar com encaixa el circuit de comandes i gestos comercials de Cdiscount a la teva empresa, a FlexigoTech implantem Odoo 17, 18, 19 i 20 i desenvolupem connectors i integracions a mida.
Si t'interessa un altre botó del mòdul, tens l'article sobre el botó Importar.
Continua llegint
Comprovat al codi del connector (versió 20.0) i a les fonts enllaçades
Fonts
- Codi del mòdul: flexigobe_octopia_connector 20.0 (4848da6a): models/octopia_order_actions.py
- Codi del mòdul: flexigobe_octopia_connector 20.0 (4848da6a): views/octopia_order_actions_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_octopia_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
