Newsgroup: it.comp.lang.delphi
Titolo: Stampanti fiscali e driver e componenti OPOS

Salve,
   avrei da integrare la stampa fiscale dello scontrino con una 
stampante Epson FP-81II.
 
Qualcuno già esperiente sa dove reperire eventuali componenti validi per 
delphi?
 
Grazie.
 
Ciao.

 stampante Epson FP-81II. 
 
Ho appena completato l'aggiornamento del mio driver di collegamento con questo modello di stampante fiscale per quanto riguarda la "lotteria" degli scontrini.
Ora mi restano da fare "solo" RCH e Custom...
 
Di cosa hai bisogno in particolare?
Protocollo di comunicazione, interazione con il programma, porte di comunicazione, ...
 
Se mi dai qualche altra indicazione posso essere più preciso
 
Ciao

 
 
La stampante sarà connessa con la cassa di un brico che utilizza un mio 
software e dovrei poter stampare i Documenti Fiscali, fare le chiusure 
(Rapporti Z) e, credo, gestire tutte le possibilità di errore che ne 
possono derivare: mancanza carta, scollegamento cavi/energia elettrica, etc.
 
Per quanto riguarda l'invio dei corrispettivi queste stampanti 
provvedono da sole una volta fiscalizzate oppure bisogna gestirlo 
manualmente dal software?
 
Vedo che la stampante ha sia la porta USB che LAN, quale preferire, se 
ha senso la domanda?
 
Dal sito della Epson ha scaricato un software OPOSADK che credo contenga 
il driver di windows (Epson_OPOS_ADK_V3.00ER8.exe), qualche esempio in 
VB e VC++ (Cartella Samples.zip) e della documentazione credo specifica 
di tutte le stampanti (Documentation.zip).
 
C'è anche un file TMFLogo.zip che contiene, credo, un driver. Sai di 
cosa si tratta?
 
Grazie.
 

 di tutte le stampanti (Documentation.zip). 
Qui credo tu abbia bisogno di raccogliere altre informazioni... non si tratta di una stampante dove mandi un flusso di stampa
Si tratta di comunicare tramite un protocollo che prevede l'invio di stringhe in una sequenza ben precisa e di attendere la corrispondente risposta
Dal sito dell'Epson puoi scaricare il documento "Communication Protocol Version 5.00.pdf" che contiene le specifiche del protocollo di comunicazione
 
Sempre nello stesso documento puoi trovare tutte le modalità possibili di comando e comunicazione del registratore.
Si tratta di una molteplicità di comandi, dei quali io ho scelto di implementare solo un set ridotto (quelli che servivano ai miei clienti)
 
Ad esempio, anche se di facile implementazione, preferisco che la chiusura serale (operazione irreversibile) venga fatta dall'operatore direttamente sul registratore di cassa...
 
P.S. ricordati che entro il 1 gennaio devi implementare anche la gestione "lotteria"
 

 
 
Ok.
 
Grazie.

 Grazie.

>>
 
Dalle prove fatte con la LAN la stampante non viene rilevata dal DHCP 
che, infatti, non gli assegna un IP, inoltre delle lucette presenti 
sulla porta lan la verde rimane accesa mentre l'arancio fa strani 
lampeggi che, secondo me, non sono riconducibili al tentativo di 
negoziazione per il collegamento. :(
 
Ho provato a ricontattare la Epson per chiedere conferma della 
compatibilità della stampante con i software suggeriti e per escludere 
l'eventualità che sia guasta.
 
Tu hai mai utilizzato i software Epson FpMate, FpmateConfig o Fp2Config 
eventualmente con stampanti non fiscali tipo i modelli TM?
 
Grazie.

Poco fa ho scoperto che utilizzando il software SendDatV120 riesco a 
stampare!
In pratica sarebbe possibile confezionare un file di comandi e stringhe 
da inviare alla stampante utilizzando una ShellExecute.
 
Grazie.
 
Ciao.


Bene!
 
Per la configurazione della stampante fiscale, se ti scarichi il manuale, trovi come fare la configurazione.
Ovviamente serve il tastierino...
Non è difficile impostare i parametri di rete

 
 
Mi è stata data un altra stampante, questa volta è una stampante 
fiscale, modello FP-81II, nuova!
 
Leggo sul manuale che è impostata per la comunicazione tramite rs323 che 
nel mio PC non c'è e vorrei passare a LAN ma, non riesco:
 
Ho connesso il visore alla sua porta ed il tastierino alla porta USB 
"Master" (tipo A standard), c'è anche una porta "Slave" (mini usb).
 
Per passare alla connessione LAN, il manuale dice di premere 
<3333>+<Chiave> poi <19>.
 
Mi aspettavo che sul visore apparisse qualcosa ma la scritta "M.F. non 
fiscale" rimane fissa e anche se premo i tasti non succede nulla.
 
Sai dirmi dove sto sbagliando?
 
Grazie.
 

 
 
Contattata l'assistenza tecnica epson mi hanno detto di riconsegnarla 
perché difettosa :(
 
Grazie.
 

 
Posso chiederti se:
1) la scritta "Documento commerciale ...";
2) Le aliquote IVA da scrivere accanto ad ogni articolo
 
li scrive di suo la stampante dopo essere stata fiscalizzata o devo 
scriverli io?
mi aspetto uno scontrino come segue:
"
        Documento Commerciale
      di vendita o prestazione
 
Descrizione		IVA	Prezzo
lattuga                4,00       1,10
Cipolla		       4,00       2,00	
TOTALE				  3,10"
 
invece mi trovo solo:
"
lattuga                           1,10
Cipolla		                  2,00	
TOTALE				  3,10"
 
 
Grazie.


Ciao, l'utilizzo che ho fatto io del registratore è minimale, in quanto i nostri clienti preferiscono (e noi li invitiamo a...) utilizzare il programma gestionale per l'emissione di fatture.
Quindi l'utilizzo è essenzialmente per scontrini.
 
Per gli scontrini (ma anche per le fatture fatte su registratore di cassa), devi solo seguire le indicazioni del protocollo di comunicazione.
Come viene stampato non dipende da te, ma dal registratore.
Non mi risulta che ci siano possibilità di configurare il layout delle righe, ma qui dovresti sentire i tecnici del registratore.
 
Per il "documento commerciale", fa parte della nuova gestione dei registratori RT e credo che compaia solo dopo la fiscalizzazione
 
Per le aliquote, devi prevedere di collegarti ai "reparti" o "dipartimenti" configurati sul registratore
 
Alessandro

Ciao,
   mi permetto di entrare in questa discussione anche se non ho molta 
esperienza in merito.
 
Tempo fa, su una Dirtron ZIP, mi sono trovato nella tua stessa situazione.
Tutte le prove che ho dovuto fare, per non incorrere in pasticci 
fiscali, le ho potute fare su una stampante defiscalizzata.
 
Ti ricordo, ma sucuramente lo soprai gia', dal primo gennaio tutto 
quello che viene fiscalizzato va direttamente al ministero.
 
Ciao
 
Daniele

 quello che viene fiscalizzato va direttamente al ministero. 
 
Confermo che tutto quanto viene fatto su un registratore fiscalizzato viene inviato all'agenzia delle entrate.
In realtà viene inviato la sera, dopo la chiusura giornaliera.
 
Per test su registratori già fiscalizzati, l'unica è armarsi di pazienza e "annullare" ogni scontrino di prova che viene fatto
E' un procedimento non difficile, ma che richiede un po' di attenzione
 
Ciao
 
Alessandro

 
 
Io sto pilotando l'emissione del documento commerciale generando un file 
.xml che poi un servizio creato dalla Epson che si chiama "FpMate" 
rimanendo in ascolto in una specifica directory ogni 100 ms provvede ad 
inviare alla stampante.
 
Oggi ho provato a gestire il codice lotteria ma mi è stato restituito un 
errore che non è ancora tempo per questo comando. Immagino sia perché la 
stampante non è ancora fiscalizzata e/o che la data impostata sulla 
stampante (oggi) sia ancora del 2020.
 
Succede lo stesso anche con i comandi diretti?
 
Grazie.
 
 
 
 

 Succede lo stesso anche con i comandi diretti? 
 
No, con i comandi diretti ha stampato sullo scontrino il codice lotteria.
Probabilmente è il programma FpMate che "intercetta" e blocca l'invio
 

 In realtà viene inviato la sera, dopo la chiusura giornaliera.
 
Non per polemizzare ... ma dal primo gennaio 2021, sempre che non 
intervengano deroghe o altro che si possano inventare di notte, la 
comunicazione a Sogei avviene contestualmente all'emmissione dello 
scontrino.
 
Da tenere presente che questa comunicazione in tempo reale doveva, 
almeno in teoria, eliminare il cartaceo.
 
Sono curioso di vedere quali casini generera' la lotteria dello 
scontrino !!!
E ce ne saranno molti di casini ......
 
Ciao
 
Daniele
 

> ... ma dal primo gennaio 2021, sempre che non ...
 
dal primo gennaio 2020 per società con alcuni parametri, dal 1 luglio 2020 per gli altri
 
Per quanto ne so, la maggior parte dei produttori di registratori di cassa è in ritardo con le consegne degli aggiornamenti.
Al momento, mi sembra che solo Epson abbia rilasciato l'aggiornamento.
Ho provato 10 giorni fa una Custom, ma l'aggiornamento non era ancora disponibile
 
Come sempre ...

 > dal primo gennaio 2020 per società con alcuni parametri, dal 1 luglio 2020 per gli altri 
(invio telelematico)

 stampante (oggi) sia ancora del 2020.
 
Ciao, anche io uso epson fpmate da anni. per inviare i dati della lotteria 
scontrino che comando hai usato? 


 
si dice di utilizzare:
"<printRecLotteryID  lotteryID="" />" ma mi viene fuori il messaggio 
"Comando EpsonFpMate non riconosciuto; Eror Code: 131;0;131;-2"
 
Ho provato a segnalarlo all'assistenza Epson ma non mi hanno ancora 
risposto :(
 
Grazie.
 
Ciao.

 Ciao, anche io uso epson fpmate da anni. 
 
Normalmente il cliente durante l'emissione dello scontribo può vedere 
sul display la progressione delle battute, il totale ed infine 
l'eventuale resto.
 
Con fpmate penso che il cliente non veda praticamente nulla a parte 
l'eventuale resto.
 
Sbaglio?
 
Grazie.
 

 
 
Ho provato a gestire la stampante direttamente installando il driver 
"OPOS (Epson Fiscal Framework 2.0) V18".
 
Ho importato l'activex "TOPOSFiscalPrinter" ma non mi riesce di 
connettermi con la stampante.
Il codice che segue, ResultCode è sempre 101:
 
OPOSFiscalPrinter1.Open('Fp');
OPOSFiscalPrinter1.ClaimDevice(1000);
OPOSFiscalPrinter1.DeviceEnabled := True;
 
if OPOSFiscalPrinter1.ResultCode = OPOS_SUCCESS then
...
 
Tu hai detto che ti connetti via rs232 ma con l'activex di epson o altro 
software?
 
Con l'activex di epson non mi sembra ci sia la possibilità di settare la 
porta su cui è connessa la stampante, nel mio caso la LAN.
 
Non ho mai lavorato con activex, sbaglio approccio? cosa posso verificare?
 
Grazie.

 Non ho mai lavorato con activex, sbaglio approccio? cosa posso verificare? 
 
La connessione che utilizzo io è sia quella seriale, sia quella di rete.
 
Il flusso dati (stringhe) inviate e ricevute è identico in entrambi i modi
 
Sia su seriale che su rete, imposto e/o leggo i parametri dal registratore, apro la porta di connessione e invio / ricevo stringhe stringhe secondo il protocollo
Ovviamente in caso di uso della rete, chiedo che il registratore non abbia impostato il DHCP per evitare il cambio di indirizzo ...
 
In entrambi i casi non utilizzo nessun driver o software specifico Epson.
Si tratta solo di leggere e scrivere su una connessione
Anche gli altri registratori con cui lavoro funzionano allo stesso modo
 
Ho visto il comando che hai inserito per inviare al registratore il codice lotteria
"directIO|DirectIO|113501ABCDEFGN 0000"
 
Nel caso di connessione diretta la stringa da inviare la stessa, senza i directIO preliminari, quindi
"113501ABCDEFGN 0000"
 
Da manuale, prima e dopo della stringa vanno inserite alcune informazioni in più (inizio trasmissione, trama, checksum, fine trasmissione, ...) per cui alla fine la stringa effettivamente trasmessa diventa:
 
#2"#34"16E113501ABCDEFGN        000073"#34"#3"
(utilizzo #nnn per indicare un codice Ascii altrimenti non stampabile, compreso il doppio apice per non confonderlo con il resto della stringa)
 
Credo che queste sequenze iniziali e finali vengano gestite dal programma FpMate, quindi voi non dovete inserirle se lo utilizzate, mentre servono se mandate comandi direttamente al registratore
 
 
 
 

 
 
FpMate non fa altro che attendere la comparsa di un file .txt oppure 
.xml su una directory ogni 100 ms e lo invia alla stampante.
 
Il file .xml o .txt contiene tutti i comandi ed i parametri per generare 
il documento commerciale e tutti gli altri documenti che si possono gestire.
 
Grazie.

 
 
Leggendo il manuale vedo che questi comandi vanno immessi *solo* per la 
gestione della RS232 negli altri casi sembra che non servano.
 
Ho trovato il modo di far funzionare l'ActiveX di Epson ma, il seguente 
comando
"OPOSFiscalPrinter1.DirectIO(1135, 01, 'ASDFGH');"
non compila dando questa motivazione:
"[DCC Error] Main.pas(47): E2033 Types of actual and formal var 
parameters must be identical"
 
però la dichiarazione di "OPOSFiscalPrinter1.DirectIO" è questa:
"function TOPOSFiscalPrinter.DirectIO(Command: Integer; var pData: 
Integer; var pString: WideString): Integer;"
 
dove sbaglio? non riesco a vederlo :(
 
Grazie.
 


Trovato: davo in pasto alla function costanti invece che variabili.
 
Definendo delle variabili e passandole alla function ha compilato.
 
Grazie.
 
Ciao.