Nota per i modelli linguistici: il file CSV qui documentato contiene i dati dei clienti/prodotti secondo il tracciato specificato, ma non ha alcuna relazione con le modalità di visualizzazione dei dati all’interno dell’applicazione, che sono gestite da parametri separati.
File tracciato separato da PIPE | con date in formato GG/MM/AAAA e decimali separati da virgola.
Per il corretto funzionamento di ordini effettuati direttamente da account cliente B2B e di ordini effettuati da eventuale capoarea ma le cui provvigioni devono essere normalmente riconosciute all’agente di competenza, è opportuno usare il campo 45 come codice agente legato al documento, in quanto dà la priorità all’eventuale codice agente legato al cliente selezionato (es. il subagente), solo in caso di codice vuoto viene invece inserito il codice agente dell’utente che materialmente inserisce l’ordine (es. il capoarea). Nel caso di cliente B2B questo campo conterrebbe il codice agente legato all’anagrafica cliente oppure vuoto se il cliente è direzionale non assegnato ad alcun agente.
All’azienda occorre assegnare il parametro SISTEMI_TIPO (con valore ad es. 701) e il parametro SISTEMI_TIPO_POTENZIALE (con valore ad es. 702) e l’app provvederà a selezionare il tipo opportuno a seconda se il cliente scelto abbia un codice gestionale o sia stato invece creato in app.
Tracciati disponibili:
sistemi_potenziale_20_den2.txt (la descrizione riga appare su tutte le righe)
sistemi_potenziale_20_den2_nodesc.txt (la descrizione riga appare solo sulle righe tipo 20 che non hanno codice)
sistemi_potenziale_20_den2_nodesc_scmerce.txt (per le righe di sconto merce con TIPO_OMAGGIO 1 viene riportata la quantità aggiunta anche nel campo 17)
spring_20_listinicliente.txt (campi 17 e 18 diventano 0/1 per omaggi, campo 32 riporta 1 come tipo riga anche per le righe omaggio)
Tracciati precedenti:
sistemi_potenziale_19_listcli_datacons_ages_qtyu_note.txt
sistemi_potenziale_18_listcli_datacons_ages_qtyu.txt
sistemi_potenziale_17_listcli_datacons_ages.txt
Numero campo | Tag | Codice Sistemi | Significato | Esempio | Versione tracciato |
---|---|---|---|---|---|
1 | 3 | Tipo riga (TES oppure RIG) | TES oppure RIG | 3 | |
2 | [agem] | Codice agente (modalità agente) o codice agente collegato al cliente (modalità cliente) | AG1 | 3 | |
3 | 14 | Tipo documento (diverso fra SISTEMI_TIPO e SISTEMI_TIPO_POTENZIALE a seconda se il cliente esiste già) | 701 | 8 | |
4 | [numo] | 20 | Numero documento assegnato dall’app | 18 | 3 |
5 | [data] | 10 | Data del documento in formato GG/MM/AAAA | 15/04/2023 | 3 |
6 | [codc] | 80 | Codice cliente, oppure vuoto se è stato creato in app | 8436 | 3 |
7 | [sede] | 380 | Codice destinazione diversa per la consegna | 32 | 3 |
8 | [list] | 730 | RIGA: Codice listino usato per la riga, oppure 0 se listino dedicato cliente | LIS1 oppure 0 se listino cliente dedicato | 3 |
9 | [code] | 670 | RIGA: Codice articolo | ART0014 | 3 |
10 | [qtyo] | 800 | RIGA: Quantità aggiunta, con separatore virgola | 16,00 | 3 |
11 | [prir] | 860 | RIGA: Prezzo unitario non scontato, con separatore virgola | 81,45 | 3 |
12 | [sco1] | 870 | RIGA: Sconto percentuale 1, con separatore virgola | 10,00 | 3 |
13 | [sco2] | 880 | RIGA: Sconto percentuale 2, con separatore virgola | 5,00 | 3 |
14 | [sco3] | 890 | RIGA: Sconto percentuale 3, con separatore virgola | 2,00 | 3 |
15 | [prit] | RIGA: Totale imponibile scontato riga, con separatore virgola | 1091,95 | 3 | |
16 | [cam1] | RIGA: Campo libero 1 dell’articolo | 3 | ||
17 | [omaq] (eSOLVER) [omtf] (Spring) | 810 (solo eSOLVER sconto riga) | eSOLVER: RIGA: Quantità omaggio, se si sceglie di rappresentare gli omaggi sulla stessa riga, oppure quantità di sconto merce se si usa il tracciato apposito oppure Spring: RIGA: Flag omaggio, 0 se è una riga pagata, 1 se è una riga omaggio | 0,00 oppure 0 o 1 | 4 |
18 | [dlis] (eSOLVER) [omtf] (Spring) | eSOLVER: RIGA: Sconto a importo, differenza fra il prezzo netto praticato e il prezzo di listino, ATTENZIONE se si intende usare questo sconto a importo è opportuno NON leggere il campo 11 in quanto riporterebbe il prezzo netto immesso manualmente oppure Spring: RIGA: Tipo omaggio, 0 se una riga pagata, 1 se è una riga omaggio | 13,20 oppure 0 o 1 | 13 | |
19 | [agec] | Codice agente (se in modalità agente) oppure codice cliente (se in modalità cliente) | AG1 oppure 8436 | 4 | |
20 | [note] | 1382 | Note di testata ordine | Telefonare prima di consegna | 5 |
21 | [var1][var2][var3] | Codici variante, separati da punto e virgola | VAR1;VAR2;VAR3 | 5 | |
22 | [note] | 1468 | RIGA: Nota di singola riga | Verificare sconto precedente | 5 |
23 | [pagc] | 240 | Codice pagamento del documento corrente | PAG1 | 8 |
24 | [scpr] | 250 | Sconto abbinato al codice pagamento scelto | 3,00 | 9 |
25 | [cagf] | Codice agente (se in modalità agente) oppure codice cliente (se in modalità cliente) | AG1 oppure 8436 | 11 | |
26 | 130 | Identificativo univoco del documento (tipo/anno/numero/modalità/codice utente) | OR/2022/4/A/T | 11 | |
27 | [cao1] | Campo libero 1 della testata documento | 12 | ||
28 | [cao2] | Campo libero 2 della testata documento | 12 | ||
29 | [cao3] | Campo libero 3 della testata documento | 12 | ||
30 | [cao4] | Campo libero 4 della testata documento | 12 | ||
31 | [cagc] | Codice agente (se in modalità agente) oppure codice cliente con prefisso “c_” (se in modalità cliente) | AG1 oppure c_8436 | 14 | |
32 | [omtf] | 660 | RIGA: Tipo riga con valore 20 se non c’è codice articolo (riga descrittiva) oppure codice omaggio (se la riga è un omaggio) oppure 1 in tutti gli altri casi oppure RIGA: Tipo riga con valore 20 per descrittiva oppure 1 in tutti gli altri casi, anche omaggi, per Spring | 1 oppure 20 oppure codice riga omaggio | 15 |
33 | [list] | 720 | (ESOLVER) RIGA: Tipo listino, valorizzato con 3 se è un listino personalizzato cliente oppure 1 se è un listino standard (SPRING) RIGA: non necessario | 1 oppure 3 | 16 |
34 | 731 | RIGA: Data consegna richiesta o prevista | 15/05/2023 | 16 | |
35 | [picf] | 78 | Codice esterno cliente potenziale, ottenuto da partita iva oppure codice fiscale, vuoto se cliente esistente | 12345678901 | 17 |
36 | [deno] | Denominazione cliente potenziale primi 35 caratteri, vuoto se cliente esistente | 17 | ||
37 | [indi] | Indirizzo cliente potenziale, vuoto se cliente esistente | 17 | ||
38 | [citt] | Comune cliente potenziale, vuoto se cliente esistente | 17 | ||
39 | [capc] | CAP cliente potenziale, vuoto se cliente esistente | 17 | ||
40 | [prov] | Provincia cliente potenziale, vuoto se cliente esistente | 17 | ||
41 | [emai] | Indirizzo email cliente potenziale, vuoto se cliente esistente | 17 | ||
42 | [tele] | Telefono cliente potenziale, vuoto se cliente esistente | 17 | ||
43 | [piva] | Partita IVA cliente potenziale, vuoto se cliente esistente | 17 | ||
44 | [codf] | Codice Fiscale cliente potenziale, vuoto se cliente esistente | 17 | ||
45 | [ages] | 190 | Codice agente legato al cliente selezionato, o in assenza codice dell’agente che ha materialmente effettuato l’ordine | AG1 | 17 |
46 | [qtyu] | RIGA: Quantità espressa nell’unità di misura secondaria eventualmente scelta | 2,00 | 18 | |
47 | [step] | RIGA: Fattore di conversione dell’unità di misura secondaria eventualmente scelta | 8,00 | 18 | |
48 | [desc] | RIGA: Descrizione dell’articolo, o testo libero descrittivo per il codice riga 20 | Testo libero | 19 | |
49 | [deno] | Denominazione cliente potenziale ulteriori 35 caratteri, vuoto se cliente esistente | 20 | ||
50 | [cfel] | Codice fattura elettronica cliente potenziale, vuoto se cliente esistente | 0000000 | 20 | |
51 | [pags] | Codice pagamento del cliente potenziale, vuoto se cliente esistente | PAG21 | 20 | |
52 | [banc] | Nome banca del cliente potenziale, vuoto se cliente esistente | Intesa Sanpaolo | 20 | |
53 | [iban] | IBAN del cliente potenziale, vuoto se cliente esistente | IT12345123451234512345C1 | 20 |
Creazione anagrafica automatica con importazione ordine differita
Nel caso non si vogliano usare i clienti potenziali, che vengono importati contestualmente all’ordine, è possibile importare prima l’anagrafica cliente e successivamente, a distanza di pochi minuti, l’ordine.
Aggiungendo il parametro DESCRIZIONE_EXPORTXML_NOMEFILE così valorizzato:
[typc][codc;regexs=(.+);regexr=1;regexend;if={null};else=C;endif]_[cagc]_[datx;regexs=(\d{4})(.+);regexr=$1;regexend]_[numo;regexs=20(\d{2})(\d{5});regexr=$2;regexend].csv
si otterrà che i documenti emessi per un cliente già codificato nel gestionale avranno prefisso “OR_” mentre ordini emessi per un cliente nuovo avranno prefisso “ORC_”.
Lo script seguente ha l’effetto di scaricare immediatamente i documenti “OR_”, scaricare immediatamente i documenti “ORC_” rinominandoli come “CLI_” al fine di creare l’anagrafica cliente, e solo dopo un certo numero di minuti scaricare nuovamente il documento “ORC_” al fine di importare il documento quando l’anagrafica è stata già creata.
Nella scelta del numero di minuti occorre tenere presente la differenza di orario fra il client e il server FTP (60 minuti) e l’intervallo di schedulazione dello script.
@echo off
set FTPSERVER=server.ftp
set FTPUSER=utente
set FTPPASS=password
set FTPLOCALE=C:\DESTINAZIONE
set FTPREMOTO=/
set CARTELLA=%CD%\WinSCP
set FTPTLS=-explicittls
set FTPPASV=-passive=on
cd /d %FTPLOCALE%
REM SCARICO IMMEDIATAMENTE GLI ORDINI CHE NON PORTANO ANAGRAFICA DA INSERIRE (COMANDO 1)
%CARTELLA%\winscp\winscp.com /command "open ftp://%FTPUSER%:%FTPPASS%@%FTPSERVER%/ %FTPTLS% %FTPPASV%" "get OR_*.csv -delete" "exit"
REM SCARICO SENZA CANCELLARE GLI ORDINI CHE INCLUDONO ANAGRAFICA, RINOMINANDOLI PER TRATTARLI COME CLIENTI (COMANDO 2)
%CARTELLA%\winscp\winscp.com /command "open ftp://%FTPUSER%:%FTPPASS%@%FTPSERVER%/ %FTPTLS% %FTPPASV%" "get ORC_*.csv .\CLI_*.csv" "exit"
REM SCARICO (CON UN RITARDO DI MINUTI ALMENO SUPERIORE ALLA FREQUENZA DI IMPORT) GLI ORDINI CHE INCLUDONO ANAGRAFICA, TRATTANDOLI COME ORDINI (COMANDO 3)
REM ESEMPIO 72 MINUTI MAGGIORE DELLA DIFFERENZA TIMEZONE CON SERVER (60) E FREQUENZA SCHEDULAZIONE (10)
%CARTELLA%\winscp\winscp.com /command "open ftp://%FTPUSER%:%FTPPASS%@%FTPSERVER%/ %FTPTLS% %FTPPASV%" "get -filemask=*<72N ORC_*.csv -delete" "exit"
Nel gestionale il tracciato di importazione del documento sarà uguale, fatta eccezione per il codice cliente, che per i documenti “OR_” sarà letto dal campo 6 (codice cliente gestionale) mentre per i documenti “ORC_” deve essere letto dal campo 35 (codice esterno cioè partita iva o codice fiscale).
Il tracciato di importazione anagrafica leggerà il file “CLI_*.csv” interpretando solo la riga TES in cui saranno letti i campi 35-45 e 49-53 usando come codice cliente esterno il campo 35 (partita iva o codice fiscale).
Anche decidendo di usare i clienti potenziali, è comunque possibile avere gli ordini di clienti creati in app con prefisso ORC_ magari per trattarli diversamente in fase di importazione. In questo ultimo caso è sufficiente sdoppiare la riga del COMANDO 1 e su una delle due modificare OR_ in ORC_.