Risultati ricerca
Frase completa
Cerca nella pagina
Chiudi
Indice

PERSONALIZZAZIONE STAMPA TESTUALE (LAYOUT TESTUALE)

Per le stampanti testuali è possibile personalizzare le stampe caricando nell’apposito campo “Configurazione stampa”, un file xml contenente il “layout” testuale. La personalizzazione, sebbene non raggiunga la completezza e la potenza di quella possibile con le stampanti grafiche, consente di aggiungere e posizionare all’interno del documento gli stessi campi dati che sono disponibili nei layout grafici inoltre è possibile aggiungere i comandi Esc\Pos sia per definire lo stile di output del testo sia per eseguire alcune funzionalità della stampante (es: apertura cassetto, modifiche alla dimensione del testo, beep sonori, ecc). Di seguito è spiegato come è composto il file xml del layout testuale in modo da poterlo modificare a proprio piacimento.

È possibile personalizzare i seguenti tipi documento:

  • Comanda
  • Conto
  • Buono sconto
  • Note

Nella cartella utilità\stampanti dentro la cartella di installazione sono presenti alcuni file contenenti layout predefiniti che è già possibile utilizzare direttamente oppure come base di partenza per personalizzare la stampa.

I file sono i seguenti:

  • XMLLayoutTestuale.xml
  • XMLLayoutTestuale_LunghDoppia.xml
  • XMLLayoutTestuale - LunghDoppia_Centro.xml
  • XMLLayoutTestuale_LunghDoppia_Raggr.xml

La struttura del file xml si presenta nel seguente modo:

<doc>

Radice dell’intero file xml

<comandi>

Sezione configurazione dei comandi Esc/Pos

<comando nome=”nome” valore=”valore comando” />

Configurazione comando Esc pos

...

</comandi>

Fine sezione configurazione comandi Esc/Pos

<tipoDocumento>

Inizio documento

...

Composizione del documento (vedi sotto)

</tipoDocumento>

Fine documento

</doc>

Fine documento xml

Il tag tipoDocumento può assumere i seguenti valori:

  • comanda
  • buonoSconto
  • scontrino
  • proforma
  • preconto
  • fattura
  • ricevuta
  • ricevutaHotel
  • nota

Per ogni tipo documento elencato, quindi, è possibile personalizzare la stampa testuale.

N.B. i documenti scontrino e ricevuta saranno stampanti come documenti NON fiscali

Es:

<doc>

Radice dell’intero file xml

<comandi>

Sezione configurazione dei comandi Esc/Pos

<comando nome=”nome” valore=”valore comando” />

Configurazione comando Esc pos

...

</comandi>

Fine sezione configurazione comandi Esc/Pos

<buonoSconto>

Inizio documento buono sconto

...

Composizione del buono sconto

</buonoSconto>

Fine documento buono sconto

</doc>

Fine documento xml

ELEMENTO RIGA

Ogni tipoDocumento è composto da tanti elementi di tipo <riga> che, appunto, rappresentano le varie righe del documento. Per i tipi più complessi (comanda e tipi conto) tali elementi riga sono raggruppati in sezioni (corrispondenti a diversi tag XML) che costituiscono la struttura del documento.

Ogni elemento <riga> è costituito dai seguenti elementi di base corrispondenti ad altrettanti tag xml:

  • testo: permette di inserire il testo semplice all’interno di ogni riga nel seguente formato

<testo>testo da inserire</testo>

Esempio

OUTPUT

<riga>

<testo>testo semplice</testo>

</riga>

Testo semplice

  • var: permette di inserire una variabile nella riga nella maniera seguente:

<var>NomeVariabile</var>

dove NomeVariabile è il nome della variabile che si intende inserire. Le variabili da utilizzare sono contenute nell’xml in fondo

Ogni sezione ha le proprie variabili e non è possibile ad esempio inserire una variabile di testata nella sezione righe. Ogni elemento di tipo var può avere i seguenti attributi:

  • lunghezza: specifica il numero di caratteri della variabile, ovvero quanti caratteri “occupa”. Se il valore è più corto saranno aggiunti degli spazi (a destra per le stringhe e le date, a sinistra per i numerici) per compensare; se il valore è più lungo sarà troncato.
  • formato: permette di formattare il valore numerico o data

Esempio

OUTPUT

<riga>

<testo>ORA: </testo>

<var formato='HH:mm'>DataCorrente</var>

</riga>

<riga>

<testo>Centro di produzione</testo>

<var>CentroProduzione</var>

</riga>

ORA: 11:30

Centro di produzione: BAR

È possibile inoltre applicare le seguenti funzioni alle variabili:

    • len: lunghezza del valore (in stringa)
    • Right(valore, n): prende gli n caratteri del valore a destra
    • Left(valore, n): prende i primi n caratteri del valore
    • Remove(valore, i, n): rimuove n caratteri di valore a partire dall’i-esimo
    • Replace(valore, val1, val2): sostituisce all’interno di valore la stringa val1 con val2
    • Mid(valore, i, n): restituisce gli n caratteri di valore a partire dall’i-esimo
    • Trim(valore): rimuove gli spazi a destra e a sinistra del valore
    • PadLeft(valore, n): se la lunghezza di una striga è < n, aggiunge tanti spazi a sinistra fino a raggiungere la lunghezza n
    • PadRight(valore, n): se la lunghezza di una striga è < n, aggiunge tanti spazi a destra fino a raggiungere la lunghezza n
    • SubString(valore, i): restituisce i caratteri di valore a partire dall’ i-esimo
    • SubString(valore, i, n): restituisce n caratteri di valore a partire dall’i-esimo

Esempio

OUTPUT

<riga>

<var>Cliente.Anagrafica.RagioneSociale</var>

</riga>

<riga>

<var>Replace(Cliente.Anagrafica.RagioneSociale, "Rossi", "Verdi")</var>

</riga>

Mario Rossi

Mario Verdi

  • comando: consente di utilizzare un comando Esc/Pos all’interno del documento.

Questi comandi permettono sia di applicare un particolare stile al testo (grassetto, corsivo, ecc) sia di effettuare delle operazioni particolari alla stampante (aprire il cassetto portamonete, emettere un beep sonoro, ecc). Per la lista dei comandi Esc/Pos supportati dalla stampante occorre fare riferimento al manuale della stampante.

Per aggiungere un nuovo comando occorre prima di tutto aggiungere un elemento di tipo “comando” nella sezione “comandi” all’inizio del documento nel seguente formato:

<comando nome="nomecomando" valore="valoreComando" />

“nome” contiene il nome del comando che si sta creando

“valore” contiene il valore del comando. Ogni carattere che compone il comando deve essere inserito in formato esadecimale e preceduto da “\x”

Ad esempio se si vuole aggiungere il comando di beep sonoro, occorre configurarlo nel modo seguente:

<comandi>

<comando nome="beep" valore="\x1C\xC0\x07" />

...

</comandi>

Successivamente per utilizzare il comando nelle righe occorre inserire un elemento di tipo “comando” in questo modo:

<riga>

...

<comando>beep<comando/>

...

</riga>

In fase di stampa il programma sostituirà al valore beep il valore specificato nella configurazione del comando.

Esempio comando

OUTPUT

<comandi>

<comando nome="corsivoOn" valore="\x1B\x21\x40" />

<comando nome="corsivoOff" valore="\x1B\x21\x00" />

</comandi>

...

<riga>

<comando>corsivoOn</comando>

<testo>Centro di produzione: </testo>

<comando>corsivoOff</comando>

<var>CentroProduzione</var>

</riga>

Centro di produzione: BAR

CONDIZIONI

All’interno di ogni sezione documento (o all’interno del documento stesso se non è prevista la suddivisione in sezioni) è possibile utilizzare particolari tag per gestire le condizioni. Ad esempio è possibile nascondere alcune righe se una certa condizione non è soddisfatta.

A tal scopo si utilizzano i seguenti tag:

struttura condizioni

<condizione>

<if valore1="PrimoValore" operatore=”=” valore2="SecondoValore" >

….

</if>

<elseif valore1="PrimoValore" operatore=”=” valore2="SecondoValore" >

….

</elseif>

<else>

….

</else>

</condizione>

Ogni tag <condizione> contiene un tag <if> ed eventuali altri tag <elseif> ed <else> tramite i quali è possibile specificare condizioni che se soddisfatte consentono di stampare le righe contenute in essi.

Per specificare la condizione si utilizzano i seguenti attributi:

  • valore1: primo valore da confrontare.
  • Operatore: operatore di confronto. Può assumere i seguenti valori:

Operatore

significato

=

uguale

eq

uguale

!=

Diverso

gt

Maggiore (>)

lt

Minore (<)

ge

Maggiore o uguale (>=)

le

Minore o uguale (<=)

IsNull

È nullo

StartWith

Inizia con

EndsWith

Termina con

Contains

Contiene

  • valore2: secondo valore da confrontare

valore1 e valore2 possono essere variabili del programma o costanti.

Esempio:

Operatore

Esempio

=

<if valore1="Sconto" operatore="=" valore2="0" >

eq

<if valore1="Cliente.Anagrafica.RagioneSociale" operatore="eq" valore2="Mario Rossi" >

!=

<if valore1="Sconto" operatore="!=" valore2="0" >

gt

<if valore1="Sconto" operatore="gt" valore2="0" >

lt

<if valore1="Sconto" operatore="lt" valore2="0" >

ge

<if valore1="Sconto" operatore="ge" valore2="0" >

le

<if valore1="Sconto" operatore="le" valore2="0" >

IsNull

<if valore1="DataConsegna" operatore="IsNull" valore2="" >

StartWith

<if valore1="promozioneDescrizione1" operatore="StartWith" valore2="Promo" >

EndsWith

<if valore1="promozioneDescrizione1" operatore="EndsWith" valore2="estate" >

Contains

<if valore1="promozioneDescrizione1" operatore="Contains" valore2="estate" >

Non sono previsti operatori AND e OR, ma è possibile innestare ulteriori condizioni all’interno di un tag if, elseif o else.

Inoltre, come visto sopra per le variabili, è possibile applicare le funzioni a valore1 e valore2:

  • len: lunghezza del valore (in stringa)
  • Right(valore, n): prende gli n caratteri del valore a destra
  • Left(valore, n): prende i primi n caratteri del valore
  • Remove(valore, i, n): rimuove n caratteri di valore a partire dall’i-esimo
  • Replace(valore, val1, val2): sostituisce all’interno di valore la stringa val1 con val2
  • Mid(valore, i, n): restituisce gli n caratteri di valore a partire dall’i-esimo
  • Trim(valore): rimuove gli spazi a destra e a sinistra del valore
  • PadLeft(valore, n): se la lunghezza di una striga è < n, aggiunge tanti spazi a sinistra fino a raggiungere la lunghezza n
  • PadRight(valore, n): se la lunghezza di una striga è < n, aggiunge tanti spazi a destra fino a raggiungere la lunghezza n
  • SubString(valore, i): restituisce i caratteri di valore a partire dall’ i-esimo
  • SubString(valore, i, n): restituisce n caratteri di valore a partire dall’i-esimo

Operatore

Esempio

len

<if valore1="len(CodiceABarre)" operatore="=" valore2="13" >

Right

<if valore1="Right(Cliente.Anagrafica.RagioneSociale, 3)" operatore="eq" valore2="Ros" >

Remove

<if valore1="Replace(Nome, "Rossi", "Verdi")" operatore="eq" valore2="Mario Verdi" >

Mid

<if valore1="Sconto" operatore="lt" valore2="0" >

Trim

<if valore1="Sconto" operatore="ge" valore2="0" >

PadLeft

<if valore1="Sconto" operatore="le" valore2="0" >

PadL

<if valore1="DataConsegna" operatore="IsNull" valore2="" >

StartWith

<if valore1="promozioneDescrizione1" operatore="StartWith" valore2="Promo" >

EndsWith

<if valore1="promozioneDescrizione1" operatore="EndsWith" valore2="estate" >

Contains

<if valore1="promozioneDescrizione1" operatore="Contains" valore2="estate" >

COMPOSIZIONE DEL LAYOUT COMANDA

Il layout della “comanda” è composto dalle seguenti sezioni:

  • testata: contiene le righe di testata della comanda.
  • testataAsporto: contiene le righe di testata di una comanda di asporto
  • righeElementi: è la sezione dettaglio che contiene a sua volta le seguenti sezioni dati:
      • rigaElemento: contiene i dati dell’elemento inserito in comanda
      • rigaElementoAltroCentro: contiene i dati dell’elemento inserito in comanda ma prodotto da un altro centro. In questo modo è possibile ad es. poter stampare gli elementi degli altri centri di produzione in carattere più piccolo o comunque non allo stesso modo degli elementi appartenenti a quel centro di produzione. Se non è definito saranno utilizzate le impostazioni di rigaElemento.
      • rigaElementoNonInviato: contiene i dati dell’elemento inserito in comanda ma non ancora inviato. Se non è definito saranno utilizzate le impostazioni di rigaElemento.
      • separatoreUscite: definizione dell’intestazione di ogni uscita
      • separatoreUsciteNonInviate: definizione dell’intestazione delle righe degli elementi non inviati
      • inizioCameriereInvio: intestazione della sezione contenente le righe degli elementi inviati da un cameriere diverso dal proprietario della comanda
      • fineCameriereInvio: piede della sezione contenente le righe degli elementi inviati da un cameriere diverso dal proprietario della comanda
      • inizioCentroCollegato: intestazione della sezione relativa alle righe dei centri collegati a quello corrente.
      • fineCentroCollegato: piede della sezione relativa alle righe dei centri collegati a quello corrente.
      • inizioElementoComposto: intestazione della sezione per stampare i dati relativi all'elemento composto. Si può utilizzare assieme all'opzione "Raggruppa composti" in opzioni installazione - scheda opzioni grafiche, per stampare il composto in modo da raggruppare i relativi componenti in stampa
      • fineElementoComposto: piede della sezione contenente le righe relative all'elemento composto.
    • piede: contiene le righe di piede della comanda
    • piedeAsporto: le righe del piede di una comanda asporto. Se non è definito saranno utilizzate le impostazioni di piede.

    La struttura del file xml si presenta nel seguente modo:

    <doc>

    Radice dell’intero file xml

    <comandi>

    Sezione configurazione dei comandi Esc/Pos

    <comando nome=”nome” valore=”valore comando” />

    Configurazione comando Esc pos

    ...

    </comandi>

    Fine sezione configurazione comandi Esc/Pos

    <comanda>

    Inizio documento comanda

    <testata>...</testata>

    Sezione testata della comanda

    <testataAsporto>...</testataAsporto>

    Sezione testata per la comanda asporto

    <righeElementi>

    Sezione righe elementi (contenitore)

    <separatoreUscite>...</separatoreUscite>

    Sezione separatore uscite in comanda

    <separatoreUsciteNonInviate>...</separatoreUsciteNonInviate>

    Sezione separatore uscite non inviate in comanda

    <inizioCameriereInvio>...</inizioCameriereInvio>

    Sezione di intestazione delle uscite del cameriere che invia la comanda (nel caso sia diverso dal cameriere proprietario della comanda)

    <fineCameriereInvio>...</fineCameriereInvio>

    Fine sezione intestazione cameriere invio comanda

    <rigaElemento>...</rigaElemento>

    Sezione elementi presenti in comanda

    </righeElementi>

    Fine sezione righe elementi (contenitore)

    <piede>...</piede>

    Sezione piede comanda

    </comanda>

    Fine documento comanda

    </doc>

    Fine documento xml

    Le sezioni che contengono uno o più elementi xml di tipo <riga> sono quelle visualizzate in corsivo.

    VARIABILI UTILIZZABILI NELLE SEZIONI TESTATA e PIEDE

    “testata”, “testataAsporto” e “piede”

    Variabile

    Tipo

    Descrizione

    CentroProduzione

    String

    Centro produzione a cui è inviata la comanda

    Cliente.OID

    Int

    ID del cliente

    Cliente.Anagrafica.Cap

    String

    Cap del cliente

    Cliente.Anagrafica.Cellulare

    String

    Cellulare cliente

    Cliente.Anagrafica.Citta

    String

    Città del cliente

    Cliente.Anagrafica.CodiceFiscale

    String

    Codice fiscale cliente

    Cliente.Anagrafica.DataNascita

    DateTime

    Data di nascita del cliente

    Cliente.Anagrafica.Email

    String

    Email cliente

    Cliente.Anagrafica.Fax

    String

    Fax cliente

    Cliente.Anagrafica.Indirizzo

    String

    Indirizzo del cliente

    Cliente.Anagrafica.Nazione

    String

    Nazione cliente

    Cliente.Anagrafica.Note

    String

    Nome del cliente

    Cliente.Anagrafica.PartitaIva

    String

    Partita iva cliente

    Cliente.Anagrafica.Provincia

    String

    Provincia cliente

    Cliente.Anagrafica.RagioneSociale

    String

    Ragione sociale del cliente

    Cliente.Anagrafica.Telefono

    String

    Telefono cliente

    Cliente.Anagrafica.Telefono2

    String

    Telefono 2 cliente

    DataConsegna

    DateTime

    Data consegna asporto

    DataCorrente

    String

    Data + ora di invio comanda

    DataCreazione

    DateTime

    Data di creazione della comanda

    Intestazione1

    String

    Intestazione 1 asporto

    Intestazione2

    String

    Intestazione 2 asporto

    Intestazione3

    String

    Intestazione 3 asporto

    Note

    String

    Note di comanda

    NumeroCoperti

    Int

    Numero coperti correnti della comanda aperta

    OID

    Int

    ID della comanda

    Priorità

    String

    Priorità della comanda

    Progressivo

    Int

    Progressivo di comanda

    Stato

    String

    Stato della comanda

    Tavolo.Numero

    String

    Nome del tavolo

    Tavolo.Sala.Nome

    String

    Sala corrente

    Tavolo.Cameriere.Anagrafica.RagioneSociale

    String

    Ragione sociale del cameriere proprietario della comanda

    Tavolo.Cameriere.Login

    String

    TempoAttesaTraPortate

    Int

    Tempo di attesa tra le portate

    TipoAsporto

    String

    Tipo asporto

    TipoCentroProduzione

    String

    Tipo centro produzione a cui è inviata la comanda

    Titolo

    String

    Titolo comanda automatico (es: CHIAMATA, RISTAMPA, ecc)

    VARIABILI UTILIZZABILI NELLE SEZIONI DI DETTAGLIO

    “separatoreUscite”, “separatoreUsciteNonInviate”, “inizioCameriereInvio”, “fineCameriereInvio” e “rigaElemento”

    Variabile

    Tipo

    Descrizione

    Coperto

    String

    Posto corrente

    Descrizione

    String

    Descrizione dell’elemento corrente

    DescrizioneAutomatica

    String

    Descrizione automatica dell’elemento (in base a opzione dentro in Opzioni installazione)

    DescrizioneSecondaria

    String

    Descrizione secondaria dell’elemento corrente

    CategoriaElementi

    String

    Categoria elementi dell’elemento corrente

    CentroProduzione

    String

    Centro di produzione dell’elemento corrente

    CameriereCorrente

    String

    Cameriere corrente della comanda

    Cliente.Anagrafica.RagioneSociale

    String

    Ragione sociale del cliente della comanda

    Commesso.Anagrafica.RagioneSociale

    String

    Ragione sociale del cameriere che invia la comanda

    ElementoCompostoPadre

    String

    Nome elemento composto padre

    IsVariante

    Bool

    Indica se l’elemento corrente è una variante

    Master.OID

    Int

    ID della comanda

    NomeElemento

    String

    Nome elemento venduto

    Numero

    String

    Numero portata corrente

    NumPezzi

    Int

    Numero pezzi totale dell’elemento corrente

    PrezzoConVarianti

    Decimal

    Prezzo dell’elemento varianti incluse

    PrezzoTotale

    Decimal

    Prezzo totale

    quantitaProdotta

    Int

    Quantità

    ESEMPI DETTAGLIATI

    Esempio di definizione testata della comanda

    <testata>

    Inizio sezione testata comanda

    <riga>

    Inizio riga 1

    <testo> </testo>

    Stampo 9 spazi

    <var>Titolo</var>

    Stampo il valore del titolo

    <testo> - Tavolo: </testo>

    Stampo il testo “– Tavolo: ”

    <comando>grassettoOn</comando>

    Abilito il testo in grassetto

    <var>Tavolo.Numero</var>

    Stampo il valore del numero del tavolo

    <comando>grassettoOff</comando>

    Disabilito il testo in grassetto

    </riga>

    Chiusura riga 1

    <riga>

    Inizio riga 2

    <testo>Centro: </testo>

    Stampo il testo “Centro: ”

    <var>CentroProduzione</var>

    Stampo il valore del centro di produzione

    </riga>

    Chiusura riga 2

    <riga>

    Inizio riga 3

    <testo>Cameriere: </testo>

    Stampo il testo “Cameriere: “

    <var>Tavolo.Cameriere.Anagrafica.RagioneSociale</var>

    Stampo il valore del cameriere

    </riga>

    Chiusura riga 3

    <riga>

    Inizio riga 4

    <testo>ORA: </testo>

    Stampo il testo “ORA: “

    <var formato='HH:mm'>DataCorrente</var>

    Stampo l’orario specificando il formato

    </riga>

    Chiusura riga 4

    </ testata >

    Chiusura della sezione

    Output della testata

    5 10 15 20 25 30 35

    ----+----+----+----+----+----+----+

    CHIAMATA – Tavolo: 5

    Riga 1

    Centro: Cucina

    Riga 2

    Cameriere: Mario

    Riga 3

    ORA: 11:30

    Riga 4

    Esempio di definizione riga elemento

    <rigaElemento>

    Inizio sezione rigaElemento

    <riga>

    Inizio definizione di una riga della comanda

    <comando>grassettoOn</comando>

    Abilito il testo in grassetto

    <var lunghezza = '3'>NumPezzi</var>

    Stampo la quantità dell’elemento con lunghezza fissa = 3

    <comando>grassettoOff</comando>

    Disabilito il testo in grassetto

    <testo> </testo>

    Stampo uno spazio dopo la quantità

    <comando>corsivoOn</comando>

    Abilito il testo in corsivo

    <var lunghezza="23">DescrizioneAutomatica</var>

    Stampo la descrizione dell’elemento con lunghezza fissa = 23

    <comando>corsivoOff</comando>

    Disabilito il testo in corsivo

    <testo> </testo>

    Stampo uno spazio dopo la descrizione

    </riga>

    Chiusura della riga

    </rigaElemento>

    Chiusura della sezione

    Esempio di output di una riga elementi

    5 10 15 20 25 30 35

    ----+----+----+----+----+----+----+

    3 Lasagne al forno

    COMPOSIZIONE DEL LAYOUT DI TIPO CONTO

    I layout di tipo conto hanno tutti la stessa struttura, l’unica differenza è il tag XML di definizione del tipo conto che assume come valore lo stesso tipo del conto: scontrino, proforma, preconto, fattura, ricevutahotel.

    • testata: contiene le righe di testata del conto.
    • intestazioneArticoli: contiene le righe stampate prima delle righe degli articoli
    • righeArticoli: è la sezione dettaglio che contiene a sua volta una o più righe di tipo rigaArticoli
        • rigaArticoli: contiene le righe di vendita di un articolo
      • piedeArticoli: contiene le righe stampate dopo le righe degli articoli
      • intestazioneScorporo: contiene le righe stampate prima delle righe di scorporo
      • rigaScorporo: contiene le righe di scorporo
      • piedeScorporo: contiene le righe stampate dopo le righe di scorporo
      • intestazioneArticoliIvaEsente: contiene le righe stampate prima delle righe degli articoli con iva esente
      • righeArticoliIvaEsente: è la sezione dettaglio che contiene a sua volta una o più righe di tipo rigaArticoli
      • piedeArticoliIvaEsente: contiene le righe stampate dopo le righe degli articoli con iva esente
      • intestazioneStorni: contiene le righe stampate prima delle righe di storno
      • rigaStorni: contiene le righe di storno
      • piedeStorni: contiene le righe stampate dopo le righe di storno
      • totali: contiene le righe dei totali
      • pagamenti: contiene le righe dei pagamenti
      • piede: contiene le righe del piede del conto

      La struttura del file xml per il conto si presenta nel seguente modo:

      <doc>

      Radice dell’intero file xml

      <comandi>

      Sezione configurazione dei comandi Esc/Pos

      <comando nome=”nome” valore=”valore comando” />

      Configurazione comando Esc pos

      ...

      </comandi>

      Fine sezione configurazione comandi Esc/Pos

      ...

      <scontrino>

      Inizio documento conto (es: scontrino)

      <testata>...</testata>

      Sezione testata del conto

      <righeArticoli>

      Sezione righe articoli (contenitore)

      <rigaArticoli>

      Sezione contenitore riga articolo

      <riga>...</riga>

      Definizione riga articolo

      </rigaArticoli>

      </righeArticoli>

      Fine sezione righe articoli (contenitore)

      <totali>

      Sezione totali conto

      <riga>...</riga>

      Definizione riga totale (una o più)

      </totali>

      Sezione totali conto

      <pagamenti>

      Sezione pagamenti conto

      <riga>...</riga>

      Definizione riga pagamento (una o più a seconda dei pagamenti)

      </pagamenti>

      Sezione pagamenti conto

      <piede>

      Sezione piede conto

      <riga>...</riga>

      Definizione riga piede (una o più)

      </piede>

      Sezione totali conto

      </scontrino>

      Fine documento conto

      </doc>

      Fine documento xml

      È possibile trovare la lista delle variabili in fondo ai file xml forniti con l’installazione sotto forma di commento.

      Nel layout testuale per il conto è presente anche il tag xml "intestazioneRaggruppamentoArticoli" per effettuare i raggruppamenti sugli articoli. Tale tag va inserito all'interno del tag RigheArticoli in questo modo:

      <righeArticoli>

          <intestazioneRaggruppamentoArticoli campo="CategoriaArticolo.Nome">

              <riga><var>CategoriaArticolo.Nome</var></riga>

          </intestazioneRaggruppamentoArticoli>

          ...... 

       </righeArticoli>

       

      L'attributo "campo" del tag articoli specifica il campo su cui raggruppare. All'interno è possibile poi specificare le righe da stampare nell'intestazione (nell'esempio la categoria stessa).

      N.B. Specificando un raggruppamento, le righe del conto saranno ordinate per tale campo

      Inoltre non è possibile specificare più gruppi o più colonne

      COMPOSIZIONE DEL LAYOUT DI TIPO BUONO SCONTO E NOTA

      I layout di tipo buono sconto e nota non sono suddivisi in sezioni, pertanto contengono tanti tag “riga” quante sono le righe che devono essere stampate.

      È possibile trovare la lista delle variabili in fondo ai file xml forniti con l’installazione sotto forma di commento.