Per le stampanti o i registratori di cassa che utilizzano Xon/Xoff o Simulazione Tastiera Sweda, è possibile estendere o modificare il protocollo fornito con Passepartout Beauty.
Questa funzionalità è stata introdotta per venire incontro a due problematiche:
Ad esempio, uno stesso comando di Simulazione Tastiera Sweda può essere differente in un modello di Registratore di cassa diverso dal registratore di cassa Progress che è quello di riferimento per Passepartout Beauty, anche se utilizza il protocollo di Simulazione Tastiera;
Ad esempio il Progress non gestisce l’annullo dello scontrino e per questo il comando non è definito.
Per risolvere queste problematiche Passepartout Beauty permette la possibilità di apportare modifiche al protocollo utilizzato di default. Questo avviene tramite l’utilizzo di un file xml, la cui struttura è spiegata in seguito, che contiene le funzioni utilizzate per creare documenti fiscali. Ad ogni funzione è associato il comando, codificato nel protocollo Xon/Xoff o Simulazione Tastiera Sweda, contenuto nel tag “Valore”. Gli eventuali parametri compaiono nel comando sotto forma di variabili.
Nella cartella Utilità\Stampanti presente sotto la cartella di installazione di Passepartout Beauty, sono presenti i due file xml che contengono rispettivamente le specifiche del protocollo Xon/Xoff e Simulazione Tastiera Sweda che sono utilizzate di default dal programma. Sulla base di questi file è possibile ridefinire tutti i comandi contenuti.
Ad esempio, per modificare un comando Xon/Xoff è sufficiente aprire il file “XMLXonXoff.xml” con un editor di testo (ad esempio il Blocco Note), individuare la funzione associata al comando e sostituire al comando esistente la nuova codifica modificando il tag “Valore”.
Successivamente occorre caricare nel campo “Definizione protocollo” il file così modificato: Passepartout Beauty utilizzerà, per la stampante creata, i comandi specificati nel file anziché quelli codificati internamente nel programma.
Si passa ora ad analizzare la struttura dei file xml:
<?xml version="1.0" encoding="utf-8"?> <Marca > <Modello nome="NomeModello"> <Funzione1 parametro0=’{0}’ parametro1=’{1}’ ….. parametroN=’{N}> <Valore>comando da inviare alla stampante</Valore> <Descrizione>Descrizione opzionale</Descrizione> </ Funzione1> ………… <FunzioneN parametro0=’{0}’ parametro1=’{1}’ ….. parametroN=’{N}> <Valore>comando da inviare alla stampante</Valore> <Descrizione>Descrizione opzionale</Descrizione> </ FunzioneN> </Modello> </Marca > |
Le funzioni che possono essere modificate (e i relativi parametri) sono contenute nella seguente tabella:
| |
Nome funzione | Comando di… |
InizioStampaFiscale | Inizio stampa fiscale |
FineStampaFiscale | Termine stampa fiscale |
TagliaCarta | Taglio carta |
InizioStampaNonFiscale | Inizio stampa non fiscale |
FineStampaNonFiscale | Termine stampa non fiscale |
StampaStringa | Stampa di una stringa alfanumerica nello scontrino fiscale o non fiscale |
AvanzamentoCarta | Avanzamento di una riga nello scontrino |
StampaRigaArticolo | Stampa di una riga di vendita di un articolo. |
StampaRigaArticoloUnitario | Stampa di una riga di vendita di un articolo con quantità unitaria. |
StampaRigaReparto | Stampa di una riga di vendita di un reparto. |
StampaSubtotale | Stampa del subtotale |
ScontoPercentualeRiga | Sconto percentuale sulla vendita appena effettuata. |
ScontoPercentualeSubtotale | Sconto percentuale sul subtotale. |
ScontoValoreRiga | Sconto a valore sulla vendita appena effettuata. |
ScontoValoreSubtotale | Sconto a valore sul subtotale. |
MaggiorazionePercentualeRiga | Maggiorazione percentuale sulla vendita appena effettuata. |
MaggiorazionePercentualeSubtotale | Maggiorazione percentuale sul subtotale. |
MaggiorazioneValoreRiga | Maggiorazione a valore sulla vendita appena effettuata. |
MaggiorazioneValoreSubtotale | Maggiorazione a valore sul subtotale. |
AnnullaScontrino | Annullo totale dello scontrino in corso |
| Storno di riga. |
StampaPagamentoContanti | Pagamento in contanti. |
StampaPagamentoAssegno | Pagamento in assegno. |
StampaPagamentoCC | Pagamento con carta di credito. |
StampaPagamentoBuonoPasto | Pagamento con buoni. |
StampaRigheFisse | Stampa di righe descrittive prima del pagamento. |
StampaCodiceFiscale | Stampa il codice fiscale di un cliente per lo scontrino parlante. Parametri: |
StampaPartitaIva | Stampa la Partita Iva di un cliente per lo scontrino parlante. Parametri: |
ChiusuraGiornaliera | Chiusura giornaliera fiscale |
AperturaCassetto | Apertura cassetto |
AzzeraReparti | Azzeramento fiscale dei reparti |
StampaLetturaReparti | Stampa della lettura fiscale dei reparti |
VisualizzaMessaggioDisplay | Visualizzazione stringa nel display collegato alla stampante. |
PrelievoCassa | Prelievo dalla cassa. |
Deposito | Deposito in cassa. |
Reso | Reso. |
StampaLetturaGiornaliera | Stampa della lettura del giornale fiscale |
StampaIntestazione | Stampa della intestazione. |
StampaData | Stampa della data corrente della stampante. |
SetOperatore | Impostazione dell’operatore corrente. |
CONFIGURAZIONE | |
NumeroColonne | Numero massimo delle colonne stampante nello scontrino. Questo valore definisce anche la lunghezza massima delle descrizioni di vendita che sarà impostato a NumeroColonne – 8 (dove 8 è lo spazio per l’importo). |
TestoSoloMaiuscole | Specifica se il testo inviato deve essere solo in maiuscole. |
IsStampeNonFiscaliAbilitate | Specifica se la stampante supporta stampe di scontrini non fiscali |
NumMaxRigheFisse | Numero massimo di righe fisse stampabili. (-1 se non ci sono limiti) |
NumeroColonneDisplay | Numero di colonne nel display fiscale |
CaratteriAmmessi | Consenti di gestire caratteri speciali non sostituendoli con uno spazio. (* vedi file XMLXonXoff:Custom.xml) |
NOTA BENE: per quanto riguarda il protocollo Simulazione Tastiera Sweda, nelle funzioni che richiedono l’invio di più comandi, ogni comando è separato dal carattere “;”, inoltre il carattere <CR> che è il terminatore di comando è aggiunto automaticamente da Passepartout Beauty e quindi non è necessario aggiungerlo.
Esempio:
Si supponga di avere un registratore di cassa Sweda che, per stampare una stringa di testo in uno scontrino, utilizzi il comando “KX<stringa>AC<CR>” dove <stringa> è la stringa da stampare e <CR> è il carattere terminatore del comando (Carriage Return).
Per il registratore di cassa Progress, utilizzato di default da Passepartout Beauty, il comando associato a tale funzione è invece “KXSE<stringa><CR>”.
Aprendo il file “XMLSwedaSimulazioneTastiera.xml”, alla funzione “StampaStringa”, è associato infatti il comando “KXSE{0}”, dove {0} è il parametro “stringa” che compare come attributo del nodo “Valore”. Alla variabile {0} sarà sostituito il valore della stringa:
<StampaStringa > <Valore stringa='{0}'>KXSE{0}</Valore> <Descrizione>Stampa stringa non fiscale</Descrizione> </StampaStringa> |
Come si può notare, il carattere terminatore non compare perché è aggiunto automaticamente ad ogni comando dal programma. In questo caso il comando inviato al Registratore di cassa per stampare la stringa “PROVA” è:
KXSEPROVA<CR>
A questo punto occorrerà semplicemente sostituire a “KXSE{0}” il valore “KX{0}AC” e salvare. Successivamente in Passepartout Beauty è necessario caricare il file appena salvato nel campo “Definizione protocollo” nelle opzioni avanzate del registratore di cassa Sweda. D’ora in avanti Passepartout Beauty utilizzerà il comando specificato nel file anziché quello codificato internamente per stampare la stringa.
<StampaStringa > <Valore stringa='{0}'>KX{0}AC</Valore> <Descrizione>Stampa stringa non fiscale</Descrizione> </StampaStringa> |
In questo caso il comando inviato al Registratore di cassa per stampare la stringa “PROVA” è:
KXPROVAAC<CR>
NOTA BENE: per la definizione dei comandi specifici per stampanti/Registratori di cassa fare riferimento ai manuali forniti dal produttore.