Data ultimo aggiornamento: 21/09/2026

Clicca per accedere al sito di NTS Informatica
Clicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomento
Clicca per accedere al sito di NTS Informatica

Collegamento a piattaforme corrieri

Integrazione con corrieri BRT e GLS

1 Introduzione
1.1 Concetti base generici
1.2 Concetti base in Business
2 Stuttura tabellare
3 Flusso operativo
4 Operatività in Business
4.1 Configurazione Iniziale
4.2 Creazione della spedizione da Gestione docuementi Magazzino
4.3 Modifica dati spedizione
4.4 Invio dati spedizione al corriere
4.5 Conferma dati spedizione al corriere
4.6 Annullamento dati spedizione al corriere
4.7 Aggiornamento tracking spedizione
4.8 Stampa etichette
5 Flusso operativo richieste di ritiro
5.1 Invio richiesta di ritiro
5.2 Annullamento richiesta di ritiro
6 Logica di salvataggio spedizione da "Gestione documenti"
7 Limitazioni

1 Introduzione
Lo scopo del modulo è quello di automatizzare lo scambio di informazioni tra azienda e spedizioniere per effettuare le richieste di ritiro della merce e l'eventuale tracciamento della spedizione (tracking) attraverso strumenti informatici messi a disposizione dai corrieri. In questa prima fase si prevede di interfacciare i corrieri "BRT" e "GLS".

N.B.: attenzione allo scambio dati per il GPV Recovery, in particolare alle nuove tabelle da popolare sulla postazione "remota". Si dovrà gestire solo il passaggio dei dati dal server ai client dei dati necessari alla gestione dell'integrazione con i corrieri. Non è necessario invece passare i dati dai client al server in quanto le informazioni dei ritiri riguardano solo ciascuno specifico negozio.

1.1 Concetti base generici
La spedizione della merce tramite corriere sottintende due concetti chiave, i quali rappresentano due momenti ben distinti:
- la richiesta di ritiro: la richiesta al corriere di venire a ritirare la merce presso il punto di presa (= il luogo da cui parte la merce)
- la spedizione: la spedizione della merce per consegna al destinatario, che comincia quando il corriere parte per consegnare la merce al/ai destinatario/i

Questi concetti vanno distinti in quanto è possibile effettuare una spedizione anche senza richiesta di ritiro da parte del corriere, nel caso in cui l'azienda che deve effettuare la spedizione porta la merce da spedire ad un punto di consegna del corriere e quindi si occupa in prima persona di affidare al corriere i colli da spedire, senza che sia il corriere a venirli a ritirare.
I due concetti sono distinti anche dal punto di vista temporale, perché il ritiro riguarda l'arco temporale precedente alla consegna della merce al corriere mentre la spedizione è riferita a quando la merce è già stata affidata al corriere e parte per essere consegnata al destinatario.
Si sottolinea inoltre che la "spedizione" a cui si fa riferimento in questo documento non è da confondere con le "spedizioni" della consolle spedizioni, però i due moduli potranno coesistere.


1.2 Concetti base in Business
Ciascuna spedizione deve essere collegata ad un singolo documento di magazzino: 1 DDT/fattura  1 spedizione
Una richiesta di ritiro, invece, può essere associata a più spedizioni, in quanto è possibile che nello stesso giorno occorra spedire più pacchi in destinazioni differenti, ma il corriere passi una sola volta presso l'azienda per ritirare tutta i pacchi che deve consegnare: 1 ritiro  N spedizioni
Il flusso operativo prevede quindi:
1. emissione di un documento EMESSO (eccetto note di prelievo)
2. creazione della spedizione correlata al documento
3. trasmissione dei dati della spedizione al corriere (ed eventuale conferma della stessa), il corriere restituisce l'etichetta da apporre sui colli della spedizione
4. richiedere il ritiro per una o più spedizioni (se necessario)
5. aggiornamento del tracking della spedizione

2 Stuttura tabellare
Ci sono due tabelle fondamentali: TABKCSPED (spedizioni) e TABKCRIT (richieste di ritiro).
Esse sono in relazione N – 0 (proprio perché una spedizione potrebbe non avere la corrispondente richiesta di ritiro oppure più spedizioni vengono assimilate nello stesso ritiro).
TABKCSPED è inoltre in relazione 1-1 con TESTMAG.
Ci sono poi altre tabelle di contorno necessarie per la memorizzazione di altri dati collegati alla gestione dell'integrazione e, oltre a ciò, sono stati aggiunti campi su tabelle già esistenti, come TABVETT, TESTMAG, ...

TABKCBRT = configurazione integrazione con BRT (nuova tabella)
Contiene i dati per interfacciarsi con i webService di BRT e per pilotare alcuni comportamenti all'interno dei programmi.

TABKCGLS = configurazione integrazione con GLS (nuova tabella)
Contiene i dati per interfacciarsi con i webService di GLS e per pilotare alcuni comportamenti all'interno dei programmi.

TABCPCS = status tracking dei corrieri (nuova tabella)
Contiene i codici e le descrizioni degli status restituiti dai corrieri in fase di tracking delle spedizioni. Serve per poter eventualmente associare agli status una propria descrizione interna (ad esempio, per accorpare vari status del corriere in un unico status interno; ad esempio i seguenti status del corriere "in transito", "in arrivo alla filiale" e "in consegna in data odierna", potrebbero avere tutti una descrizione interna "in viaggio" per poter ignorare gli step intermedi) oppure un colore da visualizzare nei vari programmi.

Gli status sono distinti solo per TIPO CORRIERE e NON per singola configurazione, in quanto per ciascun corriere un codice status ha lo stesso significato a prescindere dalla configurazione codificata in Business (ad esempio, per BRT lo status "700" rappresenta "DATI SPEDIZ. TRASMESSI A BRT" a prescindere dal valore di tabkcbrt.tb_codkc!).

NB: Il fatto che gli status siano legati solo al tipo corriere (B/G) e NON ad ogni configurazione comporta come unico "limite" che non sia possibile personalizzare "colore" e "descrizione interna" per le diverse configurazioni, ma questa cosa non avrebbe comunque un'utilità pratica rilevante. Il vantaggio di operare in questo modo, però, è evitare una moltiplicazione inutile di dati e più agevolezza nella manutenzione (se in futuro verrà aggiunto uno status, l'utente deve compilarlo solo una volta in una sola tabella, e NON in tutte le configurazioni di quel corriere!).

TABCPCI = tipi di incasso dei corrieri (nuova tabella)
Definisce la lista con i codici dei possibili tipi di incasso supportati da uno specifico corriere. Tale tabella serve nel caso in cui la spedizione comprenda anche il pagamento della merce alla sua consegna (spedizione in contrassegno) in quanto nelle informazioni trasmesse tramite API ai webservice occorre specificare il tipo di pagamento accettato dal corriere al momento del pagamento.

TABCPPC = modalità di incasso BRT (nuova tabella)
Consente di codificare i codici tariffa da applicare alle spedizioni, solo per BRT.

TABPAGA
Aggiunti due nuovi campi:
- tb_kcb_codcpci = modalità di incasso BRT
- tb_kcg_codcpci = modalità di incasso GLS
Tramite tali campi è possibile indicare per ogni forma di pagamento il corrispondente codice del corriere.
La relazione è infatti di 1-N tra TABCPCI e TABPAGA: possono esserci più forme di pagamento in Business che corrispondono alla stessa modalità di incasso di un corriere

Ad esempio: per BRT c'è un'unica modalità di incasso = "CONTANTI". In Business però si potrebbe aver codificato più record di tabpaga di tipo contanti, magari per impostarvi condizioni differenti (ad esempio sconti, rate, etc)

TABPORT
Aggiunti due nuovi campi:
- tb_kcb_tipoporto = tipo di porto BRT
- tb_kcg_tipoporto = tipo di porto GLS

Tramite questi campi è quindi possibile associare a ciascun porto, il corrispondente valore del corriere.

TABMAGA
Aggiunto il nuovo campi:
- tb_kcb_lineapart = linea partenza (departure depot), solo riferito a BRT

ANAGRA/DESTDIV

Aggiunti nuovi campi per i recapiti da utilizzare per l'invio di notifiche relative al tracking (sono notifiche che invia il corriere BRT/GLS, NON Business!!):
- an_personarif /dd_ personarif = nominativo della persona di riferimento che deve essere notificata
- an_cellnotif/dd_ cellnotif = n. cellulare della persona di riferimento che deve essere notificata
- an_emailnotif /dd_ emailnotif = email della persona di riferimento che deve essere notificata

TABSEVE = servizi vettore (nuova tabella)
Sono servizi aggiuntivi che il corriere fornisce per le diverse spedizioni (consegna al sabato, preavviso telefonico, consegna ai piani, etc). Per GLS sono distinti per tipologia di servizio, in base al fatto che si riferiscano ad una richiesta di ritiro o ad una spedizione. Per BRT invece ci sono solo servizi aggiuntivi relativi alle spedizioni.
Devono essere codificati per poterli poi aggiungere nelle spedizioni (o nelle richieste di ritiro) o per fare in modo che siano eventualmente proposti in automatico nelle singole spedizioni senza che debbano essere aggiunti ogni volta. La tabella viene compilata a mano dall'utente.

NB: per una scelta implementativa questa tabella si aggancia ai vettori e non alla tabella dei tipi di configurazione delle piattaforme corrieri, perché con lo stesso corriere potrei avere contratti diversi e voler proporre per default dei servizi differenti.

TABSDVE = sedi vettore (nuova tabella)
Permette di codificare diverse sedi dei vettori, da utilizzare nel caso di fermo deposito (e/o a scopo informativo).

TABVETT
Sono stati aggiunti i seguenti nuovi campi:
- Tb_tipocorriere: indica il tipo di integrazione di quel corriere; comboBox con valori ammessi N (default) = nessuna integrazione, B = BRT, G = GLS
- Tb_codkc = codice configurazione (collegata a tabkcbrt.tb_codkcbrt o tabkcgls.tb_codkcgls a seconda del valore di tb_tipocorriere. Ovviamente tale campo è modificabile solo se tb_tipocorriere <> N)
- Tb_codsdve = è la sede di riferimento per il vettore (collegata a TABSDVE)
- Tb_codcontratto = il codice di contratto col vettore inserito manualmente (solo informativo)
- Tb_orainiziomat = ora di inizio della fascia oraria mattutina in cui il corriere può venire a effettuare il ritiro (valori 08, 09, 10, 11, 12)
- Tb_orafinemat = ora di fine della fascia oraria mattutina in cui il corriere può venire a effettuare il ritiro (valori 09, 10, 11, 12, 13)
- Tb_orainiziopome = ora di inizio della fascia oraria pomeridiana in cui il corriere può venire a effettuare il ritiro (valori 13, 14, 15, 16, 17)
- Tb_orafinepome = ora di inizio della fascia oraria pomeridiana in cui il corriere può venire a effettuare il ritiro (valori 14, 15, 16, 17, 18)
- tb_ noteprep = testo di default da proporre nelle note di ciascun spedizione

TESTMAG
Sono stati aggiunti i seguenti nuovi campi:
- tm_kcgestintegr = S/N se quel documento gestisce o meno l'integrazione. Se il vettore non ha associata l'integrazione con un corriere, vale sempre N e non è modificabile; se il vettore ha l'integrazione con un corriere, di default viene proposta a S ma può essere deselezionata se per uno specifico documento non si vuole gestire la spedizione con il corriere.
- tm_kgtipocorriere = B/G a seconda che il corriere (rilevato dal vettore) sia BRT o GLS
- tm_kcidprogr = ID della spedizione associata al documento (collegata a TAKCSPED.tb_idprogr)
- tm_kcstatusrich = status della spedizione (collegata a tabkcsped.tb_statusrich) NON USATO!

TABKCSPED = spedizioni da effettuare con il corriere (nuova tabella)
Contiene tutti i dati utili da trasmettere al corriere tramite webService affinché venga creata la spedizione.

TABKCSERV = servizi aggiuntivi delle spedizioni (nuova tabella)
Contiene i servizi aggiuntivi di ciascuna spedizione.

TABKCTRACK = storico tracking delle spedizioni (nuova tabella)
Contiene tutto lo storico del tracking di ciascuna spedizione.

TABKCLABEL = etichette delle spedizioni (nuova tabella)
Contiene le etichette che il corriere restituisce quando viene creata una spedizione; si avrà un'etichetta per ciascun collo da spedire.

TABKCRIT = richiesta di ritiro al corriere (nuova tabella)
Contiene tutti i dati utili da trasmettere al corriere tramite webService affinché venga prenotato un ritiro della merce da spedire.

TABKCTRACKRIT= storico tracking delle richieste di ritiro (nuova tabella)
Contiene tutto lo storico del tracking di ciascuna richiesta di ritiro.

TABKCSERVRIT = servizi aggiuntivi delle richieste di ritiro (nuova tabella)
Contiene i servizi aggiuntivi di ciascuna richiesta di ritiro (popolato solo per GLS).

3 Flusso operativo
Il flusso operativo prevede innanzitutto che con BRT e/o con GLS venga stipulato un contratto che consenta quindi l'uso dei rispettivi sistemi per la gestione delle spedizioni e l'eventuale prenotazione dei ritiri.
Successivamente per ciascun documento emesso (ad esclusione delle note di prelievo) verrà creata la corrispondente spedizione da effettuare con il corriere se il vettore indicato in testata prevede tale gestione.
Una volta che i dati della spedizione sono stati eventualmente integrati/rettificati, si procederà a trasmettere i dati al corriere per fare in modo che la spedizione sia recepita e creata anche nel suo sistema. In alcuni casi, è possibile inoltre che la spedizione vada anche successivamente confermata in modo esplicito affinché il corriere prenda effettivamente in carico la spedizione. In particolare:

- BRT
Ci sono 4 differenti modalità operative, distinte per il fatto che la conferma della spedizione sia automatica o esplicita e per il fatto che l'etichetta sia quella BRT oppure personalizzata:
- UC1 - Autoconferma e etichetta personalizzata
- UC2 - Autoconferma e etichetta BRT
- UC3 - Conferma esplicita e etichetta personalizzata
- UC4 - Conferma esplicita e etichetta BRT
Di conseguenza, con modalità UC1 e UC2 la trasmissione dei dati a BRT comporta che tale spedizioni sia anche giù automaticamente confermata; diversamente con modalità UC3 e UC4 occorrerà effettuare un passaggio aggiuntivo di conferma di una spedizione precedentemente inviata al corriere.

- GLS
Anche GLS consente di fare invio e conferma della spedizione in momenti distinti, ma non ha delle modalità operative specifiche come invece avviene con BRT. Per praticità, quindi, in Business si è deciso di operare come nella modalità di autoconferma, per cui di norma quando si inviano i dati di una spedizione a GLS, vengono anche automaticamente confermati. Nel caso in cui, tuttavia, la conferma non vada a buon fine, è possibile agire a posteriori confermando esplicitamente la spedizione.

Infine, in certe condizioni, è possibile anche annullare una spedizione.

Per le spedizioni che lo richiedono, è possibile poi prenotare un ritiro da parte del corriere. Ciò significa che per una o più spedizioni già inviate e confermate si può creare una richiesta di ritiro, che dovrà essere trasmessa al corriere affinché venga inserita nei suoi sistemi.
Non sarà possibile annullare una spedizione che sia contenuta in una richiesta di ritiro già inviata. Se invece la richiesta di ritiro non è stata ancora inviata al corriere, l'annullamento di una spedizione comporta la sua automatica rimozione dalla richiesta di ritiro ed anche quest'ultima viene cancellata nel caso in cui non contenga altre spedizioni.



Solo per corriere BRT è possibile attivare contratti con ritiro fisso, ossia che il corriere passa tutti i giorni presso la sede concordata a ritirare la merce da spedire; in questo contesto, quindi, non è possibile creare e gestire le richieste di ritiro in quanto non necessario.

Il successivo aggiornamento del tracking provvederà poi a rilevare i vari step effettuati dalla spedizione (in transito, in consegna, consegnata, ...). Tali step vengono memorizzati nell'apposita tabella TABKCTRACK.


ATTENZIONE: sia per le spedizioni che per le richieste di ritiro è gestita la concorrenza. Non è quindi possibile salvare o fare alcuna operazione (invio – annullamento – etc) su spedizioni/richieste di ritiro che nel frattempo sono state modifiche da un altro utente o sessione di lavoro.

4 Operatività in Business

4.1 Configurazione Iniziale
Come prima cosa, dopo aver stipulato uno o più contratti con il corriere, occorre popolare la tabella di configurazione tramite il programma "Configurazioni integrazione corrieri" (BNKCCONF).
La schermata principale permette la scelta del corriere:


Per ciascun corriere saranno da configurare i vari dati riferiti al contratto:


- BRT


- GLS


NB: in entrambe le configurazioni, il campo "Nome stampante termica" ammette sia l'indicazione del nome della stampante (nel caso in cui sia installata) sia l'indicazione dell'indirizzo IP.
Dal menu "Strumenti" si accede alle maschere che consentono di codificare gli status tracking, le modalità di incasso e (solo per BRT) i codici tariffa. Tali dati devono essere compilati usando i codici effettivamente gestiti dal corriere quindi deve essere premura dell'utente popolare le tabelle con dati coerenti e verificati! La codifica degli status è tuttavia facoltativa in quanto di default vengono codificati in automatico quando si rileva il tracking di una spedizione/richiesta di ritiro (a meno che si disabiliti con valore "0" l'opzione "Tracking_CreaStatusNonCodificati").
Si sottolinea che per lo stesso corriere si possono avere più record, nel caso in cui si abbiano contratti differenti o si vogliano gestire profili differenti per ambiente di test e per ambiente di produzione.

Successivamente compilare la tabella "Vettori/spedizioni" per associare ad un vettore la configurazione corrispondente e compilare gli eventuali altri dati:

Una volta compilato il campo "Integrazione con corriere", si abilitano gli altri campi:
- codice configurazione
- sede predefinita (deve essere codificata tra le sedi del vettore, accessibili tramite il menu "Strumenti")
- codice contratto (dato solo informativo)
- fasce orarie in cui il corriere può venire a ritirare la merce

Dal menu "Strumenti" si accede inoltre anche alla compilazione dei servizi del vettore:



ATTENZIONE! La compilazione è demandata all'utente, che dovrà avere cura di inserire i codici effettivamente gestiti dal corriere!

NB: la compilazione dei servizi aggiuntivi e delle sedi dei vettori è facoltativa

Solo per BRT nella tabella Magazzini depositi terzisti andrà compilato anche il campo 'Codice linea di partenza BRT'

4.2 Creazione della spedizione da Gestione docuementi Magazzino
Con attivo il nuovo modulo di "Collegamento piattaforme corrieri", quando su un documento EMESSO (eccetto note di prelievo) si indica un vettore che collegato ad una configurazione corriere nella sezione "Varie" viene in automatico impostata la spunta "Gestisti spedizione con corriere"

Nel momento in cui si indica un vettore associato ad una configurazione corriere, viene creata in automatico la corrispondente spedizione (si aggiunge un record in tabkcsped) avente:

• ID = identificativo di 9 cifre attribuito in automatico, composto con la seguente logica: le prime due cifre identificano l'anno mentre le restanti 7 sono un progressivo numerico, con anteposti degli zero non significativi
• Magazzino di presa: si propone il magazzino di testata. È altrimenti possibile impostare un magazzino di presa di default tramite l'opzione BSVEBOLL\OPZIONI\Corrieri_MagazzinoDiPresaDefault
• tipo porto = se nel piede del documento è indicato un porto, si riporta il "Tipo porto" del corrispondente corriere indicato su di esso.
• invia notifiche al destinatario della merce: riporta il corrispondente valore indicato nella configurazione del corriere
• recapiti della persona a cui inviare le notifiche tracking:
•• se sul documento è valorizzata la destinazione diversa (tm_coddest <> 0):
••• se almeno uno tra dd_personarif, dd_cellnotif e dd_emailnotif è valorizzato, vengono riportati tali valori sulla spedizione
••• se nessuno tra dd_personarif, dd_cellnotif e dd_emailnotif è valorizzato, allora persona di riferimento rimane non valorizzato, cellulare notifica riporta il valore di dd_cell mentre l'email notifica riporta dd_email
•• se sul documento non è valorizzata la descrizione diversa (tm_coddest = 0)
••• se almeno uno tra an_personarif, an_cellnotif e an_emailnotif è valorizzato, vengono riportati tali valori sulla spedizione
••• se nessuno tra an_personarif, an_cellnotif e an_emailnotif è valorizzato, allora persona di riferimento riporta il valore di an_contatt, cellulare notifica riporta il valore di an_cell mentre l'email notifica riporta an_email

• Note preparazione: riporta quelle di default del vettore seguite eventualmente dalle note consegna di piede del documento
• Richiedi ritiro: di norma vale "N = da richiedere"; solo per BRT, se in configurazione è impostato di richiedere il ritiro fisso, allora assume valore "ritiro fisso"
• Codice tariffa BRT: viene riportata quella di default impostata sulla configurazione
• Servizi aggiuntivi: vengono associati in automatico alla spedizione tutti i servizi del vettore (riferiti a "Spedizione") che non siano obsoleti e che abbiano impostata la spunta "Servizio di default attivo nei documenti"
L'ID della spedizione viene quindi riportato anche sul piede del documento, per collegare in modo 1-1 il record di testmag con quello di tabkcsped.

È comunque possibile andare in deroga a questo automatismo rimuovendo poi la spunta "Gestisci spedizione con corriere" se per un determinato documento la spedizione avviene in altro modo o non deve essere effettata. Una volta rimossa, è comunque possibile reimpostare la spunta ma solo se in testata è indicato un vettore collegato ad un corriere.

4.3 Modifica dati spedizione
Tutti i dati della spedizione possono essere visualizzati direttamente dentro il documento di magazzino tramite l'apposito pulsante della toolbar "Integrazione corriere – Visualizza dati spedizione"

Si aprirà quindi la seguente maschera dove è possibile gestire tutti i dati della spedizione:

In dettaglio:
• DATI PRINCIPALI
Riporta le informazioni basilari della spedizione. Lo status non è mai modificabile in quanto gestito in automatico dal programma. Si tratta comunque di uno status "interno" che assume i valori:
- non inviata = i dati della spedizione non sono ancora stati trasmessi al corriere
- inviata e da confermare = i dati della spedizione sono stati trasmessi al corriere ma non sono ancora stati confermati (si intende conferma da parte dell'utente: in alcuni casi occorre che il cliente confermi i dati trasmessi al corriere così da farne partire la presa in carico da parte di BRT/GLS)
- inviata e confermata = i dati della spedizione sono stati trasmessi e confermati al corriere
- spedizione partita = la merce è stata consegnata al corriere oppure il corriere è venuta a ritirarla per cui la spedizione viene considerata "partita", per identificare che per essa non sono più necessarie operazioni da parte dell'utente

Impostando la spunta "Fermo deposito" si propone in automatico la sede predefinita indicata sul vettore.

Il campo "Richiedi ritiro al corriere" è abilitato solo se non vale "Ritiro fisso".

• DATI DELLA MERCE DA SPEDIZIONE
Indicare il numero di pacchi ed il peso (in KG). Tali dati vanno compilati manualmente dall'utente in quanto NON è presente alcun automatismo che li valorizzi in automatico (ad esempio: rilevandoli dal piede del documento  il totale colli non corrisponde necessariamente al numero di pacchi da spedizione né tanto meno ciò vale per il volume)
Il tipo porto non è modificabile in quanto rilevato in automatico dal porto di piede.
Per GLS, il tipo collo assume di default il valore "Standard", ma può essere modificato impostandovi il valore "Plus" solamente nel caso in cui la configurazione corriere abbia l'indicazione di "Contratto Plus".

• DATI RESTITUITI DAL CORRIERE
Riporta l'ID della spedizione del corriere che viene assegnato quando si trasmette la spedizione al corriere.

• TRACKING DELLA SPEDIZIONE
Riporta l'ultimo (in ordine cronologico) status che assume la spedizione quando ne viene rilevato il tracking.
Tramite apposito pulsante è possibile accedere a tutto lo storico.

• NOTIFICHE TRACKING
Solo se la configurazione ammette l'invio di notifiche al destinatario merce, tale sezione sarà modificabile.

• SERVIZI
È possibile aggiungere o rimuovere servizi per un massimo di 6 servizi per GLS o 2 servizi per BRT

Importante: qualsiasi modifica alla spedizione è ammessa fintanto che non è stata trasmessa al corriere!
Per poter gestire il caso in cui, però, alcune rettifiche vengono fatte direttamente con il corriere attraverso altri canali (ad esempio telefonicamente o per email), allora può essere necessario modificare i dati all'interno del gestionale per mantenerli allineati alla situazione reale. A questo scopo, è presente un apposito pulsante per sbloccare la spedizione, che abiliterà tutti i campi che ha senso modificare (status, numero di pacchi, etc.. ma non, ad esempio, l'ID spedizione). In questo modo l'utente, coscienziosamente, può apportare le modifiche desiderate e poi confermare tali informazioni. Il salvataggio dei dati, però, in questo caso avviene subito e non al salvataggio del documento. Tale funzione è da utilizzare con molta attenzione ed è disponibile solo all'interno della form 'visualizza dati spedizione' accessibile da "Gestione documenti".


Alcune informazioni della spedizione sono pilotate dal documento di magazzino, quindi: cosa avviene in modifica del documento?

• CAMBIO VETTORE
- non è possibile se il documento ha associata una spedizione già trasmessa al corriere
- se il nuovo vettore ha un tipo di integrazione differente da quello precedentemente indicato ci sono diversi scenari:

caso 1) NON GESTITA >>> BRT oppure NON GESTITA >>> GLS
 si attiva l'integrazione creando la spedizione associata al documento e popolando TABKCSPED come sopra decritto

Caso 2) BRT >>> NON GESTITA oppure GLS >>> NON GESTITA
 si disattiva l'integrazione: si rimuove la spunta "Gestisci spedizione con corriere" nel piede, si cancella la spedizione e tutti i tuoi dati

Caso 3) BRT >>> GLS oppure GLS >>> BRT
 la vecchia spedizione viene eliminata e se ne crea una nuova con le stesse logiche indicate sopra
- se il nuovo vettore ha lo stesso tipo di integrazione di quello precedentemente indicato (BRT >>> BRT oppure GLS >>> GLS)  vengono rideterminati solo i dati rilevati dal vettore (quindi le note preparazione ed i servizi aggiuntivi; questi ultimi vengono cancellati ed eventualmente si propongono quelli associati al nuovo vettore indicato) e quelli della configurazione (invio notifiche al destinatario, richiedi ritiro, codice tariffa BRT).

• CAMBIO MAGAZZINO DI TESTATA
Si riporta tale valore anche nel magazzino di presa della spedizione se:
- la spedizione associata al documento non risulta trasmessa
- non è impostata l'opzione "Corrieri_MagazzinoDiPresaDefault"
- ed il magazzino di presa della spedizione coincideva con quello indicato in testata (il senso è quello di mantenere il dato allineato tra testata del documento e spedizione; se però nella spedizione era stato modificato dall'utente, è giusto mantenere tale rettifica)

• CAMBIO PORTO
Aggiorna il porto nella spedizione, se non risulta già trasmessa

• CAMBIO CONTO/DESTINAZIONE
Aggiorna i recapiti per l'invio delle notifiche tracking, se la spedizione non risulta già trasmessa


Dashboard richieste di ritiro e spedizioni corrieri" (BNKCCONS)
Dalla dashboard spedizioni è possibile trasmettere al corriere i dati delle spedizioni selezionate. L'invio è possibile solamente per spedizioni con status 'Non inviata' e che siano associate ad un documento di magazzino. Si opera poi in modo distinto in base al corriere.


Nella prima pagina sono mostrati tutti i dati delle spedizioni che soddisfano i parametri di ricerca. I filtri dello status sono recentati, mentre quelli della data documento sono proposti in automatico come da "data odierna – 7 giorni" a "data odierna + 7 giorni". È possibile parametrizzare il numero di giorni tramite le opzioni di registro BSKCCONS\OPZIONI\FiltroDataDocumento_GiorniIndietro e FiltroDataDocumento_GiorniAvanti.
Gli status della spedizione vengono evidenziati con colori differenti per segnalare diverse situazioni. La spiegazione dei colori è presente nella "Legenda colori" a cui si accede tramite il pulsante di toolbar "Guida".


4.4 Invio dati spedizione al corriere

1. Invio a BRT
L'invio a BRT è possibile solo se:
- nella configurazione associata al corriere sono valorizzati utente, password ed il codice cliente.
- nel magazzino di presa è valorizzata la "Linea di partenza"
- sulla spedizione è valorizzato il tipo porto (con uno dei valori ammessi DAP o EXW)
- ragione sociale, indirizzo, CAP, località, nazione e provincia del destinatario sono valorizzati
- il codice tariffa è valorizzato
- il numero di pacchi è valorizzato e non supera il valore 30
- il peso totale in KG è valorizzato
- il riferimento numerico del mittente è valorizzato
I dati da trasmettere di tipo alfanumerico vengono automaticamente troncati nel caso in cui superino il limite massimo consentito dalle API di BRT.

Se queste condizioni sono soddisfatte, viene fatto l'invio dei dati della spedizione a BRT, il quale può restituire:
- esito negativo: se per qualche motivo la chiamata non va a buon fine
- esito positivo con segnalazione informativa
- esito positivo
In caso di esito positivo, BRT restituisce l'ID che egli ha attribuito alla spedizione; in Business quindi si aggiorna la spedizione impostandovi:
- status = "Inviata e da confermare" nel caso la modalità operativa richiesta la conferma esplicita, altrimenti lo status diventa in automatico "Inviata e confermata"
- data/ora invio = quelle correnti
- operatore ultima modifica = quello corrente
Inoltre nel caso in cui la modalità operativa preveda la stampa dell'etichetta BRT, vengono anche salvate le etichette che il corriere fornisce (una per ogni collo!). Tali etichette vengono salvate nel percorso etichette indicato nella configurazione (se valorizzato, altrimenti nella cartella "Asc" di installazione) e vengono denominate "Label_[id spedizione del corriere]_[progressivo]".
L'estensione del file è TXT nel caso di etichetta ZPL, altrimenti PDF.
Tutte le etichette restituite, oltre ad essere memorizzate in locale, vengono anche salvate nella tabella TABKCLABEL associate alla spedizione inviata.

2. Invio a GLS
L'invio a GLS è possibile solo se:
- nella configurazione associata al corriere sono valorizzati utente, password, il codice sede GLS ed il codice contratto.
- sulla spedizione è valorizzato il tipo porto (con uno dei valori ammessi A, F o I)
- ragione sociale, indirizzo, CAP, località, nazione e provincia del destinatario sono valorizzati
- il numero di pacchi è valorizzato e non supera il valore 99
- il peso totale in KG è valorizzati ed è un numero maggiore di 0
- se il pagamento deve avvenire in contrassegno, sono indicati l'importo e la modalità di incasso
- non sono indicati più di 6 servizi aggiuntivi per ciascuna spedizione
I dati da trasmettere di tipo alfanumerico vengono automaticamente troncati nel caso in cui superino il limite massimo consentito dalle API di GLS.

Se queste condizioni sono soddisfatte, viene fatto l'invio dei dati della spedizione a GLS, il quale può restituire:
- esito negativo: se per qualche motivo la chiamata non va a buon fine
- esito positivo con segnalazione informativa
- esito positivo

In caso di esito positivo, GLS restituisce l'ID che egli ha attribuito alla spedizione; in Business quindi si aggiorna la spedizione impostandovi:
- status = "Inviata e da confermare"
- data/ora invio = quelle correnti
- operatore ultima modifica = quello corrente
Inoltre, nel caso in cui la configurazione del corriere preveda la stampa dell'etichetta GLS, vengono anche salvate le etichette che il corriere fornisce (una per ogni collo!). Tali etichette vengono salvate nel percorso etichette indicato nella configurazione (se valorizzato, altrimenti nella cartella "Asc" di installazione) e vengono denominate "Label_[id spedizione del corriere]_[progressivo]".
L'estensione del file è TXT nel caso di etichetta ZPL, altrimenti PDF.
Tutte le etichette restituite, oltre ad essere memorizzate in locale, vengono anche salvate nella tabella TABKCLABEL associate alla spedizione inviata.
Se l'invio con GLS è andato a buon fine si procede quindi in automatico a confermare la spedizione appena creata.

L'invio dei dati di una singola spedizione può essere effettuato anche da "Gestione documenti" tramite apposita funzione di toolbar.


4.5 Conferma dati spedizione al corriere
Dalla dashboard spedizioni è possibile confermare al corriere i dati delle spedizioni selezionate che siano state precedentemente inviate. Tale operazione è quindi possibile solamente per spedizioni con status 'Inviata e da confermare' e che siano associate ad un documento di magazzino. Si opera poi in modo distinto in base al corriere:

1. Conferma a BRT
Questo passaggio va effettuato solamente nel caso di modalità operativa UC3 o UC4 che richiedono conferma esplicita.
La conferma di una spedizione a BRT è possibile solo se:
- nella configurazione associata al corriere sono valorizzati utente, password ed il codice cliente.
- il riferimento numerico del mittente è valorizzato
- sono trascorsi almeno 5 minuti dall'invio della spedizione
- non sono trascorsi più di 15 giorni dall'invio della spedizione
I dati da trasmettere di tipo alfanumerico vengono automaticamente troncati nel caso in cui superino il limite massimo consentito dalle API di BRT.

Se queste condizioni sono soddisfatte, viene fatta la conferma dei dati della spedizione a BRT, il quale può restituire:
- esito negativo: se per qualche motivo la chiamata non va a buon fine
- esito positivo con segnalazione informativa
- esito positivo
In caso di esito positivo, in Business quindi si aggiorna la spedizione impostandovi:
- status = "Inviata e confermata"
- operatore ultima modifica = quello corrente

2. Conferma a GLS
L'invio a GLS è possibile solo se:
- nella configurazione associata al corriere sono valorizzati utente, password, il codice sede GLS ed il codice contratto.
- sulla spedizione è valorizzato il tipo porto (con uno dei valori ammessi A, F o I)
- sulla spedizione è valorizzato il numero spedizione da confermare (ID del corriere)
- ragione sociale, indirizzo, CAP, località, nazione e provincia del destinatario sono valorizzati
- il numero di pacchi è valorizzato e non supera il valore 99
- il peso totale in KG è valorizzato ed è un numero maggiore di 0
- se il pagamento deve avvenire in contrassegno, sono indicati l'importo e la modalità di incasso
- l'importo assicurazione, se indicato, è un numero positivo
- non è possibile indicare più di 6 servizi aggiuntivi per ciascuna spedizione
I dati da trasmettere di tipo alfanumerico vengono automaticamente troncati nel caso in cui superino il limite massimo consentito dalle API di GLS.

Se queste condizioni sono soddisfatte, viene fatto l'invio dei dati della spedizione a GLS, il quale può restituire:
- esito negativo: se per qualche motivo la chiamata non va a buon fine
- esito positivo con segnalazione informativa
- esito positivo

In caso di esito positivo, in Business quindi si aggiorna la spedizione impostandovi:
- status = "Inviata e confermata"
- operatore ultima modifica = quello corrente

La conferma dei dati di una singola spedizione può essere effettuato anche da "Gestione documenti" tramite apposita funzione di toolbar


4.6 Annullamento dati spedizione al corriere
Dalla dashboard spedizioni è possibile annullare i dati delle spedizioni selezionate che siano state precedentemente inviate. Tale operazione è quindi possibile solamente per spedizioni con status 'Inviata e da confermare' o 'Inviata e confermata' e che non siano associate ad una richiesta di ritiro già inviata. Si opera poi in modo distinto in base al corriere:

1. Annullamento spedizione a BRT
L'annullamento di una spedizione a BRT è possibile solo se:
- nella configurazione associata al corriere sono valorizzati utente, password ed il codice cliente.
- il riferimento numerico del mittente è valorizzato
I dati da trasmettere di tipo alfanumerico vengono automaticamente troncati nel caso in cui superino il limite massimo consentito dalle API di BRT.

Se queste condizioni sono soddisfatte, viene trasmesso a BRT l'annullamento dei dati della spedizione; tale operazione può restituire:
- esito negativo: se per qualche motivo la chiamata non va a buon fine
- esito positivo con segnalazione informativa
- esito positivo
In caso di esito positivo, in Business quindi si aggiorna la spedizione impostandovi:
- status = "Non inviata"
- si azzerano data/ora invio e ID spedizione del corriere
- operatore ultima modifica = quello corrente
- vengono cancellate le etichette associate alla spedizione (sia in locale sia dalla tabella TABKCLABEL)

2. Annullamento spedizione a GLS
L'annullamento di una spedizione a GLS è possibile solo se:
- nella configurazione associata al corriere sono valorizzati utente, password ed il codice sede GLS.
- sulla spedizione è valorizzato l'ID spedizione del corriere

Se queste condizioni sono soddisfatte, viene trasmesso a GLS l'annullamento della spedizione; tale operazione può restituire:
- esito negativo: se per qualche motivo la chiamata non va a buon fine
- esito positivo

In caso di esito positivo, in Business quindi si aggiorna la spedizione impostandovi:
- status = "Non inviata"
- si azzerano data/ora invio e ID spedizione del corriere
- operatore ultima modifica = quello corrente
- vengono cancellate le etichette associate alla spedizione (sia in locale sia dalla tabella TABKCLABEL)

L'annullato di una singola spedizione può essere effettuato anche da "Gestione documenti" tramite apposita funzione di toolbar.
A prescindere dal corriere BRT/GLS, se si annulla una spedizione che era già stata inserita in una richiesta di ritiro, allora tale spedizione verrà automaticamente rimossa dalla richiesta di ritiro e, se la richiesta di ritiro non contiene altre spedizioni, viene anch'essa eliminata.


4.7 Aggiornamento tracking spedizione
Una volta che la spedizione è stata inviata e confermata, è possibile richiederne il tracking, ossia le varie fasi attraversate nel processo di lavorazione della spedizione, che vengono memorizzate nell'apposita tabella TABKCTRACK.
Il corriere fornisce ogni volta tutto lo storico della spedizione, ma nella tabella vengono memorizzate solo le fasi che non erano state precedentemente rilevate.
Ad esempio: in data 15/03 si effettua l'aggiornamento del tracking che restituisce l'esito:
- 15/03 09.00 presa in carico
- 15/03 10.00 partita dalla sede
Tali dati vengono quindi memorizzati nello storico tracking della spedizione
Se due giorni dopo si effettua nuovamente l'aggiornamento del tracking, si otterrà:
- 15/03 09.00 presa in carico
- 15/03 10.00 partita dalla sede
- 16/03 07.00 in transito
- 17/03 08.00 in consegna
- 17/03 12.30 consegnata
 di questo secondo aggiornamento verranno memorizzati solo gli aggiornamenti dal terzo in poi.

Per ciascuno status rilevato durante il tracking, se non viene rilevato uno status già codificato per il corriere coincidente per codice e descrizione (*), allora viene in automatico creato un nuovo status con tali dati. Per disattivare questa funzione occorre impostare l'opzione di registro "Tracking_CreaStatusNonCodificati" con valore "0".

L'aggiornamento del tracking, inoltre, modifica lo status della spedizione impostandola come "Spedizione partita" nel caso in cui:
- per corriere BRT: viene rilevato uno status con codice successivo al 700, in quanto il 701 rappresenta "Spedizione ritirata"
- per corriere GLS: viene rilevato uno status con codice successivo al 901

Infine, se lo status più recente che viene rilevato risulta codificato tra gli status del corriere e per esso è impostato un particolare status spedizione da impostare sul piede del documento di magazzino, allora il ddt/fattura verrà modificato per riportarvi tale valore.

(*) la chiave primaria degli status è data da codice+descrizione in quanto lo stesso codice può assumere significati diversi per lo stesso corriere a seconda del fatto che sia riferito ad una spedizione o ad una richiesta di ritiro. Per distinguerli, quindi, si considera anche la descrizione come discriminante.

Lo storico tracking è visibile dalla dashboard tramite apposita funzione del menu "Strumenti":

Il codice e lo status sono eventualmente evidenziati con il colore impostato nello status codificato per il corriere. Da notare che in griglia, nella colonna "tracking spedizione" viene riportato il più recente status rilevato per la spedizione, anch'esso eventualmente evidenziato del colore associato a tale status. In entrambi i casi, se sullo status è impostata una descrizione interna, verrà mostrata questa anziché quella del corriere.
Con le stesse logiche, lo storico del tracking di una spedizione è visibile anche nei dati spedizione da "Gestione documenti di magazzino": in maschera viene mostrato l'ultimo status rilevato, ma tramite apposito pulsante si può accedere a tutto lo storico.

In dettaglio:

1. Aggiornamento tracking BRT
La rilevazione del tracking è possibile solo se:
- nella configurazione sono compilati utente e password
- la spedizione ha valorizzato l'ID spedizione del corriere

Se queste condizioni sono soddisfatte, viene richiesto a BRT il dettaglio del tracking della spedizione; tale operazione può restituire:
- esito negativo: se per qualche motivo la chiamata non va a buon fine
- esito positivo

Le informazioni ottenute vengono memorizzate nello storico tracking, escludendo quelle eventualmente già rilevate in precedenza. In particolare, in tabkctrack si memorizzerà:
- tb_codicestatus = codice dello status fornito dal corriere
- tb_status = descrizione dello status, fornita dal corriere
- tb_dtorastatus = data/ora a cui è riferito lo status
- tb_ultagg = data/ora corrente in cui è avvenuta la rilevazione del tracking
- tb_note = non valorizzato

Se in TABCPCS per il corriere BRT NON viene rilevato un record avente tabcpcs.tb_codcpcs = tabkctrack.tb_codicestatus e tabcpcs.tb_descpcs = tabkctrack.tb_status, allora viene in automatico aggiunto un record in tabcpcs con tali caratteristiche per codificare gli status del corriere.
Se lo status più recente che viene rilevato ha codice successivo al 700, allora la spedizione viene aggiornata impostandovi status "Spedizione partita". Inoltre, se tale status in TABCPCS ha indicato di impostare un determinato status nel documento di magazzino, si aggiorna il documento per impostarvi tale status.

2. Aggiornamento tracking GLS
La rilevazione del tracking è possibile solo se:
- nella configurazione sono compilati codice sede GLS e codice contratto
- la spedizione ha valorizzato l'ID spedizione del corriere

Se queste condizioni sono soddisfatte, viene richiesto a GLS il dettaglio del tracking della spedizione; tale operazione può restituire:
- esito negativo: se per qualche motivo la chiamata non va a buon fine
- esito positivo

Le informazioni ottenute vengono memorizzate nello storico tracking, escludendo quelle eventualmente già rilevate in precedenza. In particolare, in tabkctrack si memorizzerà:
- tb_codicestatus = codice dello status fornito dal corriere
- tb_status = descrizione dello status, fornita dal corriere
- tb_dtorastatus = data/ora a cui è riferito lo status
- tb_ultagg = data/ora corrente in cui è avvenuta la rilevazione del tracking
- tb_note = note restituire dal corriere

Se in TABCPCS per il corriere GLS NON viene rilevato un record avente tabcpcs.tb_codcpcs = tabkctrack.tb_codicestatus E tabcpcs.tb_descpcs = tabkctrack.tb_status, allora viene in automatico aggiunto un record in tabcpcs con tali caratteristiche per codificare gli status del corriere.
Se lo status più recente che viene rilevato ha codice successivo al 901, allora la spedizione viene aggiornata impostandovi status "Spedizione partita". Inoltre, se tale status in TABCPCS ha indicato di impostare un determinato status nel documento di magazzino, si aggiorna il documento per impostarvi tale status.


4.8 Stampa etichette
Le etichette associate alla spedizione vengono visualizzate nella dashboard tramite l'apposita funzione di menu. Al momento non sono però modificabili manualmente dall'utente, ma sono solo gestite in automatico dal programma.
Dalla pagina principale della dashboard è possibile lanciare la stampa massiva di tutte le etichette delle spedizioni selezionate. All'interno della modale per la visualizzazione delle etichette di una spedizione è invece possibile stampare una singola etichetta.
Per ciascun file indicato nelle etichette associate alla spedizione:
- se ha estensione "PDF", è considerata un'etichetta in formato PDF e la stampa avviene solamente a video
- altrimenti, è considerata un'etichetta in formato ZPL e la stampa avviene solo su carta
Per quanto riguarda la stampa su stampante termina ZPL, essa avviene sulla stampante e sulla porta indicate nella configurazione del corriere. Se tali non sono valorizzati, la stampa non è quindi possibile. Se il nome stampante termica è un indirizzo IP, allora la stampa avviene usando il collegamento TCP; altrimenti il collegamento avviene usando il nome stampante (che quindi deve essere installata).
È inoltre possibile fare in modo che la stampa delle etichette avvenga in automatico al termine dell'invio delle spedizioni impostando l'opzione di registro BSKCCONS\OPZIONI\Spedizioni_StampaEtichettaInInvio con valore:
• 1 = stampa sempre in automatico le etichette delle spedizioni appena inviate
• 2 = chiede conferma all'utente per stampare le etichette delle spedizioni appena inviate
Il default è 0 (non effettua la stampa etichette al termine dell'invio).


5 Flusso operativo richieste di ritiro
Le richieste di ritiro possono essere create e gestite solamente nella dashboard (BNKCCONS).
Per creare una richiesta di ritiro occorre selezionare una o più spedizioni che abbiano status "Inviata e confermata" ed aventi il campo "Richiedi ritiro" pari a "Da richiedere", usando quindi l'apposita funzione "Crea ritiro per le spedizioni selezionate", verrà creato uno o più ritiri a seconda dei criteri di raggruppamento delle spedizioni. Infatti, i dati seguenti sono considerati elementi di rottura per cui possono essere inserite nello stesso ritiro solo spedizioni che coincidono per questi elementi:
codice vettore – tipo corriere – magazzino di presa – fermo deposito – codice sede per fermo deposito – Tipo collo GLS – codice tariffa BRT


Se viene rilevato un ritiro NON ancora inviato con le stesse caratteristiche di quello che si dovrebbe creare, viene chiesto all'utente se inserire le spedizioni in quello esistente o procedere ugualmente alla creazione di un nuovo ritiro.
Ciascun ritiro viene creato con:
- ID = identificativo numerico di 9 cifre, composto con: prima due cifre per l'anno, sette cifre di progressivo con anteposti zeri non significativi
- data ritiro = quella odierna, se il ritiro viene creato entro le 12.30, altrimenti si propone il giorno successivo, escludendo le domeniche
- status = da inviare
- ritiro dalle/alle (mattina e pomeriggio): proposti dagli orari eventualmente indicati sul vettore
- SOLO PER GLS: propone anche i servizi aggiuntivi del ritiro, rilevando quelli del vettore che siano riferiti a "Richiesta di ritiro" e che abbiano la spunta "Servizio di default attivo nei documenti", escludendo quelli marcati come obsoleti.
Una volta creato il ritiro, sulle spedizioni in esso comprese viene riportato l'ID del ritiro e si aggiorna anche il campo "Richiedi ritiro" impostandovi il valore "Richiesto".
Nell'apposita pagina della dashboard vengono visualizzate tutte le richieste di ritiro con le caratteristiche impostate dei filtri. I filtri sullo status sono recentati; i filtri sulle date vengono proposti come da "data odierna – 1 giorno" a "data odierna + 7 giorni". Qui, è possibile modificare solo alcuni dati della richiesta di ritiro, come le note, il numero di bancali o le dimensioni dei colli fuori sagoma. Il numero di pacchi ed il peso totale della richiesta di ritiro sono dati in sola lettura ottenuti dalla somma dei corrispondenti valori delle spedizioni comprese nella richiesta di ritiro.

Come per le spedizioni, anche per le richieste di ritiro sono ammesse modifiche solamente finché il ritiro non è stato prenotato al corriere.

5.1 Invio richiesta di ritiro
L'invio di una richiesta di ritiro serve per prenotare effettivamente il ritiro da parte del corriere della merce che deve essere spedita, per cui è possibile selezionare solo richiesta non ancora prenotate.

1 Invio richiesta di ritiro con BRT
La funzionalità non è al momento supportata.

2. Invio richiesta di ritiro con GLS
La prenotazione del ritiro è possibile solamente se:
- nella configurazione del corriere sono valorizzati utente, password, codice sede, codice contratto e nome richiedente
- è indicato il numero di pacchi
- è indicato il peso totale
- se è indicato il numero di colli fuori sagoma, devono essere indicate anche le relative misure
- è indicata la data del ritiro
- è indicata almeno una fascia oraria (mattina o pomeriggio) in cui il corriere può effettuare il ritiro
I dati da trasmettere di tipo alfanumerico vengono automaticamente troncati nel caso in cui superino il limite massimo consentito dalle API di GLS.

Se queste condizioni sono soddisfatte, la richiesta di ritiro viene trasmessa a GLS; tale operazione può restituire:
- esito negativo: se per qualche motivo la chiamata non va a buon fine
- esito positivo

In caso di esito positivo, in Business quindi si aggiorna la richiesta di ritiro impostandovi:
- status = "Prenotato"
- si riporta l'ID ritiro restituito dal corriere
- data/ora invio = quelle correnti
- operatore ultima modifica = quello corrente


5.2 Annullamento richiesta di ritiro
L'annullamento di una richiesta è possibile solo su richieste in status 'Prenotato'.

1. Annullamento richiesta di ritiro con BRT
La funzionalità non è supportata in quanto il corriere non consente di effettuare questa operazione tramite API. Per poter annullare una richiesta di ritiro occorre farlo tramite la propria area riservata o telefonicamente.
La funzione di toolbar, quindi, permette semplicemente di riportare il ritiro in status "Da prenotare" e azzerare ID ritiro del corriere e data/ora invio: la funzione va quindi usata una volta che il ritiro è stato annullato tramite altri canali, in modo che i dati sul gestionale vengano allineati alla situazione reale.

2. Annullamento richiesta di ritiro con GLS
La cancellazione del ritiro è possibile solamente se:
- nella configurazione del corriere sono valorizzati utente, password, codice sede, codice contratto e nome richiedente
- l'email dell'operatore a cui inviare la conferma di annullamento è valorizzata
- l'ID ritiro del corriere è valorizzato
I dati da trasmettere di tipo alfanumerico vengono automaticamente troncati nel caso in cui superino il limite massimo consentito dalle API di GLS.

Se queste condizioni sono soddisfatte, l'annullamento della richiesta di ritiro viene trasmesso a GLS; tale operazione può restituire:
- esito negativo: se per qualche motivo la chiamata non va a buon fine
- esito positivo

In caso di esito positivo, in Business quindi si aggiorna la richiesta di ritiro impostandovi:
- status = "Da prenotare"
- si azzerano l'ID ritiro del corriere e la data/ora invio
- operatore ultima modifica = quello corrente


6 Logica di salvataggio spedizione da "Gestione documenti"
La spedizione è strettamente legata al documento di magazzino dalla quale è stata creata, tuttavia sono comunque due entità distinte. Quando si salva un documento di magazzino viene quindi salvata anche la corrispondente spedizione, MA ATTENZIONE: PRIMA si salva sempre il documento di magazzino (testmag/movmag/etc) POI, se il salvataggio del documento va a buon fine, si salva la spedizione. Questo significa che un eventuale errore durante il salvataggio della spedizione comporta il disallineamento dei dati (documento salvato ma spedizione non salvata). Tali situazioni dovrebbero comunque essere dei casi rari e si possono gestire manualmente.

La logica con cui viene fatto il salvataggio della spedizione al salvataggio del documento di magazzino è la seguente:
A) Documento nuovo
Sicuramente anche la spedizione è "Nuova" e quindi viene sempre salvata in TABKCSPED

B) Documento aperto in modifica
B.1) Il documento era associato ad una spedizione, ma tale collegamento è stato rimosso (ad esempio: cambio vettore da uno che gestiva l'integrazione a uno che non la gestisce oppure rimozione della spunta "Gestisci spedizione con corriere")
La spedizione deve essere cancellata: ciò avviene solamente se essa non è collegata ad altri documenti. (*)
TENERE PRESENTE comunque che questa situazione è possibile solamente se la spedizione non risulta già inviata. Se i dati della spedizione sono già stati trasmessi al corriere, infatti, non è possibile modificare il vettore o togliere la spunta di "Gestisci spedizione con il corriere" quindi si rientra in questa situazione solo con spedizioni ancora da inviare.

B.2) Il documento NON era associato ad una spedizione, ma è stata aggiunta la spedizione (ad esempio: cambio vettore da uno che non gestiva l'integrazione ad uno che la gestisce oppure aggiunta della spunta "Gestisci spedizione con corriere")
Si tratta quindi di una nuova spedizione che viene sempre salvata in TABKCSPED.

B.3) Il documento era e continua ad essere associato ad una spedizione
La spedizione viene aggiornata solo nel caso in cui sia stata effettivamente modificata.

C) Cancellazione documento
Quando si cancella un documento bisogna cancellare anche la corrispondente spedizione (se non è associata ad altri documenti (*)). Tuttavia:
- se la spedizione ha status "Spedizione partita", la cancellazione della spedizione NON è possibile si avrà un disallineamento perché il documento viene correttamente eliminato ma la spedizione non può essere cancellata
- se la spedizione ha status "Inviata e da confermare" o "Inviata e confermata", allora la spedizione va prima annullata presso il corriere affinché torni in status "Non inviata" e poi si può procedere alla sua cancellazione. In questo caso, quindi, si richiede conferma all'utente per annullare la spedizione e si procede quindi a contattare la corrispondente API per l'annullamento. Se esso va a buon fine, si cancella anche la spedizione da TABKCSPED. Se l'annullamento presso il corriere non avviene per il presentarsi di qualche errore, allora la spedizione non può essere cancellata si avrà un disallineamento perché il documento viene correttamente eliminato ma la spedizione non può essere cancellata

(*) In teoria non è possibile che una spedizione sia associata a più documenti in quanto la relazione tra testmag e tabkcsped è 1-1. Nel caso in cui però si agisca manualmente per riportare su più documenti lo stesso ID spedizione, allora si potrebbe avere questa situazione. La cancellazione di una spedizione deve quindi avvenire solo quando non ha alcun documento associato. In presenza di record "sporchi" (ossia spedizioni non associate ad alcun documento di magazzino) è possibile nella dashboard usare la funzione "Cancella spedizioni senza documento" che elimina tutte le spedizioni selezionate che non siano ancora state trasmesse al corriere e che non abbiano alcun documento di magazzino associato.

7 Limitazioni

La stampa delle etichette avviene sempre e solo:
- a video per etichette in formato PDF
- su carta per etichette in formato ZPL
Non vengono gestite al momento le etichette personalizzate: se la ditta si crea delle etichette proprie, non c'è possibilità di associarle alla spedizione né di stamparle da Business.

Nelle chiamte API tutte le informazioni (dati relativi alla spedizione) che non sono non state espressamente indicate dai corrieri come obbligatorie non vengono gestite, non sono altresì gestiti i servizi particolari ( ad esempio: il drop off o shop to shop, servizio fresh, etc).