Salta al contingut principal
Octopia (Cdiscount)

«The order has no sales channel to fetch reasons for.»: quan surt i com es resol

El missatge surt en prémer Fetch Eligible Reasons en una sol·licitud de cancel·lació quan la comanda a la qual pertany no té canal de vendes. És la primera comprovació del botó: si falla, l'acció s'atura.

FlexigoTech · Responsable: Víctor Gómez · Actualitzat el 5 de novembre de 2026

L'essencial

Versions
Odoo 17, 18, 19 i 20
Comprovat
al codi del connector, versió 20.0 · a les fonts enllaçades al final
Lectura
4 min

On surt i quan es veu el botó

Surt des d'un botó de la sol·licitud de cancel·lació

Les fitxes de les sol·licituds de cancel·lació s'obren des del menú Octopia › Orders › Cancellations. El tram Octopia demana el permís Octopia User: si no el tens, no veus aquest tram.

El missatge The order has no sales channel to fetch reasons for. pot sortir en prémer el botó Fetch Eligible Reasons d'aquesta fitxa. Està al codi publicat d'Odoo 17, 18, 19 i 20.

Esquema fet amb codi, no una pantalla d'Odoo: el menú Octopia › Orders › Cancellations, el botó Fetch Eligible Reasons i el missatge The order has no sales channel to fetch reasons for.
Esquema del recorregut: menú, botó i missatge, amb els rètols en anglès del codi del mòdul (Odoo 17, 18, 19 i 20)

Amb les traduccions publicades del mòdul, el mateix missatge es llegeix així:

IdiomaText del missatge
CastellàEl pedido no tiene canal de ventas del que obtener los motivos.
AnglèsThe order has no sales channel to fetch reasons for.
AlemanyDie Bestellung hat keinen Verkaufskanal, für den Gründe abgerufen werden könnten.
FrancèsLa commande n'a aucun canal de vente pour lequel récupérer des motifs.
ItaliàL'ordine non ha un canale di vendita per cui recuperare i motivi.
PortuguèsA encomenda não tem canal de vendas para o qual obter motivos.
Esquema fet amb codi a partir de les traduccions publicades del mòdul, no una pantalla d'Odoo: el missatge en castellà, alemany, francès, italià i portuguès
Esquema amb el text del missatge en cada idioma de les traduccions del mòdul

El botó només es veu mentre la sol·licitud és en el seu estat inicial

La vista amaga Fetch Eligible Reasons quan la sol·licitud ja no és en el seu estat inicial, el que té per defecte al camp State. Amb els valors per defecte, el botó es veu. És igual a Odoo 17, 18, 19 i 20.

Té una conseqüència pràctica: si obres una sol·licitud i no veus el botó, no hi ha res a prémer i, per tant, aquest missatge no surt des d'aquesta fitxa. Si el veus, la sol·licitud continua en el seu estat inicial.

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 (vídeo en castellà)

Què comprova el codi i en quin ordre

Es mira el canal de la comanda, no el de la sol·licitud

El canal de vendes no es llegeix de la sol·licitud de cancel·lació, sinó de la comanda a la qual està lligada. La condició exacta del codi és aquesta: que el canal de vendes d'aquesta comanda estigui buit. Per això dues sol·licituds diferents poden donar resultats diferents: depèn de si la seva comanda té canal de vendes.

És el primer que fa el mètode

El botó crida un mètode que recorre les sol·licituds sobre les quals es llança. Per a cadascuna pren la seva comanda i mira el canal de vendes d'aquesta comanda. Si està buit, llança el missatge i l'acció s'atura aquí.

Aquesta comprovació va abans de qualsevol altra cosa del mètode: abans de decidir quin estat de la comanda s'utilitzarà i abans de passar cap dada al pas següent del mòdul.

Prémer una altra vegada no ho arregla

El mètode només llegeix el canal de vendes de la comanda. No l'omple ni el canvia, així que tornar a prémer Fetch Eligible Reasons sense tocar res dona el mateix resultat: el missatge continuarà sortint mentre la comanda no tingui canal de vendes.

Quan sí que hi ha canal, el mètode continua

Si la comanda té canal, el mètode decideix amb quin estat de la comanda continuarà: si l'estat de la comanda és Accepted, InPreparation, Shipped o Delivered, fa servir aquest; amb qualsevol altre fa servir Accepted.

Després passa el compte de la comanda, el codi del canal, el valor Seller i aquest estat al pas següent del mòdul, i acaba. Per això el canal importa de debò: el seu codi és una de les dades que el mètode passa, i sense canal el mètode ni arriba a aquest punt.

Com resoldre-ho

El que demana el missatge és que la comanda de la sol·licitud tingui canal de vendes. Com que el botó no l'escriu, l'arranjament és a la comanda, no al botó.

  1. Obre la sol·licitud des de Octopia › Orders › Cancellations i comprova que veus Fetch Eligible Reasons. Si no el veus, la sol·licitud ja no és en el seu estat inicial.
  2. Identifica la comanda a la qual pertany la sol·licitud: és la que ha de tenir canal de vendes.
  3. Quan aquesta comanda tingui canal de vendes, torna a prémer Fetch Eligible Reasons.

Si després d'això torna a sortir el mateix missatge, la comanda continua amb el canal de vendes buit: la comprovació del codi no mira res més.

Si necessites una mà

FlexigoTech implanta Odoo 17, 18, 19 i 20 i desenvolupa connectors i integracions a mida. Octopia Connector és un mòdul de pagament únic per versió i necessita la subscripció a FlexigoTech Cloud: el pla Connector costa 49 €/mes o 490 €/any sense IVA.

Si vols veure com actua un altre botó de la sol·licitud, tens el de Submit to Octopia.

Continua llegint

Què fa el botó «Submit to Octopia» d'Octopia Connector, pas a pasQuè fa el botó Submit to Octopia a Importacions massives de factures: quan apareix, què comprova, què canvia i l'error que pot donar.Què fa el botó «Import» d'Octopia Connector, pas a pasQuè fa el botó Import d'Octopia Connector a Odoo: quan es veu, què importa, què canvia, quin avís dona i quina entrada deixa al registre.Què fa el botó «Create Vendor Bill» d'Octopia ConnectorQuè fa el botó Create Vendor Bill d'Octopia Connector a Odoo: quan apareix, què comprova, què crea i on es pot aturar el procés.
Comprovat al codi del connector (versió 20.0) i a les fonts enllaçades

Fonts