Beta tecnica: È disponibile un connettore ODBC in sola lettura per una prima convalida controllata su un’installazione reale di Open POS NG. Non deve essere abilitato per operazioni di cassa reali finché la matrice di test non è stata completata.
Prerequisiti
ImaCash deve essere eseguito su Windows e raggiungere il server locale di Open POS NG. Creare un DSN di sistema ODBC a 32 bit con il driver del database utilizzato dall’installazione e un account in sola lettura con autorizzazione SELECT su una tabella o vista transazionale preparata da Avalon o dal manutentore del POS.
Configurazione in ImaCash
- Aprire Configurazione > Integrazione e selezionare Open POS NG (Avalon) - Beta.
- In Nome ODBC indicare il nome esatto del DSN di sistema x86. Inserire utente e password solo se non sono gestiti dal DSN.
- In Tabella o vista vendite indicare la sorgente esatta autorizzata, con una riga per operazione o metodo di pagamento; mai una tabella di articoli che ripeta il totale dello scontrino. Usare schema.tabella quando necessario. ImaCash non cerca né seleziona altre sorgenti.
Mappatura esplicita e vincolante
Definire sempre la mappatura delle colonne con coppie separate da punto e virgola; ImaCash la usa come contratto vincolante e non tenta di indovinare le colonne. Deve includere dateonly=true|false: true indica che date è una colonna DATE senza ora e consente di usare time con dateonly=true; false indica che date contiene già data e ora. Ad esempio: id=ID;date=DATA;dateonly=true;time=ORA;cash=IMPORTO_CONTANTI;operator=OPERATORE;terminal=CASSA. Il contratto cash accetta un solo importo coerente per ID e si blocca in sicurezza se lo stesso ID si ripete con valori diversi. Per le righe di pagamento usare amount=IMPORTO_PAGAMENTO;payment=METODO_PAGAMENTO;cashvalue=CONTANTI|CASH. Se gli identificatori richiedono delimitatori, aggiungere quote=none|double|bracket|backtick; none è il valore predefinito.
Contratto di completamento obbligatorio
Configurare una di queste due opzioni: una vista che contenga esclusivamente vendite finali insieme a finalonly=true; oppure status=STATO;closedvalue=CHIUSA|PAGATA;modified=MODIFICATA_IL per filtrare gli stati chiusi e recuperare le chiusure tardive. Nel contratto amount+payment con status+modified, modified identifica la modifica della vendita: ImaCash ottiene prima gli ID modificati e poi recupera tutte le relative righe prima di sommare i contanti, evitando l’acquisizione parziale di un pagamento misto. Senza uno di questi contratti l’integrazione si blocca in sicurezza.
Ambito della beta
L’integrazione legge le operazioni recenti e passa a ImaCash soltanto i contanti, includendo solo la componente in contanti dei pagamenti misti e i rimborsi con segno negativo. È rigorosamente di sola lettura: non modifica mai Open POS NG e non scrive conferme, stati, pagamenti o annullamenti in Avalon.