Gestore Ela Bidirezionale Pagina 1 di 24
Indice: Applicativo Ela Bidirezionale...3 Introduzione...3 Scopo di questo applicativo...3 Note tecniche...4 Lancio del programma...5 Gestione codici a barra...16 Applicativo di esempio: Gestore Articoli...18 Esempio uso di Printer Fiscale...23 Pagina 2 di 24
Applicativo Ela Bidirezionale Introduzione Lo scopo di questo applicativo è la gestione di una macchina ELA (Nettuna 400/500) in modo bidirezionale. Questo applicativo gestisce la tastiera, il display e la stampante del registratore che vengono gestite come delle periferiche. L applicativo legge la tastiera e internamente processa i tasti premuti dall utente e pilota il display e la stampante del registratore simulando il funzionamento di un comune registratore. Questo comporta che per il suo funzionamento necessita di un computer, con una porta seriale per il collegamento con il registratore, sempre acceso con in esecuzione questo applicativo. Scopo di questo applicativo Lo scopo di questo programma è di gestire il registratore, tramite il protocollo ELA, legge i tasti premuti dall utente ed i codici a barra letti dal lettore ottico, pilota il display e la stampante simulando il funzionamento del registratore di cassa. Per quanto possibile il può similmente al funzionamento del registratore in modalità normale (non collegato, in locale), a che cosa può servire? Questa è una domanda che nasce spontaneamente, il suo scopo è di eseguire funzioni non previste dal firmware del registratore di cassa. L attuale versione, alfa, gestisce la lettura dei codici a barra, e i codici clienti. L OCX base viene usato all interno dell applicativo che viene rilasciato insieme, che permette in maniera molto semplice di gestire i bar-code per la vendita e l aggiornamento del magazzino in tempo reale. Tramite il nostro programma MfWin 1 si può gestire la fattura riepilogativa degli scontrini emessi per un dato cliente in un mese in maniera pressoché automatica. Inoltre permette di mescolare vendite da registratore senza che l operatore usi la tastiera del Pc (come un normale registratore non collegato) e di inviare da MfWin delle transazioni in qualsiasi punto dello scontrino. Questa ultima cosa è molto utile per inserire descrizioni particolareggiate all interno di uno scontrino (numeri seriali/garanzie). Il programma è stato testato su windows XP home e professional, è consigliato l uso su di un computer abbastanza potente, visto la grande mole di dati che vengono scambiati tra il computer ed il registratore. 1 In questo documento si fa riferimento al nostro applicativo MfWin, ma nulla vieta l uso di un altro programma. Pagina 3 di 24
Note tecniche Per gestire i bar-code o codici clienti non è necessario utilizzare l applicativo MfWin, basta usare il suo archivio, che essendo un archivio access è facilmente modificabile. Un proprio gestionale per utilizzare le potenzialità del nostro applicativa necessita solo di gestire le tabelle: Articoli, campi Codice, Reparto, Descrizione, Prezzo, Incasso, Venduti, Presenti Ditte, Codice (è il numero usato per gestire i clienti sugli scontrini), Nome Storico, IDProdotto,, Pezzi, Incasso, Riferimento, Guadagno, Ricavo Altrimenti si può decidere di gestire direttamente l OCX fm1985ela e gestire direttamente da un proprio applicativo gli eventi (quella che segue è la sintassi Visual Basic): Sub CTR_RichiestaDatiCliente(Codice As String, PIva As String, CodFisc As String, Descrizione As String) Evento che viene generato dal controllo quando viene richiesto la validità di un codice cliente inserito da registratore. Sub CTR_RichiestaDatiPLU(PLU As String, Reparto As String, Prezzo As String, Descrizione As String) Evento che viene generato dal controllo quando viene richiesto dal registratore un barcode. CTR_ScaricoVenditePLU(ByVal Elementi As Integer, PLU() As String, Pezzi() As String, Incasso() As String) Evento che viene generato dal controllo quando viene chiusa una transazione sul registratore con l elenco del bar-code presenti nella transazione (campo PLU). ATTENZIONE: il nostro controllo OCX non può essere integrato all interno di applicazioni che utilizzino form modali (sintassi visual basic). L uso dell utilizzo di questi ultimi comporta il blocco della routine di gestione del registratore. Per gestire il registratore in maniera efficiente occorre ricorrere ad un programma/driver dedicato che eventualmente comunichi con un vostro gestionale. In maniera analoga a quella usata da MfWin per gestire il registratore comunica tramite i servizi di comunicazioni tra processi messi a disposizione da windows con il GestoreEla (che non usa form modali) che si occupa di gestire il registratore. Pagina 4 di 24
Lancio del programma Prima di lanciare il programma accendere il registratore e portarlo in assetto COLLEGAMENTO e dopo lanciare il programma. Se è la prima volta deve essere selezionata la porta seriale a cui è collegato il registratore di cassa 2 selezionata la porta cliccando su Apri porta viene tentata la connessione con il registratore di cassa. 2 Se è un computer fisso con una porta seriale sulla scheda normalmente corrisponde alla COM1. Pagina 5 di 24
In basso a destro appare l immagine, qui sopra, se il registratore è acceso ed è stata selezionata correttamente la porta seriale dopo un istante l immagine sparisce e sul display del registratore appare il messaggio COLLEGAMENTO ESEGUITO. Eseguita la connessione il programma si riduce ad icona in basso a destra. Nel caso ci siano dei problemi di connessione viene visualizzato un messaggio sul computer. Pagina 6 di 24
Pagina 7 di 24
Se viene eseguita la connessione, nella finestra di collegamento, in alto a destra vengono riportate le caratteristiche del registratore riconosciuto 3 tutte le configurazioni del funzionamento vengono effettuate da PC, non deve essere configurato nulla sul registratore di cassa: il check box Virgola automatica serve per selezionare se il registratore deve funzionare in centesimi (le ultime due cifre sono centesimi) od in euro (se è deselezionato). Il check box Collegati automaticamente serve per lanciare automaticamente il collegamento al lancio del programma. Idem il check box Nascondi finestra nella task bar al collegamento. Cliccando sull icona sulla barra la finestra ritorna a pieno schermo, il pulsante Nascondi nella task bar fa sparire la finestra. Il bottone Seleziona base bar-code serve per selezionare il data base su cui sono presenti i codici dei bar-code 4 premendo il bottone si permette di selezionare l archivio. Seleziona base programma serve per selezionare un altra directory per il file Scontrini.mdb. Questo risulta comodo per posizionare l archivio in una directory comoda da copiare. 3 In questo caso CRF 4095, la matricola e la versione del firmware ed in basso è riportato Nettuna 400 (il nome commerciale). 4 L archivio Articoli.mdb di MfWin. Pagina 8 di 24
Cliccando sul pulsante Setup registratore si accede al menù per i settaggi del registratore cliccando sul pulsante Setup reparti/iva/gruppi La prima riga indica il numero del reparto, Prezzo il prezzo di vendita, Max1 il prezzo massimo (HALO), MaxX indica il prezzo massimo risultato di una moltiplicazione. Pagina 9 di 24
Pagina 10 di 24
Tastiera Questo è la configurazione base della tastiera della Nettuna 400 in assetto locale (non collegato). Attualmente vengono gestite le funzioni più importanti e quelle considerate meno importanti non vengono gestiti come: i tasti Prezzo1/2 ed i relativi listini1/2, rec.credito p.c.n.r. e simili. Al posto del tasto valuta è stato inserito il tasto supero limite. Al posto dei tasti prezzo1/2 sono stati messi i tasti scroll up/down che servono per scorrere a display le battute effettuate 5. L idea di base che ha portato allo sviluppo di questo applicativo è la possibilità di gestire i codici a barra presenti sul computer senza limitazioni di 5000/10000 presenti in locale 5 In una precedente versione era possibile eseguire storni sulle singole battute, ma per evitare casi estremi/critici come storni di storni è stata eliminata la possibilità di effettuare correzioni. Era stato quasi deciso di eliminare questa funzione (circa un anno fa, noterete che lavora su una sola riga (vedi display Logic), adattata poi per lavorare su due righe), ma poi è rimasta. Quando il programma raggiungerà un sua maturità, se questa funzione non scomparirà, sarà soggetta a una ristrutturazione totale. Pagina 11 di 24
sulla macchina. Ne più ne meno di quello che era possibile su macchine tipo CRF 4600/4600T, 6100 e 6600. Per cui noterete che nella attuale versione non c è molto spazio ad alcune funzioni gestionali 6 mentre è molto curata la gestione dei codici a barra, con funzioni non presenti nella macchina base. 6 Attualmente non è presente la chiusura 5X. Lo scopo della attuale versione di avere un applicativo stabile, una volta ottenuto aggiungere nuove funzionalità, fino ad emulare al 100% la funzionalità del registratore in locale. L utente medio dovrà dimenticarsi dell esistenza del tasto chiave (da usare solo in caso di guasto del PC per usare il registratore in locale). Pagina 12 di 24
La tastiera gestita dall applicativo è la seguente: Il tasto CODE CLIENTE serve per inserire un numero che indica il codice numerico associato ad un cliente 7 seguito dal tasto X. CODE PLU serve per inserire il bar-code manualmente, sempre numerico, non sono previsti bar-code con lettere alfabetiche, seguito dal tasto X. 7 Nel caso dell applicativo di test si intende la tabella Ditte, presente nel file Articoli.mdb, i campi interessai sono i campi CODICE ed il campo NOME. Nulla toglie usare un archivio MDB con tabella e campi analoghi. Oppure usare un altro applicativi che usi lo stesso file Articoli.mdb. Pagina 13 di 24
Premendo il tasto SHIFT si hanno queste funzioni: Il tasto MENU AZZ., che è in seconda funzione, serve per eseguire le letture/azzeramenti dei totalizzatori del registratore 8, entrati nella funzione il registratore rimane in attesa di un input numerico, per uscire bisogna premere il tasto AN.SCONTRINO. Le funzioni principali sono: Letture: 1 Reparti 10 Incassi (Stampa di uno scontrino, non fiscale, con i totali fiscali) 20 Iva Azzeramenti: 9001 Reparti 9010 Fiscale (10X classico) 9020 Iva Sincronizzazioni: 8 Tali azzeramenti sono eseguibili anche da computer. Pagina 14 di 24
999 Sincronizza l orologio del Registratore uguale all orologio del computer. I codici importanti dal punto di vista fiscale sono quelli che iniziano per 9, lo scarico fiscale (10X) avviene quando si esce dalla funzionalità per cui si possono stampare più copie della chiusura fiscale 9010. Nel caso di macchine fiscali per sincronizzare la data/ora (codice 999) occorrerà prima entrare azzerare 9010 uscire (scarico fiscale) rientrare e sincronizzare 999 ed uscire. Il tasto PC->CODE PLU serve per inviare al PC i codici letti, simulandone la digitazione da tastiera. Questa funzione risulta comoda nel caso il PC sia sprovvisto di un lettore di barcode. Questa funzione risulta comoda per l inserimento di nuovi prodotti o per la modifica dei prezzi. Pagina 15 di 24
Gestione codici a barra Per gestire i codici a barra deve essere selezionato il base bar-code se non risulta selezionato il gestore non sa dove trovare i codici a barra dei prodotti. Per selezionarlo cliccare sul bottone Seleziona base bar-code 9, viene visualizzato un messaggio di avvertimento 10 prima di proseguire Confermato selezioniamo il nostro archivio dei bar-code 9 Questa operazione deve essere fatta una sola volta, il programma salva questa informazione per le successive esecuzioni. L applicativo di esempio Gestore Articoli se non è selezionato il database dei barcode memorizza il suo archivio (questo per semplificare l uso del programma quando si provano le sue funzionalità come dimostrativo). 10 Stiamo per modificare un settaggio molto delicato dell applicativo. Pagina 16 di 24
Una volta selezionato il nome del file viene riportato sotto il bottone di selezione e possiamo eseguire le vendite con i codici a barra. Pagina 17 di 24
Applicativo di esempio: Gestore Articoli Questo applicativo permette la gestione, ridotta al minimo, dell archivio che viene usato dal gestore seriale. Gestisce la tabella articoli, vengono visualizzati solo gli elementi necessari per le vendite su registratore: Codice, Reparto, Descrizione e prezzo di vendita. Sulla parte in basso vengono visualizzate la posizione degli archivi MDB utilizzate dal GestoreEla, analizzando il codice sorgente si trovano queste righe: ' Legge il db degli articoli usato dal gestore del registratore BaseArticoli = GetSetting("E-LINE", "CODE-PLU", "NomeArchivio", "") Nella variabile BaseArticoli c è il nome del file MDB in cui si trovano i codici a barra e i dati delle ditte ' Legge il db degli scontrini BaseScontrini = GetSetting("E-LINE", "Base Scontrini", "PATH", "") Pagina 18 di 24
Nella variabile BaseScontrini c è il nome del file MDB in cui si trovano i dati degli scontrini emessi. Gestisce la tabella Ditte, il campo Codice, per richiamarli da registratore, il campo descrizione, Partita Iva e Codice Fiscale che vengono stampati sullo scontrino 11. 11 Scontrino documentale. Pagina 19 di 24
Visualizza l archivio degli scontrini emessi, con un anteprima dello scontrino selezionato, che oltre ad essere utile a fine scenografici è utile, analizzando il sorgente, per capire come ripescare i dati dello scontrino per effettuare delle elaborazioni/statistiche che più ci interessano. Questo programma di esempio è molto semplice ed ha in tutto 133 linee di codice nel form e 75 in un modulo, in poco più di 200 linee di codice (senza contare il form di vendita al banco). Pagina 20 di 24
Vendita al banco Dalla prima cartella del programma in basso a destra c è il pulsante Vendita al banco Cliccando su quel bottone si apre un nuovo form 12, che permette di inviare i codici letti al registratore per la vendita 13 12 Questa parte del programma è stata aggiunta in un secondo tempo per dare un esempio di vendite da computer mescolate a vendite sul registratore, va ad interferire con le funzioni del programma di printer fiscale. Il suo scopo di dare una possibile (semplice) soluzione per gestire le vendite in una postazione in cui è presente un unico scanner su computer. 13 Attenzione: il programma gestoreela che pilota il registratore le interpreterà come vendita da computer di un prodotto generico, non provvederà ad aggiornare il venduto nell archivio articoli come avviene per le vendite da registratore. Questo a noi in questo momento non interessa, questi semplici programmi servono solo come esempio su come sviluppare delle applicazioni più serie che utilizzino il gestoreela senza pilotare direttamente il controllo Active-x. Sarà compito di un applicativo più serio gestire il tutto. Pagina 21 di 24
I codici dei prodotti devono essere digitati nella casella Bar-Code cliccando sul bottone Vendita, oppure premendo invio dopo aver abilitato la vendita automatica 14. Questa è solo una idea di come mescolare vendite da computer con vendite da registratore di cassa. 14 Abilitando il check box, leggendo i bar-code con un lettore di codici a barra nella casella le vendite verranno mandate in automatico al registratore di cassa come se il lettore fosse collegato al registratore. Pagina 22 di 24
Esempio uso di Printer Fiscale Questo è un semplice programma che possiamo classificare come printer fiscale: permette di inviare delle battute al gestore seriale. Attenzione: Questo applicativo utilizza l active-x Ela2PrinterFiscale.ocx che non è altro che un semplice controllo che comunica tramite dynamic data exchange (DDE) con il GestoreEla nel caso il gestore non sia attivo (in esecuzione) provvede a lanciarlo ed a richiedere la stampa delle battute da noi richieste. Ci sono due funzioni, una per la stampa battuta all interno di uno scontrino Risposta = CTR.BattutaScontrino(Importo, Reparto, Descrizione) L altra per la stampa di uno scontrino singolo, nel caso sia già aperto uno scontrino ne attende la chiusura, alla fine della stampa delle battute viene chiuso lo scontrino Risposta = CTR.ScontrinoSingolo(Importo, Reparto, Descrizione, Messaggi) Queste due funzioni sono molto diverse tra di loro, la seconda è in printer fiscale al 100% mentre la prima funzione che invia battute all interno di uno scontrino permette di mescolare vendite da registratore e vendite da computer. Pagina 23 di 24
Questo programma ha in tutto 113 linee di codice. Pagina 24 di 24