EPSON ITALIA SpA

 

Specifiche ACTIVEX per stampante fiscali serie FP

 

Nome controllo - EpsonFP2.EpsonFPControl

 

 

 


Revision History

 

Ver Rev Fogli Commenti Data Autore
- Draft - Prima versione Agosto 2001 VS
- A - Inserito: Rev History, Elenco proprietà da sviluppare, descrizione parametri funzione 28 Agosto 2001  RC
- B - Inserito descrizione architettura Active X, aggiornato  proprietà, modificato i mnemonici dei seguenti metodi: da Get a Read , definito opX per metodi relativi a trame con Header1=2 mentre con opZ quelli con Header1 = 3, modificato inoltre le Signature dei seguenti metodi: opProgOpr,  modificato inoltre le priorità 1 dei Metodi 31 Agosto 2001  RC
- C - Eliminazione di LastQtaDec e sostituzione del tipo di dati di LastQta da Integer a Single, differenziate LastMM per i mesi e LastMin per i minuti, LastMatrFisc diventa di tipo Long. Introdotta la proprietà EuroSettings. Cambiata la descrizione per opContante per la chiusura scontrino con default=0. Controllata signature per opEndSNoFisc,opZTotOprPer,opReadDataOra,opReadReparto,opReadTassa, opReadCredCC, opRepartoStorno (tolto il parametro Qta), opProgDataOra (non restituisce data e ora). In opReadReparto l'unico parametro in ingresso è solo il numero del reparto. Aggiunta la proprietà LastDate ai metodi che la valorizzano. Accorpate le due sezioni Varie in una sola. Introdotto l'errore OP_EUROLOCK e le costanti EPS_EUROSETTINGS_... 5 Settembre 2001  VS
1.0.7 D - Definito a 40 il numero massimo di caratteri per il parametro Descr nel metodo opMsgVisoreCortesia.
Definito di 4 byte il valore di N.SF e NSNF
Aggiunta la proprietà LastNReparto nelle proprietà impostate da opReadReparto
In opRepartoStornoQDec rinominato il parametro Qta in QtaDec in conformità con opRepartoQDec
Definita in tutto il documento la corretta denominazione della funzione per il riavvio stampa quando la carta è finita. Si chiama opRiavvioStampaDaFineCarta
Uniformato il nome del parametro che descrive il numero dell'operatore (non il codice). Per tutte le funzioni che lo usano questi si chiama NumeroOperatore. Le funzione interessate da questa modifica sono: opXTotOprGior, opXTotOprPer, opZTotOprGior, opZTotOprPer, opProgOpr, opReadOpr
Introdotte tre nuove proprietà (si sola lettura): Major, Minor e Revision per dare la possibilità al programmatore di conoscere la versione del controllo via software.
Correzioni ortografiche
 26 Settembre 2001  VS
1.0.8 E - Viene cambiato (con uno swap fra i valori 2 e 3) il valore del FrameCounter anche nel caso in cui non sia stata ricevuto il frame risposta da parte del PC (ma sia stato ricevuto l'ACK) a differenza delle implementazioni precedenti, che prevedevano il cambio del valore del FrameCounter solo nel caso di ricezione del frame di risposta entro il timeout programmato.  01 Ottobre 2001  VS
1.0.9 - - Su indicazione di Garavaglia Carlo (Epson) viene cambiato (con uno swap fra i valori 2 e 3) il valore del FrameCounter dopo la spedizione di ogni messaggio alla cassa (indipendente dal messaggio di risposta e dalla ricezione dell'ACK) a differenza dell'implementazione precedente, che prevedeva il cambio del valore del FrameCounter solo se era stato ricevuto l'ACK.  09 Ottobre 2001  VS
1.0.20 - - Implementati i metodi per i resi: opRepartoReso, opRepartoResoQInt e opRepartoResoQDec. (come da esigenze di COGITO)
Corretta colorazione di opRepartoQDec: era riportato con priorita' 1 (colore grigio chiaro), ma in realta' era gia' stato implementato.
 12 Novembre 2001  VS
1.0.21 - - * Implementati i metodi: opAlzoCarta, opRepartoPercMinus, opRepartoPercPlus, opReadValuta, opProgValuta, opContanteVal
* Aggiunte le costanti: EPS_SCONTRINO, EPS_GIORNALE, EPS_SCONTRINO_GIORNALE (usate da opAlzoCarta) e tutte le costanti di errore interni della stampante (hanno tutte il prefisso EERR_)
* Aggiunte le proprietà: LastPercReparto, LastNettoPrecedente (usate da opRepartoPercMinus e opRepartoPercPlus) e LastNValuta, LastDescValuta, LastValoreValuta (usate da opReadValuta) e LastImportoValuta (usata da opContanteVal)
* Nella descrizione dei tipi delle funzioni aggiunta la documentazione per il tipo Double usato per definire il valore del rapporto di cambio delle valute straniere.
* Corretta colorazione delle funzioni:
opRiavvioStampaDaFineCarta, opRepartoQDec, opRepartoStorno, opRepartoStornoQDec, opIniSNoFisc, opDatiSNoFisc, opEndSNoFisc, opDescAgg, opZTotFinGior, opZTotOreGior, opZTotOprGior, opZTotFinPer, opZTotOrePer, opZTotOprPer, opZFiscMem, opProgRigaInt, opAttivazioneEuro, opReadMatrFisc, opProgDataOra, opProgOpr, opProgFlag, opProgConf, opProgTipoRigaInt, opReadDataOra, opReadReparto, opReadTassa,opReadCredCC,opProgOpr, opProgFlag, opProgConf, opProgTipoRigaInt,opReadDataOra, opReadReparto, opReadTassa, opReadCredCC, opReadTicket, opReadOpr, opReadFlag, opReadConf, opReadTipoRigaInt: erano riportate con priorita' 1 (colore grigio chiaro), ma in realta' erano gia' state implementate nella versione precedente.
  9 Gennaio 2002  VS
2.0.32 - - * Modificata l'interfaccia ActiveX del controllo (di conseguenza rotta la compatibilità binaria): tutti i metodi pubblici esposti dall'interfaccia (quindi tutti i metodi opXXX ed il metodo GetLastErrorDescription) ora hanno i parametri passati per valore e non più per riferimento. (Problema sollevato da "Apete")
Di conseguenza è stato modificato il nome della libreria in EpsonFP2.EpsonFPControl
Per distinguere il controllo EpsonFP2 dal precedente EpsonFP, oltre al nome ovviamente, è stato aumentato il major number della release (ora siamo alla 2).
Inoltre gli sviluppatori troveranno un numero 2 sulle icone del controllo sia nella toolbox dell'IDE dell'ambiente di sviluppo, sia quando aggiungeranno il controllo EpsonFP2 al container (per esempio un Form in VB) che lo conterrà.
Da questo momento gli sviluppatori che desiderino utilizzare EpsonFP2 debbono includerlo nella loro applicazione e ricompilarla rispettando le nuove specifiche sui parametri dei metodi pubblici.
* Nella documetazione aggiunto il termine ByVal prima di tutti i parametri dei metodi modificati per sottolineare ancora una volta il fatto che i parametri sono passati per valore e non più per riferimento.
  14 Febbraio 2002  VS

 

 

 

 

 

 

 

 


INTRODUZIONE


 

Questo documento descrive l'architettura, le proprietà, i metodi del controllo ActiveX sviluppato per le stampanti fiscali della serie FP di Epson.

Il controllo ActiveX automatizza la gestione del protocollo di comunicazione relativo alle stampanti fiscali. Il controllo può essere utilizzato in tutti gli ambienti di sviluppo che supportano la tecnologia COM (Component Object Model è un marchio registrato di Microsoft Corporation) e i contenitori di controlli ActiveX .

 



DOCUMENTI DI RIFERIMENTO

 


ARCHITETTURA  DEL CONTROLLO

Il controllo ActiveX deve prevedere la gestione della stampante fiscale sia nella modalità Client/Server che Master/Slave, anche se nella prima versione il controllo non gestirà la modalità Client/Server.

Il controllo utilizza  due tipi di eventi:

La gestione dei metodi è di tipo sincrono, il programma deve aspettare che il metodo termini l'operazione. I valori che la stampante ritorna sono disponibili nelle proprietà a sola lettura identificabili con il prefisso "LAST"

 

I Metodi che implementano le funzionalità della stampante fiscale sono identificati dal prefisso op  e sono riportati nella lista in ordine crescente rispetto al codice (Header 2) della PDU applicativa (Vedi protocollo di comunicazione stampante fiscale). Ogni metodo ha come riferimento un comando del protocollo di comunicazione della stampante fiscale.

I parametri dei metodi sono definiti per mezzo dei seguenti tipi: 

Per quanto riguarda il tipo Currency, il controllo è in grado di formattare correttamente il campo da inviare alla stampante grazie alla proprietà EuroSettings, questa proprietà deve essere inizializzata, in caso contrario il controllo non funziona.

La gestione del T.O. (timeout) di comunicazione è parametrizzata in funzione del metodo in esecuzione ed è rigidamente impostata dal controllo. 

Il controllo non gestisce la retry di comunicazione, in caso di errori di comunicazione ritorna un errore.

 


ELENCO METODI


Sistema

 Reparto

Subtotali

Pagamenti

Varie

PLU

Report finanziari

Stampe con/senza Azzerramenti

    Programmazioni/Letture

 


ELENCO PROPRIETÀ



ELENCO ERRORI


Gli errori si dividono in due livelli: gli errori legati al controllo EpsonFPControl e errori interni della stampante
Gli errori interni della stampante fanno parte del livello EERR, mentre gli altri livelli hanno il prefisso OP_ e descrivono gia' da soli il tipo d'errore

Il livello EERR specifica che c'e' stato un errore interno della stampante, ma non specifica quale errore. Per questo esistono delle costanti che specializzano degli errori interni. Il codice d'errore interno viene memorizzato nella proprieta' LastEERR.
I valori assunti da LastEERR sono descritti da costanti con prefisso EERR_ e sono le seguenti:


ELENCO COSTANTI



ELENCO EVENTI



ELENCO PARAMETRI FUNZIONI



DESCRIZIONE METODI


I metodi qui di seguito descritti sono specificati dalla loro signature (o interfaccia) con i tipi dei parametri (quelli opzionali sono racchiusi dalle parentesi quadre), dalla descrizione dei parametri (con il tipo tra parentesi tonde e con i valori ammessi tra parentesi quadre), dalla descrizione degli eventuali valori di ritorno e dalla descrizione degli eventuali eventi generati.
Tutti i metodi che hanno il prefisso op sono implementazioni di funzionalità del registratore di cassa.
Per tutti questi metodi sono gli stessi i possibili valori di ritorno e i possibili eventi generati.