Dove compare e quando si vede il pulsante
Compare da un pulsante della richiesta di annullamento
Le schede delle richieste di annullamento si aprono dal menu Octopia › Ordini › Annullamenti. Il ramo Octopia richiede il permesso Utente Octopia: se non ce l'hai, quel ramo non lo vedi.
Il messaggio L'ordine non ha un canale di vendita per cui recuperare i motivi. (The order has no sales channel to fetch reasons for.) può comparire premendo il pulsante Recupera motivi idonei (Fetch Eligible Reasons) di quella scheda. È presente nel codice pubblicato di Odoo 17, 18, 19 e 20.

Con le traduzioni pubblicate del modulo, lo stesso messaggio si legge così:
| Idioma | Texto del mensaje |
|---|---|
| Castellano | El pedido no tiene canal de ventas del que obtener los motivos. |
| Inglés | The order has no sales channel to fetch reasons for. |
| Alemán | Die Bestellung hat keinen Verkaufskanal, für den Gründe abgerufen werden könnten. |
| Francés | La commande n'a aucun canal de vente pour lequel récupérer des motifs. |
| Italiano | L'ordine non ha un canale di vendita per cui recuperare i motivi. |
| Portugués | A encomenda não tem canal de vendas para o qual obter motivos. |

Il pulsante si vede solo finché la richiesta è nello stato iniziale
La vista nasconde Recupera motivi idonei quando la richiesta non è più nello stato iniziale, quello predefinito nel campo Stato (State). Con i valori predefiniti, il pulsante si vede. È uguale in Odoo 17, 18, 19 e 20.
Ha una conseguenza pratica: se apri una richiesta e non vedi il pulsante, non c'è nulla da premere e, quindi, questo messaggio non compare da quella scheda. Se lo vedi, la richiesta è ancora nello stato iniziale.

Cosa controlla il codice e in che ordine
Si guarda il canale dell'ordine, non quello della richiesta
Il canale di vendita non si legge dalla richiesta di annullamento, ma dall'ordine a cui è collegata. La condizione esatta del codice è questa: che il canale di vendita di quell'ordine sia vuoto. Per questo due richieste diverse possono dare risultati diversi: dipende dal fatto che il loro ordine abbia o no un canale di vendita.
È la prima cosa che fa il metodo
Il pulsante chiama un metodo che scorre le richieste su cui viene lanciato. Per ognuna prende il suo ordine e guarda il canale di vendita di quell'ordine. Se è vuoto, lancia il messaggio e l'azione si ferma lì.
Questo controllo viene prima di qualsiasi altra cosa del metodo: prima di decidere quale stato dell'ordine usare e prima di passare qualsiasi dato al passaggio successivo del modulo.
Premere di nuovo non lo risolve
Il metodo legge soltanto il canale di vendita dell'ordine. Non lo compila né lo modifica, quindi premere di nuovo Recupera motivi idonei senza toccare nulla dà lo stesso risultato: il messaggio continuerà a comparire finché l'ordine non avrà un canale di vendita.
Quando il canale c'è, il metodo prosegue
Se l'ordine ha un canale, il metodo decide con quale stato dell'ordine proseguire: se lo stato dell'ordine è Accepted, InPreparation, Shipped o Delivered, usa quello; con qualsiasi altro usa Accepted.
Poi passa l'account dell'ordine, il codice del canale, il valore Seller e quello stato al passaggio successivo del modulo, e termina. Per questo il canale conta davvero: il suo codice è uno dei dati che il metodo passa, e senza canale il metodo non arriva nemmeno a quel punto.
Come risolverlo
Il messaggio chiede che l'ordine della richiesta abbia un canale di vendita. Poiché il pulsante non lo scrive, la correzione sta nell'ordine, non nel pulsante.
- Apri la richiesta da
Octopia › Ordini › Annullamentie verifica di vedereRecupera motivi idonei. Se non lo vedi, la richiesta non è più nello stato iniziale. - Individua l'ordine a cui appartiene la richiesta: è quello che deve avere un canale di vendita.
- Quando quell'ordine avrà un canale di vendita, premi di nuovo
Recupera motivi idonei.
Se dopo questo compare di nuovo lo stesso messaggio, l'ordine ha ancora il canale di vendita vuoto: il controllo del codice non guarda altro.
Se ti serve una mano
FlexigoTech implementa Odoo 17, 18, 19 e 20 e sviluppa connettori e integrazioni su misura. Octopia Connector è un modulo a pagamento unico per versione e richiede l'abbonamento a FlexigoTech Cloud: il piano Connettore costa 49 €/mese o 490 €/anno IVA esclusa.
Se vuoi vedere come agisce un altro pulsante della richiesta, trovi quello di Submit to Octopia.
Continua a leggere
Verificato nel codice del connettore (versione 20.0) e nelle fonti collegate
Fonti
- Codice del modulo: flexigobe_octopia_connector 20.0 (4848da6a): models/octopia_order_actions.py
- Codice del modulo: flexigobe_octopia_connector 20.0 (4848da6a): views/octopia_completeness2_views.xml
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
