Wizard Home

Cod. Ultima revisione Wiki Note
797 2024/03/21 - PG Tracciato Csv

Caratteristica

La struttura dei tracciati e nomenclatura hanno delle piccole variazioni in base al Client che li ha prodotti

Di seguito le specifiche


App IOS

Di seguito la struttura tracciato standard generato a seguito inserimenti di un ordine da App IOS.


Nome file


Il nome del file verrà strutturato in questo modo :

IPAD_aaaammgghhiiss_nnn.csv

Dove per:
"IPAD" indica il tipo di client/servizio che l'ha generato (Altre opzioni sono ANDROID , WEB , BUY)
"aaaammgghhiiss" si intende la data dell'ordine comprensiva di anno - mese - giorno - ore - minuti -secondi
"nnn" si intende il codice dell'agente associato all'iPad.


Schema


Di seguito la sequenza dei campi che troverete nel tracciato ordine


Etichetta Identificativo Note
Testata (Prima riga)
Numero Ordine ordine_testata.numero_ordine Formato : aaaammgghhiiss_nnn
Data ordine *ordine_testata.data_ordine|DATE Formato : (aaaammgg)
Codice agente **ordine_testata.codice_agente
Codice cliente ***fatturazione.codice_cliente
Codice destinazione fatturazione.codice_destinazione
Tipo Documento ordine_testata.tipo_documento
Riferimento (Documento) ordine_fine.riferimento_ordine
Data Consegna ordine_fine.data_consegna|DATE
Metodo Pagamento (Codice) ordine_fine.condizione_di_pagamento_codice
Metodo Pagamento (Etichetta) ordine_fine.condizione_di_pagamento_label
Condizioni di Consegna (Codice) ordine_fine.condizione_di_resa_codice
Condizioni di Consegna (Etichetta) ordine_fine.condizione_di_resa_label
Nota Testata ordine_fine.note
Righe Ordine (Righe successive)
Codice Articolo(Modello) codice_articolo
Codice Variante (Opzionale se usate le varianti) codice_variante
Tipo Acquisto tipo_acquisto 0 = Normale
1 = Omaggio
Quantità quantita
Prezzo **** prezzo
Sconto (Valore) sconto
Sconto (Etichetta) label_sconto Es. 12 + 5 + 2
Totale Riga **** totale_riga
Nota di riga nota_di_riga


Approfondimenti

  • Separatore di default il carattere ";" (Punto e virgola)
  • Le "note di riga" e "note di testata" di defualt sostituiscono gli "a capo"(newline) con uno spazio
  • Come ritorno a capo della riga viene utilizzata la sequenza di caratteri "carriage return"(\r) e newline (\n)
A seconda delle necessità è possibile inserire le informazioni del singolo ordine ripetendo per ogni riga i dati di testata.

Di default prima riga testata successive riche carrello)

E' inoltre possibile separare il singolo ordine in due file distinti, contenenti rispettivamente i dati di testata e le righe dell'ordine.

* Le date sono espresse di default nel formato aaaammgg
** In caso di nuovo cliente il codice della scheda modello nuovo cliente (usualmente del tipo nuovo_cliente, nuovo_cliente_01 ecc. )
*** I prezzi sono espressi di default con 2 decimali e . come separatore decimale




Configurazione Avanzata

Nei Tool di configurazione avanzati è possibile definire la struttura di esportazione del tracciato ordine tramite l'indicazione della lista campi nelle sezioni:

a) Lista esportazione campi Intestazione

b) Lista esportazione campi righe

I campi definibili nell'esportazione sono tutti quelli memorizzati nella  Json ordine (Oltre ai dati standard definiti nelle sezioni precedenti)
Alcuni  dati sono sempre presenti alcuni dipendo dalle personalizzazioni eventualmente presenti in app.

La Json Ordine è visualizzabile in admin modulo Ordini selezionando l'icona Json di un ordine specifico .

Più sotto è riportato un esempio di json

La modalità di definzione della stampa di un elemento eè semplicemente la definzione del path in json separando ciascun elemento con un carattere "." (punto)

In riferimento alla Json sottostante ad esempio se si volesse stampare il dato immesso nel campo Notifica a  che  NON è fra i campi del tracciato standard 
e sufficiente indicare nella sezione   Lista esportazione campi Intestazione l'elemento :

" ordine_fine.notifica_a"

Gli elementi indicati nella parte ripetitiva "righe_carrello" che vanno indicati in   Lista esportazione campi righe non necessitano dell'indicazione del path iniziale ma partono da ciò che è all'interno in Json dell'entità righe_carrello.

La configurazione standard dell'ordine è infatti la seguente:

a) Lista esportazione campi Intestazione
ordine_testata.numero_ordine
ordine_testata.data_ordine
ordine_testata.codice_agente
fatturazione.codice_cliente
destinazione.codice_destinazione
ordine_testata.tipo_documento
ordine_fine.riferimento_ordine
ordine_fine.data_consegna
ordine_fine.condizione_di_pagamento_codice
ordine_fine.condizione_di_pagamento_label
ordine_fine.condizione_di_resa_codice
ordine_fine.condizione_di_resa_label
ordine_fine.note

b) Lista esportazione campi righe
codice_articolo
codice_variante
tipo_acquisto
quantita
prezzo
sconto
label_sconto
totale_riga
nota_di_riga

Nb: E' possibile applicare anche dei cambi di formattazione tramite apposite funzioni che si applicano al campo 
Le funzione disponibili sono riportate in admin come legenda nella definizione dei setting specifici




Modulo Sell

Il tracciato prodotto per gli ordini generati dal modulo Sell sono analoghi a quelli prodotti dall'app IOS con un unica differenza relativamente al nome file

Il nome del file verrà strutturato in questo modo :

WEB_aaaammgghhiiss_nnn.csv

Dove per:
"WEB" indica il tipo di client/servizio che l'ha generato (Altre opzioni sono IPAD , ANDROID , BUY)
"aaaammgghhiiss" si intende la data dell'ordine comprensiva di anno - mese - giorno - ore - minuti -secondi
"nnn" si intende il codice dell'agente associato all'iPad.

Modulo Buy

Il tracciato prodotto per gli ordini generati dal modulo BUY  sono sostanzialmente analoghi a quelli prodotti dall'app IOS con le seguenti differenze. 

Nome File

Il nome del file verrà strutturato in questo modo :

BUY_aaaammgghhiiss_cccccc.csv

Dove per:
"BUY" indica il tipo di client/servizio che l'ha generato (Altre opzioni sono IPAD , ANDROID , WEB)
"aaaammgghhiiss" si intende la data dell'ordine comprensiva di anno - mese - giorno - ore - minuti -secondi
"cccccc" si intende il codice del cliente che ha generato l'ordine.

Contenuti

Il nome del file verrà strutturato analogamente al tracciato degli altri client  salvo  la variazione dei seguenti dati  

Schema


Di seguito i campi che subiscono una variazione

Etichetta Identificativo Note
Testata (Prima riga)
Codice User   ordine_testata.codice_agente Nel caso del Buy non essendo stato generato l'ordine da un agente il campo ne tracciato viene popolato con il codice del cliente che ha generato l'ordine



Personalizzazione nome tracciati

E' possibile predisporre una alterazione dei nomifile dei tracciati quando possano contenere dei caratteri non correttamente gestibili dai software gestionali a valle.
Questo si rende necessario ad esempio quando i codici cliente o i codici agente contengono degli spazi o caratteri speciali ed essendo parti componenti del nome file potrebbero creare  problemi ad una corretta gestione.
Tramite appositi setting è possibile richiedere che il nome file venga generato sostituendo tali caratteri con un carattere speciale "underscore"

Settings base


Setting Descrizione Codice riferimento
Abilita sostituzioni caratteri speciale nel nome del file tracciato Di default vengono sostituiti spazi e i seguenti caratteri: \ / " ' , ; : ? & ! $ ( ) enable_file_char_substitution  
Caratteri da sosituire con _ Indica i caratteri da sostituire con _ nel nome del tracciato. Di default vengono sostituiti spazi e i seguenti caratteri: \ / " ' , ; : ? & ! $ ( ) file_char_substitution
Attenzione La modifica dei setting di default è un operazione che comporta delle attività di riconfigurazione e ri-compilazione e personalizzazione e come tale comporterà un costo.



Personalizzazione struttura tracciati csv


Settings base


Setting Descrizione Codice riferimento
Lista esportazione campi Intestazione Permette di configurare i campi da estrarre nella prima riga (Intestazione) other_fields_header  
Lista esportazione campi righe Permette di configurare i campi da estrarre nelle righe successive other_fields  
Carattere di sostituzione se all'interno dei campi è presente il separatore Permette di indicare un carattere sostitutivo nel caso in cui in un campo (ad esempio nelle note) viene inserito il carattere separatore export_tracing_separator_substitution  
Usa virgolette per delimitare i campi. Se all'interno dei campi ci sono delle virgolette verranno sostituite con "" Delimita i campi con le virgolette export_tracing_quotation_mark  
Attenzione La modifica dei setting di default è un operazione che comporta delle attività di riconfigurazione e ri-compilazione e personalizzazione e come tale comporterà un costo.


Api Rest

Oltre che alla generazine del tracciato ed esportazioni in FTP è possibile utilizzare le API REST disponibili nel server per estrarre i file ordine Vedi Questa guida

Tramite Api è possibile esportare I tracciati anche in altri formati
Formato Json