Herramientas de usuario

Herramientas del sitio


usu:plantillas

¡Esta es una revisión vieja del documento!


Plantillas de impresión

  • Menú SmartTPV: /Configuración/Plantillas
  • Menú SmartOffice: /Configuración/General/Dispositivos usuario
  • Shortcut: -

Las plantillas definen en primer lugar el formato de todos los impresos que se imprimen directamente en un dispositivo de salida, al contrario a los informes que usan el generador de informes FastReport.

Existe también una manera para definir un informe de tipo FastReport para usarlo en la impresión de tickets o facturas, se explicará más adelante.

Existen varias plantillas que sirven como modelo para las distintas aplicaciones de Smart. Conviene hacer una copia del modelo apropiado y adaptar esta copia a sus necesidades. En general, todas las plantilla que acaban en _GEN, _GENERICO o _GENERICA no se deberían modificar porque es posible que se modifiquen en cualquier momento a través de un script de actualización.

Modelo Aplicación Uso
TICKET_GENERICO SmartTPV Impresión de tickets en una impresora de tickets.
TICKETMATR_GENERICO SmartTPV Impresión de tickets en una impresora matricial.
TICKET_REGALO_GEN SmartTPV Impresión de tickets de regalo en una impresora de tickets.
FACTURA_GENERICA SmartTPV Impresión de una factura en una impresora de tickets.
ETIQ_ZEBRA_GENERICA SmartTPV, SmartOffice Impresión de una etiqueta en una impresora Zebra.
ETIQ_ZPL_GENERICA SmartTPV, SmartOffice Impresión de una etiqueta en una impresora ZPL.
TICKET_ALB_GEN SmartOffice Impresión de tickets en una impresora de tickets.

La impresión de tickets en SmartTPV se basa internamente en las tablas de tickets, mientras en SmartOffice se usan las tablas de albaranes.

Ejemplo

COLUMNAS=40
[Cabecera]
select a.NOMBRE, a.MUNICIPIO, a.COD_POSTAL, a.TELEFONO, a.CIF_NIF, a.DIRECCION,
       b.FECHA_DEVENGO, b.NRO_ALBARAN
from EMPRESA a
join CAB_ALBARAN_VENTA b on b.NRO_ALBARAN = :NRO_ALBARAN
# Abrir cajón al imprimir la primera copia
I.{IFDEF COPIA=1}{$1B700064FA}
I.{ENDIF}#NOMBRE
I.(#COD_POSTAL) #MUNICIPIO
I.Tlf.   #TELEFONO
I.C.I.F. #CIF_NIF
I.#DIRECCION
I.----------------------------------------
I.Fecha #FECHA_DEVENGO|T10       Ticket #NRO_ALBARAN
I.----------------------------------------
I.Articulo                   Und.  Importe
I.****************************************
[Lineas]
select c.DESCRIPCION, c.CANTIDAD, c.IMPORTE, c.IMPORTE_DTO, c.PORC_DTO
from LIN_ALBARAN_VENTA c
where c.NRO_ALBARAN = :NRO_ALBARAN
I.{DESCRIPCION|<20}      #CANTIDAD|D5 #IMPORTE|D7\
I.  {DESCRIPCION|<20}{IFDEF PORC_DTO<>0}
I.  Descuento de #PORC_DTO|I% (#IMPORTE_DTO|D){ENDIF}
[Pie1]
select S_BASE_IMPONIBLE_NETA, S_CUOTA_TOTAL, S_TOTAL
from RESUMEN_ALB_VENTA_TOTAL2(:NRO_ALBARAN)
I.****************************************
I.                TOTAL EUROS.   #S_TOTAL|D7
I.****************************************
I.  IVA  BASE IMP.    CUOTA     TOTAL
[IVA]
select S_BASE_IMPONIBLE_NETA, S_PORC_IVA, S_CUOTA_IVA, S_CUOTA_TOTAL, S_TOTAL
from RESUMEN_ALB_VENTA_IVA(:NRO_ALBARAN)
I.  #S_PORC_IVA|I3    #S_BASE_IMPONIBLE_NETA|D7  #S_CUOTA_TOTAL|D7   #S_TOTAL|D7
I.----------------------------------------
[Pie2]
select USER, S_BASE_IMPONIBLE_NETA, S_CUOTA_TOTAL, S_TOTAL
from RESUMEN_ALB_VENTA_TOTAL2(:NRO_ALBARAN)
I.Importe Cobrado (IVA Inc.)  #S_TOTAL|D7
I.Entregado                   #ENTREGADO|D7
I.Cambio                      #DEVOLVER|D7
I.---------------------------------------
I.       GRACIAS POR SU VISITA
I.{IFDEF CLIENTE=N}{IFDEF CONFIRMADO=N}
I.PC{ENDIF}{ENDIF}
I.Le atendio #USER
I.
[comentarios]
[GrupoCocina]
[extras]
# Cortar
I.{$1D564206}

En general, una plantilla empieza con unas líneas con parámetros, que suele añadir el programa SmartTPV o SmartOffice a la plantilla, como por ejemplo el número del ticket o albarán a imprimir, seguidos por varias secciones denominados por […].
Líneas cuyo primer caracter es un # son comentarios y se ignoran.

Parámetros

Parámetros se tienen que definir al principio de la plantilla, delante de cualquier sección.

Un parámetro tiene un nombre y un valor separado por el símbolo =. Por ejemplo:

COLUMNAS=40

En las secciones se puede hacer referencia a cualquier parámetro a través de las variables (ver abajo).

Los programas añaden una serie de parámetros a las plantillas antes de imprimirlas:

Programa Proceso Parámetro Descripción
SmartTPV Impresión ticket ID_TICKET=12345 El ticket que se tiene que imprimir.
SmartTPV Impresión cierre y resumen caja ID_CAJA=12345 El núemro de la caja cuya resumen se quiere imprimir.
SmartOffice Impresión ticket NRO_ALBARAN=AB18-12345 El albarán a imprimir.
SmartOffice Impresión ticket ENTREGADO=50,00 El importe en efectivo entregado.
SmartOffice Impresión ticket DEVOLVER=21,44 El importe a devolver.
SmartOffice Impresión ticket NRO_COPIAS=2 El número total de copias.
SmartOffice Impresión ticket COPIA=1 La copia actual que se imprime.
SmartOffice Impresión ticket CONFIRMADO='S' Si el albarán ha sido confirmado.
SmartOffice Impresión ticket CLIENTE='S'
SmartOffice/SmartTPV Impresión etiquetas de producto COD_PRODUCTO=12345 El código del producto para el que se quiere impromir la etiqueta.

Secciones

Después de los parámetros pueden aparecer varias secciones. Una secciones siempre empieza con un nombre abritrario entre corchetes:

[Cabecera]

El contenido de una sección son todas las líneas hasta la siguiente sección. Comentarios se ignoran.

Justo despues del nombre de sección se puede poner una instrucción select para seleccionar los datos que se quiere imprimir en esta sección.

select c.DESCRIPCION, c.CANTIDAD, c.IMPORTE, c.IMPORTE_DTO, c.PORC_DTO
from LIN_ALBARAN_VENTA c
where c.NRO_ALBARAN = :NRO_ALBARAN

El una instrucción select se puede hacer referencia a un parámetro, por ejemplo :NRO_ALBARAN.

A continuación se pueden definir varias líneas de impresión, que siempre empiezan con I.:

I.{DESCRIPCION|<20}      #CANTIDAD|D5 #IMPORTE|D7\
I.  {DESCRIPCION|<20}{IFDEF PORC_DTO<>0}
I.  Descuento de #PORC_DTO|I% (#IMPORTE_DTO|D){ENDIF}

Se imprime la sección para cada registro que devuelve el select. Si no se ha puesto ningún select, se imprime la sección una vez.

Se imprimen todos los caracteres de cada línea a partir de la I. del principio.

Se puede hacer referencia tanto a los parámetros de la plantilla, como a los campos que devuelve el select. Estas referencias se llaman variables, y existen dos tipos de estos variables:

  1. Simple (#CANTIDAD|D5)
  2. Compleja ({DESCRIPCION|<20})

Además es posible usar un control de impresión, un {IFDEF}, para imprimir uno u otro texto dependiendo del valor de la variable que aparece después del IFDEF. Este concepto se explica más abajo.

Por último se puede usar cadenas codificada en hexadécimal, ej. {$1B700064FA}. Hay que incluir estas cadenas en {$…}. Se puede utilizar para imprimir cadenas de control de la impresora, por ejemplo para cortar el papel o abrir el cajón.

Variables simples

Variables complejas

Control de impresión (IFDEF)

usu/plantillas.1517420156.txt.gz · Última modificación: 2018/01/31 18:35 por stefan

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki