Saltar al contenido principal
Octopia (Cdiscount)

Octopia Connector: «Establezca primero un motivo de cancelación.»

El mensaje Establezca primero un motivo de cancelación. sale al pulsar Solicitar cancelación en un envío saliente cuyo campo Motivo de cancelación está vacío. Se resuelve informando ese campo en la ficha del envío y volviendo a pulsar el botón.

FlexigoTech · Responsable: Víctor Gómez · Actualizado el 5 de noviembre de 2026

Lo esencial

Versiones
Odoo 17, 18, 19 y 20
Comprobado
en el código del conector, versión 20.0 · en las fuentes enlazadas al final
Lectura
4 min

Qué significa el mensaje y cuándo sale

El mensaje Establezca primero un motivo de cancelación. (Set a cancellation reason first.) es un error: la acción se detiene. Sale al pulsar el botón Solicitar cancelación (Request Cancellation) en la ficha de un envío saliente, y solo si el campo Motivo de cancelación (Cancellation Reason) de ese envío está vacío. Es la condición literal del código: si el motivo no tiene contenido, el módulo se para ahí. En cuanto el campo tiene contenido, esa comprobación se supera.

El mensaje está en el código publicado de las ramas 17, 18, 19 y 20 de Odoo.

Esquema hecho con código, no una pantalla de Odoo: el menú Octopia, Fulfillment, Outbound Shipments; el botón Request Cancellation; el campo Cancellation Reason; y el mensaje Set a cancellation reason first.
Esquema hecho con código a partir del código publicado del módulo (Odoo 17, 18, 19 y 20), con los rótulos en inglés del código original: menú, botón, campo y mensaje.

El código comprueba el motivo lo primero, antes de obtener el cliente del módulo y de pasarle nada. Si ves el mensaje, la acción se ha detenido ahí y en ese envío no se ha guardado nada de lo que iba a cambiar.

48 horas hábiles para aceptar cada pedido de Cdiscount: hazlo en Odoo
Vídeo: 48 horas hábiles para aceptar cada pedido de Cdiscount: hazlo en Odoo

Antes de pulsar el botón

Estas comprobaciones te dicen si vas a llegar al mensaje y por qué.

  • Abre la ficha del envío desde el menú Octopia › Fulfillment › Envíos salientes (Outbound Shipments). Si no ves el tramo Octopia, te falta el permiso Usuario de Octopia (Octopia User).
  • Comprueba que ves el botón Solicitar cancelación. Con los valores por defecto se ve. Se oculta cuando el campo Estado (Status) del envío vale Shipped, Delivered o Cancelled, o cuando el campo Estado de la cancelación (Cancellation Status) ya tiene algún valor. Esa condición es la misma en Odoo 17, 18, 19 y 20.
  • Localiza el campo Motivo de cancelación en la ficha de Envíos salientes. Es el campo que mira el código.
  • Comprueba si el campo tiene contenido. Si está vacío, el mensaje saldrá al pulsar el botón.
  • Informa el motivo antes de pulsar. La comprobación que lanza este mensaje es únicamente que el campo no esté vacío.

Al pulsar el botón y al ver el mensaje

  • Pulsa Solicitar cancelación. Odoo pide confirmación con el texto ¿Solicitar la cancelación de este envío saliente? (Request cancellation of this outbound shipment?).
  • Si el motivo está vacío, aparece Establezca primero un motivo de cancelación. y la acción se detiene. El código recorre los envíos con los que trabaja y para en el primero que no tiene motivo.
  • Cierra el aviso, vuelve a la ficha y rellena Motivo de cancelación.
  • Vuelve a pulsar Solicitar cancelación y confirma otra vez.

Según el idioma de tu Odoo, el mensaje se ve así:

Esquema hecho con código, no una pantalla de Odoo: el texto Set a cancellation reason first. con su traducción al castellano, alemán, francés, italiano y portugués.
Esquema hecho con código a partir de las traducciones publicadas del módulo: en castellano, Establezca primero un motivo de cancelación.; en alemán, Legen Sie zuerst einen Stornogrund fest.; en francés, Définissez d'abord un motif d'annulation.; en italiano, Imposta prima un motivo di annullamento.; en portugués, Defina primeiro um motivo de cancelamento.

Qué hace el botón cuando el motivo sí está

Superada la comprobación, el método sigue este orden para cada envío:

  • Obtiene el cliente del módulo a partir de la cuenta del envío.
  • Pasa a ese cliente la solicitud de cancelación con el identificador externo del envío y el motivo que has escrito.
  • Guarda en el envío un valor en Estado de la cancelación (el código escribe Created) y, si la respuesta que recibe trae una referencia de la solicitud, la guarda también en el envío.

Como el botón se oculta cuando Estado de la cancelación tiene valor, tras una solicitud que haya llegado a guardarse ya no verás el botón en ese envío.

Después de solicitar la cancelación

  • Abre otra vez la ficha del envío y comprueba que Estado de la cancelación ya tiene valor.
  • Comprueba que el botón Solicitar cancelación ha desaparecido de ese envío. Es lo esperado según su condición de visibilidad.
  • Si el Estado del envío es Shipped, Delivered o Cancelled, no esperes ver el botón: en esos casos está oculto.

Cómo te ayuda FlexigoTech

FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida. Octopia Connector está publicado en Odoo Apps para esas cuatro versiones. Es de pago único por versión y necesita la suscripción a FlexigoTech Cloud, plan Conector: 49 € al mes o 490 € al año, sin IVA. La conexión pasa por FlexigoTech Cloud, que guarda cifradas las credenciales, vigila la sincronización y avisa por correo si falla. Si quieres revisar tu flujo de cancelaciones con nosotros, escríbenos.

Ficha de Odoo Apps

Sigue leyendo

Qué hace el botón «Abrir conversación» de Octopia Connector: mitos y realidadesQué hace el botón Abrir conversación de Octopia Connector en Odoo: cuándo se ve, qué comprueba, qué cambia y qué errores da, desmontando ideas equivocadas.Qué hace el botón «Enviar a Octopia» de las promociones, paso a pasoCómo funciona el botón Enviar a Octopia de las promociones en Odoo: cuándo aparece, qué comprueba, qué cambia y qué avisos puede dar.Declarar a Octopia en Odoo: checklist del botón, paso a pasoChecklist del botón Declarar a Octopia de Octopia Connector: qué comprueba, qué cambia en el envío y en el pedido, y qué hacer con los mensajes que lo paran.
Comprobado en el código del conector (versión 20.0) y en las fuentes enlazadas

Fuentes