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.

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.

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 menuOctopia, falta-lhe a permissãoUtilizador Octopia(Octopia User).
- Verifique que vê o botão
Pedir cancelamento. Com os valores por defeito, vê-se. Fica oculto quando o campoEstado(Status) do envio valeShipped,DeliveredouCancelled, ou quando o campoEstado 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 cancelamentona ficha deEnvios 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 textoPedir 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 cancelamentoe confirme outra vez.
Consoante o idioma do seu Odoo, a mensagem vê-se assim:

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 escreveCreated) 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 cancelamentojá tem valor.
- Verifique que o botão
Pedir cancelamentodesapareceu desse envio. É o esperado segundo a sua condição de visibilidade.
- Se o
Estadodo envio forShipped,DeliveredouCancelled, 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.
Continue a ler
Verificado no código do conector (versão 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigobe_octopia_connector 20.0 (4848da6a): models/octopia_fulfillment.py
- Código do módulo: 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
