Rch printf xon/xoff xml

di il
7 risposte

Rch printf xon/xoff xml

Buongiorno,

sono alle prime armi sul protocollo xon/xoff, dovrei mandare un xml, tramite script php, alla stampante rch printf, qualcuno gentilmente riuscirebbe a scrivermi un xml che contenga : reparto, costo articolo, descrizione articolo, sconto % su articolo, prezzo articolo scontato, pagamento contanti/ pagamento carta, resto, totale acquisto , e se possibile, come mettere un codice numerico in barcode alla fine dello scontrino? Grazie mille per ogni suggerimento 

7 Risposte

  • Re: Rch printf xon/xoff xml

    Fidelity card, buoni acquisto, corrispettivi non riscossi e lotteria dello scontrino pure?

    Tu cosa hai abbozzato?

  • Re: Rch printf xon/xoff xml

    Intanto grazie per la risposta tempestiva.

    Nell' xml che ho scritto mancano gli articoli e tutto quello che ho richiesto nel post precedente, questo perché spulciando un pò di qua e un pò di la, ho trovato tante informazioni contradditorie, la stampante non mi è ancora arrivata quindi non posso fare i test diretti, però mi piacerebbe avere delle bozze concrete da provare appena arriva.

    Come ho già detto non mi sono mai approcciato a questo protocollo, e prima di fare disastri, vorrei avere delle idee più chiare.

    Per quanto riguarda Fidelity card, buoni acquisto, corrispettivi non riscossi e lotteria dello scontrino, non mi servono, però se vuoi gentilmente passarmi anche questi, male non fa.

    Grazie ancora per la risposta.

    Ho generato questo xml:

    $comando = '<?xml version="1.0" encoding="UTF-8" ?>'; 
    $comando .= "<Service>";
    $comando .= "<cmd>=K</cmd>";
    $comando .= '<cmd>="  SCONTRINO DI PROVA             </cmd>';
    $comando .= '<cmd>="              BARCODE            </cmd>';
    $comando .= '<cmd>="/$8/(12345678901234567890)</cmd>';
    $comando .= '<cmd>="                                 </cmd>';
    $comando .= '<cmd>="         FINE SCONTRINO          </cmd>';
    $comando .= "<\Service>";
  • Re: Rch printf xon/xoff xml

    Il mio era un commento ironico ad una richiesta di codice pronto all'uso…

    dai un'occhiata qui: https://www.iprogrammatori.it/forum-programmazione/fatturazione-elettronica/printf-esempio-scontrino-t42108.html

  • Re: Rch printf xon/xoff xml

    Buongiorno a tutti,

    dopo vari tentativi sono riuscito a stampare uno scontrino tramite codice PHP, utilizzando cURL e il protocollo XON/XOFF, contenente:

    • 2 articoli su reparti diversi con quantità diverse
    • sconto a valore sul subtotale
    • pagamento in contanti con resto
    • stampa codice a barre alla fine dello scontrino

    Il codice è il seguente:

    <?php 
        $ip = '192.168.1.10';
        $porta = '23';
    
        $stringa = (string) 'a"Articolo 1"100H5R"Articolo 2"2*100H1R=50H4M500H1T"1234567890123"3Z';
    
        $url = "http://".$ip.":".$porta."/service.cgi";
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL, $url);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER, 0);
        curl_setopt($ch, CURLOPT_HEADER, 0); 
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); 
        curl_setopt($ch, CURLOPT_TIMEOUT, 5);
        curl_setopt($ch,CURLOPT_POST, 1);    
        curl_setopt($ch,CURLOPT_POSTFIELDS, $stringa);
        curl_exec($ch);
        curl_close($ch);
    ?>

    Il codice è strutturato come segue:

    • a => apertura cassetto
    • "Articolo 1"100H5R => descrizione Articolo 1 con prezzo 1.00€ su reparto 5
    • "Articolo 2"2*100H1R => descrizione Articolo 2 con prezzo 1.00€, quantità 2 su reparto 1
    • = => stampa subtotale
    • 50H4M => sconto sul subtotale a valore di 0.50€ (non può essere la prima transizione)
    • 500H1T => pagamento in contanti di 5.00€
    • "1234567890123"3Z' => stampa codice a barre alla fine dello scontrino (solo numeri e con opzione fidelity attiva)

    La stringa deve essere su un'unica linea, no più linee, non viene letto il codice dalla seconda linea in poi, settare sulla stampante protocollo pc XON/XOFF, settare sulla stampate connessione TCP. 

    L'unico inconveniente è che la stampante prima di stampare lo scontrino emette a video il codice errore E20 sequenza errata, ma poi stampa lo scontrino tranquillamente, ho cercato nei manuali cosa significasse l'errore, e sembra che manchi un terminatore alla fine della stringa.

    Ho provato a cercare cosa fosse, ma senza risultati, qualcuno sa come risolvere questo errore?

    Grazie mille.

  • Re: Rch printf xon/xoff xml

    25/11/2024 - Andspi ha scritto:

    ... Ho provato a cercare cosa fosse, ma senza risultati, qualcuno sa come risolvere questo errore?

    Sebbene sia per una stampante epson, penso che sia simile a rch, al peggio puoi prendere degli spunti :

    https://download4.epson.biz/sec_pubs/bs/pdf/EPSON_XON-XOFF_Rev_6.1.pdf

  • Re: Rch printf xon/xoff xml

    Buongiorno a tutti,

    dopo un bel pò di prove, sono riuscito a stampare perfettamente lo scontrino, da uno script PHP ad una stampante RCH printF!, tramite protocollo XON/XOFF, qui di seguito vi lascio il codice completo, in modo che se qualcuno ne ha bisogno può usarlo, senza perdere tempo in ricerche con manuali incompleti in rete:

    <?php
    	$scontrino='K1O"Articolo 1"100H5R5.00*1M"Articolo 2"3*10H1R=10H4M100H5T500H1Tj"11032024161821704800"3ZJ';
        $socket = socket_create(AF_INET, SOCK_STREAM, 0);
        $result = socket_connect($socket, '192.168.1.10', 23);
        socket_write($socket, $scontrino, strlen($scontrino));
        socket_close($socket);
    ?>

    Il codice è strutturato come segue:

    • K => clear
    • 1O => operatore 1
    • "Articolo 1"100H5R5.00*1M => descrizione Articolo 1, prezzo 1.00€ su reparto 5, con sconto del 5% (per lo sconto non può essere la prima transizione)
    • "Articolo 2"3*10H1R => descrizione Articolo 2 con prezzo 0.10€, quantità 3 su reparto 1
    • = => stampa subtotale
    • 10H4M => sconto sul subtotale a valore di 0.10€ (per lo sconto non può essere la prima transizione)
    • 100H5T => pagamento in ticket di 1.00€
    • 500H1T => pagamento 5.00€ in contanti
    • j => apertura documento non fiscale
    • "1234567890123"3Z' => stampa codice a barre alla fine dello scontrino (solo numeri e con opzione fidelity attiva)
    • J => chiusura documento non fiscale

    La stringa deve essere su un'unica linea, no più linee, non viene letto il codice dalla seconda linea in poi, settare sulla stampante protocollo pc XON/XOFF, settare sulla stampate connessione TCP. 

    L'apertura del documento non fiscale, non riguarda quello scritto prima della sua apertura, il quale rimane tutto uno scontrino fiscale, ma serve solo a fare uscire il barcode alla fine dello scontrino in automatico.

    Spero di essere stato abbastanza chiaro, se avete dubbi su quanto scritto, scrivetemi pure qui nel post, e cercherò di rispondervi appena possibile.

    Buona giornata a tutti.

  • Re: Rch printf xon/xoff xml

    02/12/2024 - Andspi ha scritto:

    Il codice è strutturato come segue: ...

    Da uno sguardo veloce ai codici che hai utilizzato direi sono in linea con quelli presenti nel manuale Epson che ti linkato a dimostrazione che si tratta di un protocollo standardizzato ...

    Grazie per aver condiviso quanto hai realizzato : a qualcuno sicuramente tornerà utile.

Devi accedere o registrarti per scrivere nel forum
7 risposte