Saltar para o conteúdo principal
Octopia (Cdiscount)

Octopia Connector: «Defina primeiro um motivo de cancelamento.»

A mensagem Defina primeiro um motivo de cancelamento. aparece ao carregar em Pedir cancelamento num envio de saída cujo campo Motivo de cancelamento está vazio. Resolve-se preenchendo esse campo na ficha do envio e voltando a carregar no botão.

FlexigoTech · Responsável: Víctor Gómez · Atualizado em 5 de novembro de 2026

O essencial

Versões
Odoo 17, 18, 19 e 20
Verificado
no código do conector, versão 20.0 · nas fontes indicadas no fim
Leitura
4 min

O que significa a mensagem e quando aparece

A mensagem Defina primeiro um motivo de cancelamento. (Set a cancellation reason first.) é um erro: a ação é interrompida. Aparece ao carregar no botão Pedir cancelamento (Request Cancellation) na ficha de um envio de saída, e apenas se o campo Motivo de cancelamento (Cancellation Reason) desse envio estiver vazio. É a condição literal do código: se o motivo não tem conteúdo, o módulo pára aí. Assim que o campo tem conteúdo, essa verificação é superada.

A mensagem está no código publicado das ramificações 17, 18, 19 e 20 do Odoo.

Esquema feito com código, não um ecrã do Odoo: o menu Octopia, Fulfillment, Outbound Shipments; o botão Request Cancellation; o campo Cancellation Reason; e a mensagem Set a cancellation reason first.
Esquema feito com código a partir do código publicado do módulo (Odoo 17, 18, 19 e 20), com os rótulos em inglês do código original: menu, botão, campo e mensagem.

O código verifica o motivo logo no início, antes de obter o cliente do módulo e de lhe passar o que quer que seja. Se vir a mensagem, a ação foi interrompida aí e nesse envio não ficou guardado nada do que ia mudar.

48 business hours to accept each Cdiscount order. Do it in Odoo
Vídeo: 48 business hours to accept each Cdiscount order. Do it in Odoo (vídeo em inglês)

Antes de carregar no botão

Estas verificações dizem-lhe se vai chegar à mensagem e porquê.

  • Abra a ficha do envio a partir do menu Octopia › Fulfillment › Envios de saída (Outbound Shipments). Se não vir o menu Octopia, falta-lhe a permissão Utilizador Octopia (Octopia User).
  • Verifique que vê o botão Pedir cancelamento. Com os valores por defeito, vê-se. Fica oculto quando o campo Estado (Status) do envio vale Shipped, Delivered ou Cancelled, ou quando o campo Estado do cancelamento (Cancellation Status) já tem algum valor. Essa condição é a mesma no Odoo 17, 18, 19 e 20.
  • Localize o campo Motivo de cancelamento na ficha de Envios de saída. É o campo que o código verifica.
  • Verifique se o campo tem conteúdo. Se estiver vazio, a mensagem aparecerá ao carregar no botão.
  • Preencha o motivo antes de carregar. A verificação que lança esta mensagem é apenas que o campo não esteja vazio.

Ao carregar no botão e ver a mensagem

  • Carregue em Pedir cancelamento. O Odoo pede confirmação com o texto Pedir o cancelamento deste envio de saída? (Request cancellation of this outbound shipment?).
  • Se o motivo estiver vazio, aparece Defina primeiro um motivo de cancelamento. e a ação é interrompida. O código percorre os envios com que trabalha e pára no primeiro que não tem motivo.
  • Feche o aviso, volte à ficha e preencha Motivo de cancelamento.
  • Volte a carregar em Pedir cancelamento e confirme outra vez.

Consoante o idioma do seu Odoo, a mensagem vê-se assim:

Esquema feito com código, não um ecrã do Odoo: o texto Set a cancellation reason first. com a sua tradução para castelhano, alemão, francês, italiano e português.
Esquema feito com código a partir das traduções publicadas do módulo: em castelhano, Establezca primero un motivo de cancelación.; em alemão, Legen Sie zuerst einen Stornogrund fest.; em francês, Définissez d'abord un motif d'annulation.; em italiano, Imposta prima un motivo di annullamento.; em português, Defina primeiro um motivo de cancelamento.

O que faz o botão quando o motivo existe

Superada a verificação, o método segue esta ordem para cada envio:

  • Obtém o cliente do módulo a partir da conta do envio.
  • Passa a esse cliente o pedido de cancelamento com o identificador externo do envio e o motivo que escreveu.
  • Guarda no envio um valor em Estado do cancelamento (o código escreve Created) e, se a resposta recebida trouxer uma referência do pedido, guarda-a também no envio.

Como o botão fica oculto quando Estado do cancelamento tem valor, depois de um pedido que tenha chegado a ficar guardado já não verá o botão nesse envio.

Depois de pedir o cancelamento

  • Abra outra vez a ficha do envio e verifique que Estado do cancelamento já tem valor.
  • Verifique que o botão Pedir cancelamento desapareceu desse envio. É o esperado segundo a sua condição de visibilidade.
  • Se o Estado do envio for Shipped, Delivered ou Cancelled, não espere ver o botão: nesses casos está oculto.

Como o ajuda a FlexigoTech

A FlexigoTech implementa o Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida. O Octopia Connector está publicado no Odoo Apps para essas quatro versões. É de pagamento único por versão e precisa da subscrição do FlexigoTech Cloud, plano Conector: 49 €/mês ou 490 €/ano, sem IVA. A ligação passa pelo FlexigoTech Cloud, que guarda cifradas as credenciais, vigia a sincronização e avisa por e-mail se falhar. Se quiser rever o seu fluxo de cancelamentos connosco, escreva-nos.

Ficha do Odoo Apps

Continue a ler

O que faz o botão «Abrir discussão» do Octopia Connector: mitos e realidadesO que faz o botão Abrir discussão do Octopia Connector no Odoo: quando se vê, o que verifica, o que muda e que erros dá, desmontando ideias erradas.O que faz o botão «Submeter à Octopia» das promoções, passo a passoComo funciona o botão Submeter à Octopia das promoções no Odoo: quando aparece, o que verifica, o que altera e que avisos pode dar.Declarar à Octopia no Odoo: checklist do botão, passo a passoChecklist do botão Declarar à Octopia do Octopia Connector: o que verifica, o que muda no envio e na encomenda, e o que fazer com as mensagens que o travam.
Verificado no código do conector (versão 20.0) e nas fontes indicadas

Fontes