Ce que signifie le message et quand il apparaît
Le message Définissez d'abord un motif d'annulation. (Set a cancellation reason first.) est une erreur : l'action s'arrête. Il apparaît lorsque vous cliquez sur le bouton Demander l'annulation (Request Cancellation) dans la fiche d'une expédition sortante, et seulement si le champ Motif d'annulation (Cancellation Reason) de cette expédition est vide. C'est la condition littérale du code : si le motif n'a aucun contenu, le module s'arrête à ce stade. Dès que le champ a une valeur, cette vérification est franchie.
Le message figure dans le code publié des branches 17, 18, 19 et 20 d'Odoo.

Le code vérifie le motif en premier, avant de récupérer le client du module et de lui transmettre quoi que ce soit. Si vous voyez le message, l'action s'est arrêtée à ce point et rien de ce qui devait être modifié n'a été enregistré pour cette expédition.

Avant de cliquer sur le bouton
Ces vérifications vous indiquent si vous allez atteindre le message et pourquoi.
- Ouvrez la fiche de l'expédition depuis le menu
Octopia › Fulfillment › Expéditions sortantes(Outbound Shipments). Si vous ne voyez pas le niveauOctopia, il vous manque l'autorisationUtilisateur Octopia(Octopia User).
- Vérifiez que le bouton
Demander l'annulationest visible. Avec les valeurs par défaut, il l'est. Il se masque lorsque le champStatut(Status) de l'expédition vautShipped,DeliveredouCancelled, ou lorsque le champStatut d'annulation(Cancellation Status) a déjà une valeur. Cette condition est identique dans Odoo 17, 18, 19 et 20.
- Repérez le champ
Motif d'annulationdans la fiche desExpéditions sortantes. C'est le champ que le code contrôle.
- Vérifiez si le champ contient une valeur. S'il est vide, le message s'affichera au clic sur le bouton.
- Renseignez le motif avant de cliquer. La seule vérification déclenchant ce message est que le champ ne soit pas vide.
Lors du clic sur le bouton et à l'apparition du message
- Cliquez sur
Demander l'annulation. Odoo demande une confirmation avec le texteDemander l'annulation de cette expédition sortante ?(Request cancellation of this outbound shipment?).
- Si le motif est vide,
Définissez d'abord un motif d'annulation.s'affiche et l'action s'arrête. Le code parcourt les expéditions avec lesquelles il travaille et s'arrête à la première qui n'a pas de motif.
- Fermez l'alerte, revenez à la fiche et renseignez
Motif d'annulation.
- Cliquez de nouveau sur
Demander l'annulationet confirmez à nouveau.
Selon la langue de votre Odoo, le message s'affiche ainsi :

Establezca primero un motivo de cancelación. ; en allemand, Legen Sie zuerst einen Stornogrund fest. ; en français, Définissez d'abord un motif d'annulation. ; en italien, Imposta prima un motivo di annullamento. ; en portugais, Defina primeiro um motivo de cancelamento.Ce que fait le bouton lorsque le motif est renseigné
Une fois la vérification passée, la méthode suit cet ordre pour chaque expédition :
- Récupère le client du module à partir du compte de l'expédition.
- Transmet à ce client la demande d'annulation avec l'identifiant externe de l'expédition et le motif que vous avez saisi.
- Enregistre sur l'expédition une valeur dans
Statut d'annulation(le code écritCreated) et, si la réponse reçue contient une référence de la demande, l'enregistre également sur l'expédition.
Le bouton étant masqué lorsque Statut d'annulation a une valeur, après une demande qui a bien été enregistrée vous ne verrez plus le bouton sur cette expédition.
Après avoir demandé l'annulation
- Rouvrez la fiche de l'expédition et vérifiez que
Statut d'annulationa bien une valeur.
- Vérifiez que le bouton
Demander l'annulationa disparu pour cette expédition. C'est ce qui est attendu d'après sa condition de visibilité.
- Si le
Statutde l'expédition estShipped,DeliveredouCancelled, ne vous attendez pas à voir le bouton : il est masqué dans ces cas.
Comment FlexigoTech vous aide
FlexigoTech déploie Odoo 17, 18, 19 et 20 et développe des connecteurs et intégrations sur mesure. Octopia Connector est publié sur Odoo Apps pour ces quatre versions. Il s'achète en paiement unique par version et nécessite l'abonnement à FlexigoTech Cloud, formule Connecteur : 49 € par mois ou 490 € par an, HT. La connexion passe par FlexigoTech Cloud, qui chiffre les identifiants, surveille la synchronisation et vous alerte par e-mail en cas d'échec. Si vous souhaitez revoir votre flux d'annulations avec nous, écrivez-nous.
À lire aussi
Vérifié dans le code du connecteur (version 20.0) et dans les sources citées
Sources
- Code du module : flexigobe_octopia_connector 20.0 (4848da6a): models/octopia_fulfillment.py
- Code du module : flexigobe_octopia_connector 20.0 (4848da6a): views/octopia_fulfillment_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_octopia_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
