DF_ECR

Last update 12/07/2008

Info2000 web site: www.info2000.biz

Introduzione a DF_ECR

DF_ECR e' una DLL Active X, disponibile anche in versione .NET (wrapper COM) che consente di interfacciare i tuoi programmi, con i registratori di cassa piu' diffusi!

Oggetti

Bill

Bill e' lo scontrino nella sua totalita'.
ID As String Rappresenta un identificativo univoco dello scontrino transitato per DF_ECR. Questo id e' assegnato da DF_ECR e viene restituito tramite l'evento CurrentBill
BillPayment.Payed As Double Importo pagato/versato dal cliente (non e' il totale dello scontrino ma e' l'ammontare della valuta data dal cliente)
BillPayment.PaymentType As String Modalita' di pagamento
Items() As Item Vettore contenente gli articoli nello scontrino fiscale

Item

Item rappresenta ogni singolo articolo nello scontrino
ItemCode As String Codice dell'articolo
Description As Descriptions Righe di descrizione dell'articolo
Discount As Single Sconto %
SubTotal As Double Importo dell'articolo corrente secondo questa formula:
SubTotal = PrezzoSingolo * Quantita' + Tax%

L'eventuale sconto non e' incluso

Tax As Single Tassa %
Quantity As Long Quantita' intera/decimale

Metodi

Function register(ByVal Serial As String) As Boolean Previo acquisto codice seriale, sblocca DF_ECR dalla modalita' demo che stampa scontrini fiscali ma con alcuni prezzi degli articoli modificati random, alla modalita' registrata. Se la funzione register ritorna TRUE significa che DF_ECR e' stata registrata correttamente.
Sub ECR_Close() Chiude la connessione con l'ecr
Function get_ECR_Firmware() As String Restituisce la versione del firmware dell'ecr
Sub ECR_Reset(Optional ByVal ShowLoggingMessages As Boolean = True) Chiude e riapre la connessione con l'ecr
Function get_ECR_SerialNumber() As String Restituisce il numero di matricola dell'ecr
Function get_ECRSetup() As DF_ECR.ECRSetUp Restituisce la configurazione impostata. Inoltre attiva l'evento ECRSetUp
Function get_Picture(ECR As ECRPictureModels) As StdPicture Restituisce una immagine che rappresenta l'ecr passato come argomento
Function get_Picture(ByVal ECR As DF_ECR.ECRPictureModels) As System.Drawing.Image Restituisce una immagine che rappresenta l'ecr passato come argomento *solo per Net
Function get_Version() As String Restituisce la versione del controllo DF_ECR. Le numerazioni delle dll Activ X e dell'assembly possono variare: riferirsi sempre a questo numero di versione
Sub Open_Drawer(Optional ByVal Drawer As DF_ECR.Drawers = DF_ECR.Drawers.Drawer1) Apre il cassetto
Function Print_Bill(ByVal Bill_ToPrint As DF_ECR.Bill) As String Stampa lo scontrino
Sub set_ECR_Setup(ByVal ECRInfo As DF_ECR.ECRSetUp) Imposta i parametri di connessione e generici dell'ecr
Sub ShowMessage(ByVal Where As DF_ECR.WhichDisplay, ByVal MessageToShow As String) Visualizza sul display dell'ecr, la stringa passata come argomento

Alcuni ecr possono non supportare alcuni metodi

Proprieta'

Simulate As Boolean Simula il funzionamento ma senza attivare alcuna comunicazione con il registratore di cassa. Impostare a true in fase di debug se non si desidera/possiede alcun registratore di cassa
Log As Boolean Genera l'evento Logs per ogni attivita' svolta da DF_ECR
LogAllInOne As Boolean Instrada tutti gli eventi di log nell'evento Logs
SuppressNAMessages  As Boolean Blocca l'invio degli eventi contenenti l'informazione n/a. Ad esempio se si cerca di visualizzare un prezzo sul display di un ecr che non supporta tale modalita'

Eventi

Change(Source As String, Time As String, Money As Double) Restituisce il resto da dare al cliente, dato come differenza algebrica fra il versato ed il dovuto
SetUp(Source As String, Time As String, Information As String) Restituisce una serie di informazioni riguardanti la configurazione impostata. Questo evento e' attivato dalla funzione get_ECRSetup
Errors(Source As String, Time As String, Message As String) Restituisce il messaggio di errore che se si e' verificato durante l'esecuzione di DF_ECR
LicenseMessage(Source As String, Time As String, Message As String) Restituisce messaggi riguardanti la licenza di DF_ECR
GrandTotal(Source As String, Time As String, Money As Double) Importo totale dello scontrino ovvero il dovuto dal Cliente
Message(Source As String, Time As String, Message As String) Restituisce i messaggi generici provenienti da DF_ECR
Printing(Source As String, Time As String, Message As String) Restituisce le fasi durante la stampa dello scontrino
Logs(Source As String, Time As String, Message As String) Se la proprieta' Log = True, questo evento informa delle attivita' eseguite da DF_ECR
CurrentBill(Source As String, Time As String,ID As String) Restituisce un ID univoco per ogni scontrino gestito da DF_ECR a prescindere se viene stampato
Il parametro Source ritorna una stringa identificativa dell'ecr di provenienza
Il parametro Time ritorna una stringa identificativa dell'istante in cui l'evento e' generato

Distribuzione

DF_ECR supporta vari registratori di cassa usando i vari protocolli. Ognuna di queste implementazioni puo' richiedere librerie diverse che talvolta non servono per altri ECR. Per agevolare ed ottimizzare la distribuzione delle applicazioni sviluppate intorno a DF_ECR, sono rilasciate nella cartella di installazione Redis alcuni eseguibili pre impostati che contengono le librerie necessarie al variare dei protocolli usati.
Il nome dei file e' abbastanza esplicito per cui una volta deciso quali protocolli si desidera usare nelle proprie applicazioni, non bisogna fare altro che includere questi .exe e lanciarli dalla propria procedura di installazione. L'installazione di questi pacchetti e' silente e non richiede interazioni utente.
A titolo di esempio nella cartella Redis si possono trovare i file (come da matrice di compatibilita' pubblicata sulla home page di DF_ECR):
DF_ECR_ALL.exe Contiente tutti i driver di tutti i registratori di cassa supportati. Consigliamo di distribuire questo pacchetto.
DF_ECR_Olivetti_Logic.exe Contiene i driver per i registratori di cassa Olivetti ed analoghi che richiedono lo stesso protocollo.
DF_ECR_GenericSerial.exe Contiene i driver per i registratori di cassa con accesso seriale generico.
DF_ECR_RCH.exe Contiene i driver per i registratori di cassa RCH
Includere sempre i file interessati di cui sopra nella propria procedura di installazione insieme a DF_ECR.dll Se non si includono questi file, DF_ECR non produrra' alcun effetto sulla macchina finale!
Dal punto di vista del software che stampa lo scontrino, si dovranno impostare tutti i parametri di configurazione del controllo DF_ECR.dll, usando il metodo set_ECR_Setup, quindi si potra' stampare usando il metodo Print_Bill
Tutti i protocolli presenti nella cartella Redis possono essere distribuiti liberamente ma non possono essere distribuiti per essere usati con controlli/applicazioni diverse da DF_ECR.
DF_ECR puo' essere liberamente incapsulato e distribuito nelle proprie applicazioni a meno di non violare le condizioni della licenza d'uso.
E' consigliato dare uno sguardo all'applicazione di esempio distribuita con DF_ECR.
L'unica dipendenza di DF_ECR ACtive X e' la libreria contentente le run time VB (ultimo service pack): queste dovranno essere presenti sulla macchina target.
La versione .Net richiede gli stessi componenti e dipendenze della libreria Active X oltre al framework .Net

Limitazioni versione demo

La versione demo, ovvero non registrata correttamente tramite con il metodo register, stampera' regolarmente gli scontrini fiscali ma cambiera' in modalita' del tutto casuale alcuni prezzi degli articoli. Emettera' inoltre un messaggio nell'evento LicenseMessage per informare di eventuali modifiche ai prezzi. Fatta salva questa differenza, la versione demo non differisce in altri modi dalla versione registrata.