Integrazione con Prestashop
Atlantis Evo può collegarsi a un sito Prestashop per leggere quello che il sito produce – prodotti, clienti, ordini – e per rimandare al sito le giacenze del gestionale.
È un collegamento a senso unico per l’anagrafica: il catalogo si costruisce sul sito, e Atlantis lo recepisce. Il gestionale non pubblica prodotti, non crea categorie, non modifica prezzi sul sito. Nell’altra direzione viaggia solo un dato: la quantità.
Il dialogo avviene via HTTP/HTTPS, Atlantis gli manda dei comandi e riceve dei dati in formato JSON. Perché funzioni servono quindi tre cose: il gateway installato e raggiungibile, l’indirizzo e la chiave impostati nei codici fissi, e la gestione attivata.
Si configura in Archivi → Impostazioni → Codici Fissi → Codici Fissi, scheda Prestashop. Si usa da e-Commerce Terzi → Prestashop, che contiene due sole voci: Sincronizza con sito e Controllo giacenze.
Questa integrazione è cosa diversa dal modulo e-commerce WooCommerce, che ha una propria anagrafica siti, una propria finestra di gestione e una logica opposta (là è il gestionale a pubblicare il catalogo). I due non condividono nessuna impostazione.
1. Come funziona il collegamento
Ci sono due meccanismi distinti, che vanno tenuti separati in testa perché si configurano in punti diversi e si guastano in modi diversi.
a) La sincronizzazione a comando. La lanci tu da Sincronizza con sito. Chiede al sito articoli, clienti e ordini e li scrive in Atlantis. Non è pianificabile: non esiste una sincronizzazione automatica notturna per Prestashop, va lanciata a mano.
b) L’aggiornamento giacenze in tempo reale (il “trigger”). Ogni volta che in Atlantis si salva un movimento di magazzino che soddisfa certe condizioni, il programma manda subito al sito la differenza di quantità. Non è una funzione da lanciare: o è configurata e scatta sempre, o non scatta mai. È il motivo per cui il riquadro delle opzioni nella finestra di sincronizzazione si intitola Opzioni sincronizzazioni (no trigger): quei parametri riguardano solo il punto (a).
Il Controllo giacenze è la rete di sicurezza che serve a scoprire quando (a) e (b) hanno lasciato le due giacenze disallineate.
Come si riconoscono gli articoli
L’aggancio fra i due sistemi è il riferimento (reference) del prodotto Prestashop, che diventa il codice articolo in Atlantis, convertito in maiuscolo.
- il codice articolo di Atlantis è lungo al massimo 20 caratteri: un prodotto con riferimento più lungo non viene importato e finisce nel log come “Codice articolo troppo lungo. Articolo non sincronizzabile.”;
- per le combinazioni (varianti Prestashop) Atlantis compone il codice come
RIFERIMENTO~XX, doveXXè l’id della combinazione scritto in esadecimale maiuscolo. Esempio: riferimentoTS100, combinazione 26 → codice articoloTS100~1A; - l’id numerico del prodotto sul sito viene conservato nel campo Sku dell’anagrafica articoli (riquadro e-Commerce), che è di sola lettura.
2. Attivazione e parametri di collegamento
Tutto sta nella scheda Prestashop dei codici fissi. Finché Attiva gestione non è acceso, la sincronizzazione risponde “Gestione Prestashop non attivata!” e non fa nulla.
Riquadro “Sincronizzazione HTTP”
| Campo | A cosa serve |
|---|---|
| Url | indirizzo completo dello script gateway sul sito. Fino a 255 caratteri |
| Key | chiave di cifratura, esattamente 16 caratteri fra numeri e lettere. Deve coincidere con quella configurata sul gateway |
| GG da considerare (0 = tutto) | numero di giorni proposto come predefinito nella finestra di sincronizzazione |
| Disattiva criptazione chiamte HTTP | se acceso, le chiamate viaggiano in chiaro |
Il flag di disattivazione della criptazione è attivo per impostazione predefinita: su un’installazione dove non è mai stato toccato, le chiamate viaggiano in chiaro. Se il gateway è configurato per accettare solo chiamate cifrate, va spento esplicitamente. Se lo spegni, la Key diventa obbligatoria.
Identificazione del sito
| Campo | A cosa serve |
|---|---|
| Id Sito | numero dello shop, per le installazioni Prestashop multishop. Viene passato a ogni chiamata |
| Prefisso tabelle | prefisso delle tabelle Prestashop (es. ps_). Oggi non ha effetto: viene letto e conservato ma non entra in nessuna chiamata |
Dove finiscono gli ordini
| Campo | A cosa serve |
|---|---|
| Sincronizza su | Vendite a banco (Pos) oppure Ordini. È la scelta strutturale dell’integrazione |
| Causale doc. vendita sito (POS) | causale usata quando si sincronizza sulle vendite al banco |
| Causale doc. vendita sito (Ord) | causale usata quando si sincronizza sugli impegni cliente |
La causale scelta non porta solo il tipo di documento: da lei Atlantis ricava la serie, la causale di trasporto, la causale di magazzino, i depositi 1 e 2 e il flag di scarico magazzino, e soprattutto il cliente collegato alla causale, che fa da modello per tutti i clienti creati dal sito (vedi § 6).
⚠️ Se la causale indicata non ha un cliente collegato, la sincronizzazione si ferma subito con “Errore durante il caricamento dei dati del cliente associato al tipo documento. Operazione non eseguibile.” È il primo errore da cercare quando “non funziona niente”.
Come nascono i nuovi articoli
Questi valori si applicano solo alla creazione di un articolo nuovo: su un articolo già presente non vengono più toccati.
| Campo | A cosa serve |
|---|---|
| Listino | listino di vendita su cui scrivere il prezzo letto dal sito (fino a 14 caratteri) |
| Cod. Iva | codice IVA predefinito, usato quando il regime fiscale del prodotto non è mappato |
| Tabella cod. Iva | corrispondenza fra i regimi fiscali di Prestashop e i codici IVA di Atlantis |
| Cod. Monofase | codice monofase predefinito |
| Cod. Contropartita | contropartita di vendita |
| U.M. Base | unità di misura dei nuovi articoli |
| Fuori giacenza / Fuori disponibilità | comportamento nei documenti: Non gestito, Avvisa, Blocca |
| Non sincronizzare i gruppi merceologici articoli | se acceso, Atlantis non ricostruisce l’albero delle categorie |
| Associa a gruppo | gruppo merceologico da assegnare ai nuovi articoli quando il flag qui sopra è acceso |
Ordini e importi
| Campo | A cosa serve |
|---|---|
| Cod. spesa trasporto | codice spesa su cui riportare le spese di spedizione dell’ordine. Se è vuoto, le spese di spedizione non vengono importate |
| Cod. Art. x Cancell. | articolo di comodo da usare al posto di un articolo che sull’ordine non esiste più in anagrafica |
| Deposito sito | deposito del gestionale che rappresenta il magazzino del sito |
| Elenco ‘id’ stato ordine annullato | id degli stati Prestashop che devono cancellare il documento in Atlantis |
| Tabella id gruppo/cat. cli | corrispondenza gruppi cliente Prestashop → categorie cliente Atlantis |
| Tabella corrispon. pagamenti | corrispondenza pagamenti Prestashop → pagamenti Atlantis |
| Scarica ordini con valori IVA inclusa | se acceso, dagli ordini vengono presi gli importi IVA compresa e il documento nasce con lo scorporo IVA attivo |
| Scarica anche le immagini | proposta predefinita della casella Sincronizza immagini |
| Integrità su aggiornamenti sito | riguarda solo il trigger: vedi § 8 |
Il Deposito sito ha due usi diversi e va impostato con cura: è il deposito usato come ripiego sui documenti importati quando la causale non ne indica uno, ed è il deposito che abilita l’aggiornamento in tempo reale delle giacenze.
3. Le tabelle di corrispondenza
Quattro campi della scheda sono elenchi codificati, scomodi da scrivere a mano. Accanto a ciascuno c’è un pulsante con la matita che apre una finestrella dedicata: legge dal sito i valori disponibili, li presenta in una tendina, e costruisce l’elenco al posto tuo. Ogni riga si aggiunge con Aggiungi e si toglie con il collegamento Canc. della griglia.
| Pulsante | Finestra | Cosa collega |
|---|---|---|
| accanto a Tabella cod. Iva | Tabella corrispondeza Tassazione – Codici IVA | regime fiscale Prestashop → codice IVA Atlantis |
| accanto a Elenco ‘id’ stato ordine annullato | Stati ordine Prestashop | gli stati che annullano l’ordine |
| accanto a Tabella id gruppo/cat. cli | Tabella corrispondeza categorie clienti | gruppo cliente Prestashop → categoria cliente Atlantis |
| accanto a Tabella corrispon. pagamenti | Tabella corrispondeza pagamenti | pagamento Prestashop → pagamento Atlantis |
Queste finestre interrogano il sito nel momento in cui si aprono: se il collegamento non è ancora configurato, o il gateway non risponde, compare “Errore su lettura dati remoti” oppure “Errore: 404” e la tendina resta vuota. Vanno quindi compilate dopo aver impostato Url e Key.
Se manca la corrispondenza, il programma non si ferma:
- pagamento non mappato → sul documento viene messo il pagamento dell’anagrafica cliente;
- regime fiscale non mappato → sui nuovi articoli viene usato il Cod. Iva predefinito.
I formati, se te li trovi già scritti, sono questi: codici IVA e categorie clienti separati da virgola a coppie (1,22,2,04 · 1,CAT1,2,CAT2), pagamenti separati da barra verticale (bankwire|BB|cheque|RB), stati annullati come semplice elenco di numeri (6,7).
4. Sincronizza con sito
e-Commerce Terzi → Prestashop → Sincronizza con sito apre una finestra piccola: “Eseguire la sincronizzazione con sito?”, un riquadro Opzioni e un riquadro Opzioni sincronizzazioni (no trigger).
| Opzione | Proposta all’apertura |
|---|---|
| Articoli | attiva |
| Sincronizza immagini | come impostato in Scarica anche le immagini |
| Clienti | attiva |
| Ordini | attiva |
| Non elaborare ordini a zero | spenta |
| Giorni da sincronizzare (0 = tutto) | come impostato in GG da considerare |
Il campo giorni limita l’elaborazione a quello che sul sito è stato modificato negli ultimi n giorni, e vale per tutte e tre le sezioni. 0 significa tutto: al primo allineamento è quello che serve, nell’uso quotidiano è un’elaborazione inutilmente lunga.
Non elaborare ordini a zero fa saltare la scrittura dei documenti il cui totale risulta zero. L’ordine viene comunque letto e calcolato, semplicemente non viene salvato.
Se Sincronizza immagini è acceso ma il modulo document-management non è installato, la casella non compare nemmeno; se il modulo c’è ma non è configurato, compare “Attenzione! Sincronizzazione immagini non possibile, verificare configurazione.”
Premendo Conferma i pulsanti e le caselle si disabilitano e l’elaborazione parte in secondo piano, con le barre di avanzamento Syncro tabelle di appoggio, Syncro Articoli, Syncro Clienti, Syncro Ordini. La finestra resta aperta fino al termine.
L’ordine delle operazioni, e perché conta
L’elaborazione procede sempre nella stessa sequenza:
- tabelle di appoggio – categorie (→ gruppi merceologici), nazioni, marche;
- articoli;
- clienti;
- ordini.
⚠️ Al primo errore tutto quello che segue non viene più elaborato. Se un articolo va in errore, clienti e ordini non vengono nemmeno richiesti al sito; se un ordine va in errore, tutti gli ordini successivi vengono saltati in silenzio. Il messaggio finale è un generico “Errore durante la sincronizzazione.”, e i conteggi mostrati si fermano a prima dell’errore. Quando compare quel messaggio, la sincronizzazione non è completa: va letto il log, risolto il problema e rilanciata.
Ogni articolo, ogni cliente e ogni ordine vengono però salvati in una transazione propria. Quindi ciò che è stato importato prima dell’errore resta in archivio: rilanciare la sincronizzazione dopo la correzione è l’operazione giusta, non c’è niente da ripulire a mano.
Il risultato
A elaborazione riuscita compare il riepilogo:
Sincronizzazione terminata correttamente.
Sincronizzati:
N. Articoli: … N. Clienti: … N. Ordini: …
Se durante l’elaborazione si è accumulata qualche segnalazione si apre inoltre la finestra Errori di sincronizzazione. Le righe che ci si trovano più spesso:
| Messaggio | Significato |
|---|---|
| Codice articolo troppo lungo. Articolo non sincronizzabile. | il riferimento del prodotto supera i 20 caratteri |
| Sono presenti N articoli con la referenza: … | referenze duplicate sul sito |
| Articolo ‘…’ non trovato! | una riga d’ordine cita un codice che in Atlantis non esiste |
| Articolo senza codice: … | la riga d’ordine non porta nessun riferimento, solo il nome del prodotto |
| Errore durante il parsing della data ordine. Ordine n.: … | l’ordine sul sito ha una data non interpretabile |
| Errore durante il caricamento del cliente ‘…’ ! | il cliente dell’ordine non è stato creato |
| Ordine ‘…’ non salvato! | il documento è stato costruito ma il salvataggio è fallito |
5. Come arrivano gli articoli
Per ogni prodotto restituito dal sito, Atlantis crea o aggiorna l’articolo. Su un articolo già esistente aggiorna solo quattro cose: descrizione, Sku, marca e gruppo merceologico. Tutto il resto – IVA, unità di misura, contropartita, controlli di giacenza – viene scritto solo alla creazione, quindi correzioni fatte a mano in anagrafica non vengono sovrascritte.
⚠️ La marca non viene mai valorizzata sui nuovi articoli. Sugli articoli già esistenti viene aggiornata con quella del sito, ma su quelli creati dalla sincronizzazione resta vuota: va assegnata a mano, o in blocco dal pannello di selezione articoli.
Oltre all’articolo vengono aggiornati:
- il prezzo sul listino indicato nei codici fissi. La riga viene creata se manca, altrimenti ne viene aggiornato il solo prezzo (quantità minima 0,1, massima 99.999.999, senza sconti). Se il listino è impostato lordo IVA viene preso il prezzo IVA compresa del sito, altrimenti il prezzo netto;
- il codice a barre letto dal campo EAN del prodotto, registrato come barcode di tipo web. Se sul sito l’EAN viene svuotato, il barcode viene eliminato dall’articolo;
- il gruppo merceologico, quando la ricostruzione delle categorie è attiva.
Le categorie
Se Non sincronizzare i gruppi merceologici articoli è spento, prima degli articoli Atlantis ricostruisce l’albero delle categorie del sito dentro i gruppi merceologici: ogni livello è l’id della categoria Prestashop portato a 4 cifre con gli zeri davanti, i livelli si concatenano con il punto, e si scende fino a 6 livelli (oltre il sesto le categorie vengono ignorate). Una categoria con figli diventa un nodo, una senza figli una foglia.
All’articolo viene assegnata la prima categoria del prodotto che corrisponde a una foglia già presente in archivio. Se il prodotto sta solo in categorie-nodo, l’articolo resta senza gruppo.
Se invece il flag è acceso, i gruppi non vengono toccati e i nuovi articoli prendono tutti il gruppo indicato in Associa a gruppo.
Le immagini
Con Sincronizza immagini attivo, l’immagine principale del prodotto viene scaricata e allegata all’articolo nella categoria documenti impostata come immagine principale nei codici fissi. Se un allegato di quella categoria è già collegato all’articolo, il file viene scaricato solo se manca fisicamente: le immagini già presenti non vengono riscaricate a ogni sincronizzazione.
Marche e nazioni
Prima degli articoli vengono allineate anche due tabelle:
- le marche, con codice uguale all’id del produttore Prestashop e descrizione uguale al nome;
- le nazioni, con codice e ISO uguali al codice ISO del sito. Alla nazione
SMviene acceso il flag San Marino.
⚠️ Queste due tabelle vengono sovrascritte con i dati del sito a ogni sincronizzazione: descrizioni corrette a mano in Atlantis tornano quelle di Prestashop.
6. Come arrivano i clienti
Il codice cliente in Atlantis è l’id Prestashop portato a 6 cifre con gli zeri davanti, seguito dalla lettera V: il cliente 123 del sito diventa 000123V. È una regola fissa e non configurabile: significa che i clienti del sito vivono in un blocco riservato dell’anagrafica e non vanno mai rinumerati.
Del soggetto vengono aggiornati ragione sociale (cognome + nome, in maiuscolo), indirizzo, CAP, città, provincia, nazione, telefono, cellulare, e-mail, partita IVA e note, presi dal primo indirizzo del cliente sul sito. Alcuni campi hanno una regola propria:
- il CAP viene portato a 5 cifre con gli zeri davanti solo se la nazione dell’azienda è
IT; - il codice fiscale arriva dal campo dni del sito, ma se sul sito è vuoto e in Atlantis c’è già un valore, quello esistente viene mantenuto;
- il codice destinatario SDI viene impostato solo alla creazione del cliente e solo per le aziende italiane:
0000000per i clienti italiani,XXXXXXXper gli esteri. Per gli esteri, inoltre, il codice fiscale letto dal sito viene spostato in partita IVA e il campo codice fiscale viene svuotato.
Il cliente modello
I dati commerciali – listino, sconti, pagamento, agenti, contropartita, esenzione IVA, banca – non arrivano dal sito. Vengono copiati dal cliente collegato alla causale documento indicata nei codici fissi. Quel cliente è, di fatto, il modello di tutti i clienti web: si configura una volta, con le condizioni che si vogliono applicare agli ordini del sito, e non lo si usa per fatturare.
Sopra al modello viene poi applicata la categoria cliente ricavata dai gruppi Prestashop tramite la tabella di corrispondenza. Se il cliente appartiene a più gruppi mappati, vince l’ultimo che il programma incontra.
Le destinazioni
Ogni indirizzo del cliente sul sito diventa una destinazione diversa dell’anagrafica clienti, numerata con l’id dell’indirizzo Prestashop. Il primo indirizzo finisce quindi sia nei dati del soggetto sia fra le destinazioni: è normale, non è un doppione da cancellare.
7. Come arrivano gli ordini
Ogni ordine Prestashop diventa un documento in Atlantis – vendita al banco o impegno cliente secondo l’impostazione Sincronizza su – con:
- numero documento = id dell’ordine Prestashop portato a 7 cifre con gli zeri davanti;
- serie presa dalla causale;
- esercizio determinato dalla data dell’ordine;
- data documento = data dell’ordine.
Poiché la chiave è il numero d’ordine del sito, una sincronizzazione ripetuta aggiorna il documento già presente invece di duplicarlo.
In coda al corpo viene sempre aggiunta una riga descrittiva “Rif. Ordine “, che riporta il codice alfanumerico dell’ordine Prestashop: è il modo per ritrovare l’ordine sul sito partendo dal documento.
Cosa viene calcolato e cosa no
Il documento viene ricalcolato da Atlantis come se fosse stato scritto a mano: imponibili per aliquota, IVA, totali, e le scadenze in base al pagamento e alle regole del cliente (mesi esclusi e giorni di scadenza compresi).
- il prezzo di riga è quello unitario dell’ordine, senza sconti di riga: eventuali sconti di Prestashop sono già dentro il prezzo;
- lo sconto coupon dell’ordine viene riportato come sconto in valore nel piede del documento;
- le spese di spedizione diventano una riga spese, con conto e codice IVA presi dall’anagrafica spese;
- il corriere, se presente, viene scritto nelle note interne come “trasporto: …”;
- il codice IVA di riga è quello dell’articolo, salvo che il cliente abbia un’esenzione, che prevale su tutto;
- se l’ordine porta un indirizzo di spedizione diverso da quello di fatturazione, i dati vengono scritti nella destinazione del documento; altrimenti il riquadro resta vuoto.
Con Scarica ordini con valori IVA inclusa acceso, prezzi, spese e sconto vengono presi IVA compresa e il documento nasce con lo scorporo IVA attivo.
Gli ordini che non vengono toccati
Alcuni ordini vengono saltati senza nessun messaggio. Non è un errore, è una protezione:
- l’ordine corrispondente in Atlantis è già stato fatturato;
- l’ordine corrispondente è già stato evaso, anche solo in parte.
In entrambi i casi il documento resta com’è: le modifiche fatte nel frattempo sul sito non arrivano più. È il comportamento voluto – un impegno già evaso non deve cambiare sotto ai piedi di chi ci sta lavorando – ma va saputo, perché dall’esterno sembra che la sincronizzazione “non veda” quell’ordine.
Gli ordini annullati
Se lo stato dell’ordine è fra quelli elencati in Elenco ‘id’ stato ordine annullato, il documento viene cancellato da Atlantis. La cancellazione viene tentata sull’esercizio della data ordine e sull’esercizio precedente, per intercettare gli ordini di fine anno.
Gli articoli mancanti
Se una riga d’ordine cita un codice che in anagrafica non esiste:
- se è impostato Cod. Art. x Cancell., la riga viene ribattuta su quell’articolo, con la descrizione integrata da ” – ex. art. “;
- altrimenti l’intero ordine non viene salvato, il log riporta “Articolo ‘…’ non trovato!” e – come detto al § 4 – tutti gli ordini successivi vengono saltati.
È il singolo motivo più frequente di sincronizzazione incompleta. Le due cause tipiche sono un prodotto aggiunto sul sito dopo l’ultima sincronizzazione articoli, e una combinazione il cui codice RIFERIMENTO~XX non esiste in Atlantis.
8. Le giacenze verso il sito
L’unico dato che Atlantis scrive sul sito è la quantità, e lo fa in tempo reale, movimento per movimento. Perché scatti devono valere tutte queste condizioni:
- Attiva gestione acceso nei codici fissi;
- il movimento riguarda il deposito indicato in Deposito sito;
- la causale di magazzino del movimento ha il flag Aggiorna saldi e-Commerce acceso (Archivi → Tabelle → Magazzino → Causali di magazzino);
- l’articolo ha il flag Sincronizza con sito acceso e il campo Sku valorizzato;
- l’articolo non è escluso dalla gestione giacenze.
Al sito viene mandata la variazione di quantità, non il valore assoluto. Il flag Sincronizza con sito si può impostare in blocco su più articoli con Imposta valori… del pannello di selezione articoli.
⚠️ Il campo Sku viene compilato solo dalla sincronizzazione articoli ed è di sola lettura. Un articolo creato a mano in Atlantis, per quanto abbia il flag acceso, non aggiornerà mai la giacenza del sito. È la causa tipica di un articolo che “sul sito resta sempre alla stessa quantità”.
⚠️ L’aggiornamento non scatta durante i ricalcoli da inventario. Dopo un inventario le due giacenze sono quasi certamente disallineate: si riallineano con il Controllo giacenze.
Integrità su aggiornamenti sito
Il flag Integrità su aggiornamenti sito decide cosa fare quando il sito non risponde:
- spento (predefinito): il movimento in Atlantis viene salvato lo stesso e il sito resta indietro, in silenzio;
- acceso: l’impossibilità di aggiornare il sito fa fallire l’operazione sul gestionale.
Acceso è più rigoroso ma lega la fatturazione alla raggiungibilità del sito: se il sito è giù, in Atlantis non si salvano più documenti che movimentano quel deposito. Vale la pena accenderlo solo dove il disallineamento costa più del fermo.
9. Controllo giacenze
e-Commerce Terzi → Prestashop → Controllo giacenze mette a confronto, articolo per articolo, la giacenza del gestionale e quella del sito.
| Filtro | A cosa serve |
|---|---|
| Origine controllo | Giacenze attuali oppure Inventario di magazzino |
| Inventario | l’inventario da usare come origine. Obbligatorio con la seconda scelta, altrimenti compare “Seleziona un inventario.” |
| Gruppo Merc. | limita l’elaborazione a un ramo dei gruppi merceologici |
| Verifica / elabora su | Esistenza oppure Disponibilità – quale delle due colonne confrontare e riportare sul sito |
| Mostra solo differenze | nasconde le righe allineate |
| Mostra solo articoli sincronizzati con sito | nasconde gli articoli che non hanno il flag di sincronizzazione |
Il pulsante Elabora legge le giacenze del gestionale (per il Deposito sito) e le confronta con quelle chieste al sito. L’elenco ha sei colonne: Articolo, Descrizione, Sync, Giac. Gest., Disp. Gest., Giac. Sito.
La colonna Sync riporta il flag Sincronizza con sito dell’articolo. Le righe con Sync = N e giacenza gestionale a zero sono prodotti che esistono solo sul sito: Atlantis li aggiunge in coda all’elenco proprio per farli vedere. Sono la spia di prodotti creati sul sito e mai sincronizzati, oppure di combinazioni non presenti in anagrafica.
Le righe vengono selezionate tutte dopo ogni elaborazione. I tre pulsanti della barra lavorano sulle righe selezionate:
| Pulsante | Direzione | Cosa fa |
|---|---|---|
| Rettifica giac. sito | gestionale → sito | scrive sul sito la quantità del gestionale (esistenza o disponibilità, secondo Verifica / elabora su) |
| Genera Rettifiche | sito → gestionale | genera due documenti di magazzino, uno di carico e uno di scarico, per portare il gestionale alla giacenza del sito |
| Esporta | – | esporta l’elenco su file |
Rettifica giac. sito manda un valore assoluto, non una differenza, e procede con una pausa ogni 50 articoli per non sovraccaricare il sito: su cataloghi grandi è lenta di suo. Gli articoli che non riesce ad aggiornare finiscono in un log a fine elaborazione. Al termine l’elenco viene rielaborato da capo, così si vede subito cosa è rimasto disallineato.
Genera Rettifiche apre la finestra Sincronizzazione Giacenze e-Commerce, che chiede conferma e mostra le due causali di rettifica e il deposito.
⚠️ Quella finestra propone le causali e il deposito configurati per VirtueMart, non quelli della scheda Prestashop: se non hai mai usato VirtueMart li troverai vuoti. Vanno indicati a mano prima di confermare – i campi sono modificabili, e la scelta fatta lì è quella che conta.
10. Personalizzare con gli script
Tre punti dell’elaborazione possono essere agganciati a uno script (Nashorn/JavaScript, gestiti in Utilità → Amministrazione → Script):
| Campo | Quando viene eseguito |
|---|---|
| Script di pre-syncro | una volta, prima di chiedere qualsiasi dato al sito |
| Script syncro ordine | su ogni singolo ordine, prima che venga elaborato |
| Script di post-syncro | una volta, alla fine, solo se l’elaborazione è andata a buon fine |
Lo script syncro ordine è quello con più potere: riceve nella variabile _json_order l’ordine così com’è arrivato dal sito e deve restituire l’ordine che Atlantis elaborerà. Serve a correggere al volo casi che la configurazione standard non copre – riferimenti da riscrivere, righe da eliminare, campi da spostare.
Il nome dello script può essere lungo al massimo 15 caratteri. Se lo script indicato non esiste compare “Errore. Script ‘…’ non trovato!” e l’elaborazione prosegue comunque.
11. Impostazioni che oggi non hanno effetto
Nella scheda Prestashop ci sono campi che si compilano ma che il programma non usa. Compilarli non fa danno, ma non risolve nessun problema:
- Prefisso tabelle – residuo del collegamento diretto al database del sito, sostituito dal gateway HTTP;
- Cod. Art. Sconto – l’articolo per gli sconti non viene mai usato: lo sconto coupon finisce nel piede del documento;
- Num. reparto – letto e salvato, mai utilizzato;
- Causale doc. rettifica + e Causale doc. rettifica − – la generazione delle rettifiche non le legge da qui, ma dalle impostazioni VirtueMart (vedi § 9).
12. Promemoria
- La sincronizzazione va lanciata a mano: per Prestashop non esiste la pianificazione automatica.
- “Errore durante la sincronizzazione.” significa sincronizzazione incompleta. Al primo errore tutto il resto viene saltato in silenzio: leggi il log, correggi, rilancia. Quello che è già entrato resta, non c’è niente da ripulire.
- Un articolo mancante blocca tutti gli ordini che seguono. Sincronizza gli articoli prima degli ordini, e imposta il Cod. Art. x Cancell. come rete di sicurezza.
- Il riferimento del prodotto è la chiave di tutto: unico, non vuoto, non più lungo di 20 caratteri. Le referenze doppie vanno sistemate sul sito, non in Atlantis.
- Senza Sku non c’è aggiornamento in tempo reale. Lo Sku lo scrive solo la sincronizzazione articoli: un articolo creato a mano non aggiornerà mai il sito.
- Il cliente collegato alla causale è il modello di tutti i clienti web: listino, sconti, pagamento e agente vengono da lì, non dal sito.
- Non rinumerare i clienti che finiscono in
……V: quel codice è calcolato dall’id Prestashop, cambiarlo significa che la sincronizzazione successiva ne crea uno nuovo. - Un ordine già fatturato o già evaso non viene più aggiornato, e non viene segnalato: dopo l’evasione le modifiche fatte sul sito vanno riportate a mano.
- Giorni = 0 significa “tutto”: usalo al primo allineamento, non tutti i giorni.
- Dopo un inventario le giacenze del sito sono da riallineare: il trigger non scatta sui ricalcoli da inventario.
- Le tabelle di corrispondenza si compilano dopo aver impostato Url e Key, perché le finestrelle con la matita leggono i valori direttamente dal sito.