De Touch&Sale
No tienes permiso para modificar esta página, por el siguiente motivo:
Puedes ver y copiar el código fuente de esta página.
Volver a Plantilla.
NOTA: SI LA AUSENCIA DEL DATO A IMPRIMIR TIENE QUE ELIMINAR EL RENGLÓN ACTUAL SE TIENE QUE ENCERRAR ENTRE MAYOR Y MENOR LA FUNCIÓN. EJ: <<%=....%>>
Estos comandos actúan sólo si el dispositivo lo permite.
objeto | atributo | función | tabla | método |
Farmacia | Razón Social | <%= | operacion_valor | valor/nodoCreacion/razonSocial |
Farmacia | Razón Social 2 | <%= | operacion_valor | valor/nodoCreacion/razonSocialLinea2 |
Farmacia | Dirección | <%= | operacion_valor | valor/nodoCreacion/direcciones[1] |
Farmacia | Tel. | <%= | operacion_valor | valor/nodoCreacion/telefonosConcatenados |
Farmacia | C.U.I.T. | <%= | operacion_valor | valor/nodoCreacion/cuit |
Farmacia | I.V.A. | <%= | operacion_valor | valor/nodoCreacion/objSituacionIva/nombre |
Farmacia | I.Br. | <%= | operacion_valor | valor/nodoCreacion/ingresosBrutos |
Cliente | Nombre | <%= | operacion_valor | valor/entidad/nombre |
Cliente | Apellido | <%= | operacion_valor | valor/entidad/apellido |
Cliente | Dirección | <%= | operacion_valor | valor/entidad/direcciones[1] |
Cliente | Teléfono | <%= | operacion_valor | valor/entidad/telefonosConcatenados |
Afiliado | Nombre | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado |
Afiliado | Nro | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado |
Valor | Fecha | <%= | operacion_valor | valor/fechaCreacion |
Valor | Número | <%= | operacion_valor | valor/codificacion |
Producto | Nombre | <%# | item_valor | producto/nombreCorto |
Producto | Descuento de ítem | <%# | item_valor | descuento |
Producto | Descuento Automático/Forzado | <%# | item_valor | descuentoAfiliado |
Producto | Descuento General (manual) | <%# | item_valor | descuentoGeneral |
Receta | O. Social | <%# | item_valor | sum(itemsReceta/montoTotalCubierto) |
Valor | TOTAL | <%= | operacion_valor | valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto |
Valor | OBRAS SOCIALES | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/montoPrincipal |
Valor | CUENTA CORRIENTE | <%@ | operacion | operacionesValor[valor/tipoValor/id=22]/valor/montoPrincipal |
Valor | CUOTA CUENTA CORRIENTE | <%@ | operacion | operacionesValor[valor/tipoValor/id=21]/valor/montoPrincipal |
Valor | TARJETA | <%@ | operacion | operacionesValor[valor/tipoValor/id=9]/valor/montoPrincipal |
Valor | CHEQUE TERCEROS | <%@ | operacion | operacionesValor[valor/tipoValor/id=5]/valor/montoPrincipal |
Valor | EFECTIVO | <%@ | operacion | operacionesValor[valor/tipoValor/id=3]/valor/montoPrincipal |
Valor | Exento | <%= | operacion_valor | valor/valoresConcepto[subTipoValorCpto/concepto/id=503 and subTipoValorCpto/visiblePos=1]/monto |
Valor | Gravado | <%= | operacion_valor | valor/valoresConcepto[subtipoValorCpto/concepto/id=541]/monto |
Vendedor | Nombre | <%= | operacion_valor | valor/objUsuarioCreacion/alias |
Puesto | Nombre | <%= | operacion_valor | operacion/puestoVenta/nombre |
Para la obtención de la sintaxis de comandos se debe recurrir a los manuales de cada modelo de impresora fiscal.
A modo de ejemplo se transcriben algunos de los caracteres más usados:
modelo impresora | HEXA | ASCII | descripción |
Bematech
Epson |
\u001B | ESC | Por definición del protocolo, todo comando empieza con 1B |
Bematech
Epson |
\u001B@ | ESC @ | Inicializa la impresora |
Bematech | \u001Btn | ESC t n | Selecciona la página de código n:
n = 2 (PÁGINA DE CÓDIGO 850 – Falla) n = 3 (PÁGINA DE CÓDIGO 437) n = 4 (PÁGINA DE CÓDIGO 860) n = 5 (PÁGINA DE CÓDIGO 858) |
Bematech | \u001Bln | ESC l n | Programa el margen izquierdo para la columna n |
Epson | \u001Bl | ESC l | Posiciona margen izquierdo |
Bematech
Epson |
\u000E | SO | Selecciona expandido por una línea |
Bematech | \u0014 | DC4 | Cancela modo expandido de una línea |
Bematech
Epson |
\u000F | SI | Selecciona modo condensado |
Bematech
Epson |
\u0012 | DC2 | Cancela modo condensado |
Bematech | \u001BE | ESC SO | Selecciona expandido por una línea |
Bematech | \u001BF | ESC SI | Selecciona modo condensado |
Epson | \u001BF | ESC F | Cancela modo enfatizado |
Bematech
Epson |
\u001Bm | ESC m | Realiza un corte parcial de papel |
Epson | \u001BM | ESC M | Selecciona el ancho elite |
Epson | \u001B0 | ESC 0 | Selecciona 1/8 de pulgada de línea de espacio |
Epson | \u001B- | ESC - | Selecciona/cancela modo subrayado |
Epson | \u001BW | ESC W | Selecciona/cancela el modo expandido |
Hagamos un seguimiento, línea a línea, de la plantilla Factura Bematech MP4000 TH (45) cargada en zWeb:
1) \u001B@\u001Bt2\u001Bl\u0001
2) \u000E<%=format:rpad((valor/nodoCreacion/razonSocial),19)%>
3) \u0014\u000F<%=format:rpad((valor/nodoCreacion/razonSocialLinea2),42)%>
DC4 = cancela modo expandido de una línea;
4) \u000F<%=format:rpad((valor/nodoCreacion/direcciones[1]),42)%>
5) \u000FTel.: <%=format:rpad((valor/nodoCreacion/telefonosConcatenados),42)%>
6) \u000FC.U.I.T. : <%=format:rpad((valor/nodoCreacion/cuit),30)%>
7) \u000FI.V.A. : <%=format:rpad((valor/nodoCreacion/objSituacionIva/nombre),30)%>
8) \u000FI.Br. : <%=format:rpad((valor/nodoCreacion/ingresosBrutos),30)%>
9) /
10) \u000FCliente : <%=format:rpad((valor/entidad/nombre),30)%>
11) \u000F<%=format:rpad((valor/entidad/apellido),30)%>
12) \u000FDireccion: <%=format:rpad((valor/entidad/direcciones[1]),30)%>
13) \u000FTelefono.: <%=format:rpad((valor/entidad/telefonosConcatenados)</span<,30)%>
14) \u000F<%@concat('Afiliado: <',format:rpad((operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado),20),'>
\u000FNro. <',format:lpad((operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado),12),'>')%>
15) \u000FFecha : <%=format:rpad(format:longDate((valor/fechaCreacion)),20)%>
16) \u0012\u001BE FACTURA <%=format:rpad((valor/letraFactura),1)%> - <%=format:rpad((valor/codificacion),13)%>\u001BF
17) \u0012------------------------------------------
18) \u000F Cant Descripcion P Unit. P.Total
19) \u0012------------------------------------------
20) \u000F<%#concat(format:lpad(format:string((cantidad)),6),' ',format:rpad((producto/nombreCorto),23),' ',format:lpad(format:string((precioUnitario)),12),' ',format:lpad(format:string((total)),12),'
\u000F Descuento <',format:lpad(format:string((descuentoGeneral)),12),'>
\u000F O. Social <',format:lpad(format:string(sum(itemsReceta/precioUnitario)),12),'>')%>
21) \u0012------------------------------------------
22) \u0012\u001BE TOTAL <%=format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto)),12)%>\u001BF
23) \u000FOBRAS SOCIALES <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=2]/valor/montoPrincipal)),10)%>
24) \u000FCUENTA CORRIENTE <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=22]/valor/montoPrincipal)),10)%>
25) \u000FCUOTA CUENTA CORRIENTE <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=21]/valor/montoPrincipal)),10)%>
26) \u000F<%@concat(format:rpad((operacionesValor[valor/tipoValor/id=9]/valor/entidadSaldable/nombre),33),format:lpad(format:string((operacionesValor[valor/tipoValor/id=9]/valor/montoPrincipal)),10))%>
27) \u000FCHEQUE TERCEROS <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=5]/valor/montoPrincipal)),10)%>
28) \u000FEFECTIVO <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=3]/valor/montoPrincipal)),10)%>
Busca en la tabla operacion el Billete;
29) \u0012------------------------------------------
30) \u000FExento : <%=concat(format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=503 and subTipoValorCpto/visiblePos=1]/monto)),10),' Gravado: ',format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=541]/monto)),10))%>
31) \u000FVendedor : <%=format:rpad((valor/objUsuarioCreacion/alias),30)%>
32) \u000FPuesto : <%=format:rpad((operacion/puestoVenta/nombre),30)%>
33) \u0012------------------------------------------
34) \u000F(comprobante sin valor fiscal)
35) \u001Bw
NOTA: SI LA AUSENCIA DEL DATO A IMPRIMIR TIENE QUE ELIMINAR EL RENGLÓN ACTUAL SE TIENE QUE ENCERRAR ENTRE MAYOR Y MENOR LA FUNCIÓN. EJ: <<%=....%>>
Estos comandos actúan sólo si el dispositivo lo permite.
objeto | atributo | función | tabla | método |
Farmacia | Razón Social | <%= | operacion_valor | valor/nodoCreacion/razonSocial |
Farmacia | Razón Social 2 | <%= | operacion_valor | valor/nodoCreacion/razonSocialLinea2 |
Farmacia | Dirección | <%= | operacion_valor | valor/nodoCreacion/direcciones[1] |
Farmacia | Tel. | <%= | operacion_valor | valor/nodoCreacion/telefonosConcatenados |
Farmacia | C.U.I.T. | <%= | operacion_valor | valor/nodoCreacion/cuit |
Farmacia | I.V.A. | <%= | operacion_valor | valor/nodoCreacion/objSituacionIva/nombre |
Farmacia | I.Br. | <%= | operacion_valor | valor/nodoCreacion/ingresosBrutos |
Cliente | Nombre | <%= | operacion_valor | valor/entidad/nombre |
Cliente | Apellido | <%= | operacion_valor | valor/entidad/apellido |
Cliente | Dirección | <%= | operacion_valor | valor/entidad/direcciones[1] |
Cliente | Teléfono | <%= | operacion_valor | valor/entidad/telefonosConcatenados |
Afiliado | Nombre | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado |
Afiliado | Nro | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado |
Valor | Fecha | <%= | operacion_valor | valor/fechaCreacion |
Valor | Número | <%= | operacion_valor | valor/codificacion |
Producto | Nombre | <%# | item_valor | producto/nombreCorto |
Producto | Descuento de ítem | <%# | item_valor | descuento |
Producto | Descuento Automático/Forzado | <%# | item_valor | descuentoAfiliado |
Producto | Descuento General (manual) | <%# | item_valor | descuentoGeneral |
Receta | O. Social | <%# | item_valor | sum(itemsReceta/montoTotalCubierto) |
Valor | TOTAL | <%= | operacion_valor | valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto |
Valor | OBRAS SOCIALES | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/montoPrincipal |
Valor | CUENTA CORRIENTE | <%@ | operacion | operacionesValor[valor/tipoValor/id=22]/valor/montoPrincipal |
Valor | CUOTA CUENTA CORRIENTE | <%@ | operacion | operacionesValor[valor/tipoValor/id=21]/valor/montoPrincipal |
Valor | TARJETA | <%@ | operacion | operacionesValor[valor/tipoValor/id=9]/valor/montoPrincipal |
Valor | CHEQUE TERCEROS | <%@ | operacion | operacionesValor[valor/tipoValor/id=5]/valor/montoPrincipal |
Valor | EFECTIVO | <%@ | operacion | operacionesValor[valor/tipoValor/id=3]/valor/montoPrincipal |
Valor | Exento | <%= | operacion_valor | valor/valoresConcepto[subTipoValorCpto/concepto/id=503 and subTipoValorCpto/visiblePos=1]/monto |
Valor | Gravado | <%= | operacion_valor | valor/valoresConcepto[subtipoValorCpto/concepto/id=541]/monto |
Vendedor | Nombre | <%= | operacion_valor | valor/objUsuarioCreacion/alias |
Puesto | Nombre | <%= | operacion_valor | operacion/puestoVenta/nombre |
Para la obtención de la sintaxis de comandos se debe recurrir a los manuales de cada modelo de impresora fiscal.
A modo de ejemplo se transcriben algunos de los caracteres más usados:
modelo impresora | HEXA | ASCII | descripción |
Bematech
Epson |
\u001B | ESC | Por definición del protocolo, todo comando empieza con 1B |
Bematech
Epson |
\u001B@ | ESC @ | Inicializa la impresora |
Bematech | \u001Btn | ESC t n | Selecciona la página de código n:
n = 2 (PÁGINA DE CÓDIGO 850 – Falla) n = 3 (PÁGINA DE CÓDIGO 437) n = 4 (PÁGINA DE CÓDIGO 860) n = 5 (PÁGINA DE CÓDIGO 858) |
Bematech | \u001Bln | ESC l n | Programa el margen izquierdo para la columna n |
Epson | \u001Bl | ESC l | Posiciona margen izquierdo |
Bematech
Epson |
\u000E | SO | Selecciona expandido por una línea |
Bematech | \u0014 | DC4 | Cancela modo expandido de una línea |
Bematech
Epson |
\u000F | SI | Selecciona modo condensado |
Bematech
Epson |
\u0012 | DC2 | Cancela modo condensado |
Bematech | \u001BE | ESC SO | Selecciona expandido por una línea |
Bematech | \u001BF | ESC SI | Selecciona modo condensado |
Epson | \u001BF | ESC F | Cancela modo enfatizado |
Bematech
Epson |
\u001Bm | ESC m | Realiza un corte parcial de papel |
Epson | \u001BM | ESC M | Selecciona el ancho elite |
Epson | \u001B0 | ESC 0 | Selecciona 1/8 de pulgada de línea de espacio |
Epson | \u001B- | ESC - | Selecciona/cancela modo subrayado |
Epson | \u001BW | ESC W | Selecciona/cancela el modo expandido |
Hagamos un seguimiento, línea a línea, de la plantilla Factura Bematech MP4000 TH (45) cargada en zWeb:
1) \u001B@\u001Bt2\u001Bl\u0001
2) \u000E<%=format:rpad((valor/nodoCreacion/razonSocial),19)%>
3) \u0014\u000F<%=format:rpad((valor/nodoCreacion/razonSocialLinea2),42)%>
DC4 = cancela modo expandido de una línea;
4) \u000F<%=format:rpad((valor/nodoCreacion/direcciones[1]),42)%>
5) \u000FTel.: <%=format:rpad((valor/nodoCreacion/telefonosConcatenados),42)%>
6) \u000FC.U.I.T. : <%=format:rpad((valor/nodoCreacion/cuit),30)%>
7) \u000FI.V.A. : <%=format:rpad((valor/nodoCreacion/objSituacionIva/nombre),30)%>
8) \u000FI.Br. : <%=format:rpad((valor/nodoCreacion/ingresosBrutos),30)%>
9) /
10) \u000FCliente : <%=format:rpad((valor/entidad/nombre),30)%>
11) \u000F<%=format:rpad((valor/entidad/apellido),30)%>
12) \u000FDireccion: <%=format:rpad((valor/entidad/direcciones[1]),30)%>
13) \u000FTelefono.: <%=format:rpad((valor/entidad/telefonosConcatenados)</span<,30)%>
14) \u000F<%@concat('Afiliado: <',format:rpad((operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado),20),'>
\u000FNro. <',format:lpad((operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado),12),'>')%>
15) \u000FFecha : <%=format:rpad(format:longDate((valor/fechaCreacion)),20)%>
16) \u0012\u001BE FACTURA <%=format:rpad((valor/letraFactura),1)%> - <%=format:rpad((valor/codificacion),13)%>\u001BF
17) \u0012------------------------------------------
18) \u000F Cant Descripcion P Unit. P.Total
19) \u0012------------------------------------------
20) \u000F<%#concat(format:lpad(format:string((cantidad)),6),' ',format:rpad((producto/nombreCorto),23),' ',format:lpad(format:string((precioUnitario)),12),' ',format:lpad(format:string((total)),12),'
\u000F Descuento <',format:lpad(format:string((descuentoGeneral)),12),'>
\u000F O. Social <',format:lpad(format:string(sum(itemsReceta/precioUnitario)),12),'>')%>
21) \u0012------------------------------------------
22) \u0012\u001BE TOTAL <%=format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto)),12)%>\u001BF
23) \u000FOBRAS SOCIALES <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=2]/valor/montoPrincipal)),10)%>
24) \u000FCUENTA CORRIENTE <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=22]/valor/montoPrincipal)),10)%>
25) \u000FCUOTA CUENTA CORRIENTE <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=21]/valor/montoPrincipal)),10)%>
26) \u000F<%@concat(format:rpad((operacionesValor[valor/tipoValor/id=9]/valor/entidadSaldable/nombre),33),format:lpad(format:string((operacionesValor[valor/tipoValor/id=9]/valor/montoPrincipal)),10))%>
27) \u000FCHEQUE TERCEROS <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=5]/valor/montoPrincipal)),10)%>
28) \u000FEFECTIVO <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=3]/valor/montoPrincipal)),10)%>
Busca en la tabla operacion el Billete;
29) \u0012------------------------------------------
30) \u000FExento : <%=concat(format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=503 and subTipoValorCpto/visiblePos=1]/monto)),10),' Gravado: ',format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=541]/monto)),10))%>
31) \u000FVendedor : <%=format:rpad((valor/objUsuarioCreacion/alias),30)%>
32) \u000FPuesto : <%=format:rpad((operacion/puestoVenta/nombre),30)%>
33) \u0012------------------------------------------
34) \u000F(comprobante sin valor fiscal)
35) \u001Bw
No tienes permiso para modificar esta página, por el siguiente motivo:
La acción que has solicitado está restringida a los usuarios del grupo: Usuarios.
Puedes ver y copiar el código fuente de esta página.
Volver a Plantilla.
NOTA: SI LA AUSENCIA DEL DATO A IMPRIMIR TIENE QUE ELIMINAR EL RENGLÓN ACTUAL SE TIENE QUE ENCERRAR ENTRE MAYOR Y MENOR LA FUNCIÓN. EJ: <<%=....%>>
Estos comandos actúan sólo si el dispositivo lo permite.
objeto | atributo | función | tabla | método |
Farmacia | Razón Social | <%= | operacion_valor | valor/nodoCreacion/razonSocial |
Farmacia | Razón Social 2 | <%= | operacion_valor | valor/nodoCreacion/razonSocialLinea2 |
Farmacia | Dirección | <%= | operacion_valor | valor/nodoCreacion/direcciones[1] |
Farmacia | Tel. | <%= | operacion_valor | valor/nodoCreacion/telefonosConcatenados |
Farmacia | C.U.I.T. | <%= | operacion_valor | valor/nodoCreacion/cuit |
Farmacia | I.V.A. | <%= | operacion_valor | valor/nodoCreacion/objSituacionIva/nombre |
Farmacia | I.Br. | <%= | operacion_valor | valor/nodoCreacion/ingresosBrutos |
Cliente | Nombre | <%= | operacion_valor | valor/entidad/nombre |
Cliente | Apellido | <%= | operacion_valor | valor/entidad/apellido |
Cliente | Dirección | <%= | operacion_valor | valor/entidad/direcciones[1] |
Cliente | Teléfono | <%= | operacion_valor | valor/entidad/telefonosConcatenados |
Afiliado | Nombre | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado |
Afiliado | Nro | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado |
Valor | Fecha | <%= | operacion_valor | valor/fechaCreacion |
Valor | Número | <%= | operacion_valor | valor/codificacion |
Producto | Nombre | <%# | item_valor | producto/nombreCorto |
Producto | Descuento de ítem | <%# | item_valor | descuento |
Producto | Descuento Automático/Forzado | <%# | item_valor | descuentoAfiliado |
Producto | Descuento General (manual) | <%# | item_valor | descuentoGeneral |
Receta | O. Social | <%# | item_valor | sum(itemsReceta/montoTotalCubierto) |
Valor | TOTAL | <%= | operacion_valor | valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto |
Valor | OBRAS SOCIALES | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/montoPrincipal |
Valor | CUENTA CORRIENTE | <%@ | operacion | operacionesValor[valor/tipoValor/id=22]/valor/montoPrincipal |
Valor | CUOTA CUENTA CORRIENTE | <%@ | operacion | operacionesValor[valor/tipoValor/id=21]/valor/montoPrincipal |
Valor | TARJETA | <%@ | operacion | operacionesValor[valor/tipoValor/id=9]/valor/montoPrincipal |
Valor | CHEQUE TERCEROS | <%@ | operacion | operacionesValor[valor/tipoValor/id=5]/valor/montoPrincipal |
Valor | EFECTIVO | <%@ | operacion | operacionesValor[valor/tipoValor/id=3]/valor/montoPrincipal |
Valor | Exento | <%= | operacion_valor | valor/valoresConcepto[subTipoValorCpto/concepto/id=503 and subTipoValorCpto/visiblePos=1]/monto |
Valor | Gravado | <%= | operacion_valor | valor/valoresConcepto[subtipoValorCpto/concepto/id=541]/monto |
Vendedor | Nombre | <%= | operacion_valor | valor/objUsuarioCreacion/alias |
Puesto | Nombre | <%= | operacion_valor | operacion/puestoVenta/nombre |
Para la obtención de la sintaxis de comandos se debe recurrir a los manuales de cada modelo de impresora fiscal.
A modo de ejemplo se transcriben algunos de los caracteres más usados:
modelo impresora | HEXA | ASCII | descripción |
Bematech
Epson |
\u001B | ESC | Por definición del protocolo, todo comando empieza con 1B |
Bematech
Epson |
\u001B@ | ESC @ | Inicializa la impresora |
Bematech | \u001Btn | ESC t n | Selecciona la página de código n:
n = 2 (PÁGINA DE CÓDIGO 850 – Falla) n = 3 (PÁGINA DE CÓDIGO 437) n = 4 (PÁGINA DE CÓDIGO 860) n = 5 (PÁGINA DE CÓDIGO 858) |
Bematech | \u001Bln | ESC l n | Programa el margen izquierdo para la columna n |
Epson | \u001Bl | ESC l | Posiciona margen izquierdo |
Bematech
Epson |
\u000E | SO | Selecciona expandido por una línea |
Bematech | \u0014 | DC4 | Cancela modo expandido de una línea |
Bematech
Epson |
\u000F | SI | Selecciona modo condensado |
Bematech
Epson |
\u0012 | DC2 | Cancela modo condensado |
Bematech | \u001BE | ESC SO | Selecciona expandido por una línea |
Bematech | \u001BF | ESC SI | Selecciona modo condensado |
Epson | \u001BF | ESC F | Cancela modo enfatizado |
Bematech
Epson |
\u001Bm | ESC m | Realiza un corte parcial de papel |
Epson | \u001BM | ESC M | Selecciona el ancho elite |
Epson | \u001B0 | ESC 0 | Selecciona 1/8 de pulgada de línea de espacio |
Epson | \u001B- | ESC - | Selecciona/cancela modo subrayado |
Epson | \u001BW | ESC W | Selecciona/cancela el modo expandido |
Hagamos un seguimiento, línea a línea, de la plantilla Factura Bematech MP4000 TH (45) cargada en zWeb:
1) \u001B@\u001Bt2\u001Bl\u0001
2) \u000E<%=format:rpad((valor/nodoCreacion/razonSocial),19)%>
3) \u0014\u000F<%=format:rpad((valor/nodoCreacion/razonSocialLinea2),42)%>
DC4 = cancela modo expandido de una línea;
4) \u000F<%=format:rpad((valor/nodoCreacion/direcciones[1]),42)%>
5) \u000FTel.: <%=format:rpad((valor/nodoCreacion/telefonosConcatenados),42)%>
6) \u000FC.U.I.T. : <%=format:rpad((valor/nodoCreacion/cuit),30)%>
7) \u000FI.V.A. : <%=format:rpad((valor/nodoCreacion/objSituacionIva/nombre),30)%>
8) \u000FI.Br. : <%=format:rpad((valor/nodoCreacion/ingresosBrutos),30)%>
9) /
10) \u000FCliente : <%=format:rpad((valor/entidad/nombre),30)%>
11) \u000F<%=format:rpad((valor/entidad/apellido),30)%>
12) \u000FDireccion: <%=format:rpad((valor/entidad/direcciones[1]),30)%>
13) \u000FTelefono.: <%=format:rpad((valor/entidad/telefonosConcatenados)</span<,30)%>
14) \u000F<%@concat('Afiliado: <',format:rpad((operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado),20),'>
\u000FNro. <',format:lpad((operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado),12),'>')%>
15) \u000FFecha : <%=format:rpad(format:longDate((valor/fechaCreacion)),20)%>
16) \u0012\u001BE FACTURA <%=format:rpad((valor/letraFactura),1)%> - <%=format:rpad((valor/codificacion),13)%>\u001BF
17) \u0012------------------------------------------
18) \u000F Cant Descripcion P Unit. P.Total
19) \u0012------------------------------------------
20) \u000F<%#concat(format:lpad(format:string((cantidad)),6),' ',format:rpad((producto/nombreCorto),23),' ',format:lpad(format:string((precioUnitario)),12),' ',format:lpad(format:string((total)),12),'
\u000F Descuento <',format:lpad(format:string((descuentoGeneral)),12),'>
\u000F O. Social <',format:lpad(format:string(sum(itemsReceta/precioUnitario)),12),'>')%>
21) \u0012------------------------------------------
22) \u0012\u001BE TOTAL <%=format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto)),12)%>\u001BF
23) \u000FOBRAS SOCIALES <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=2]/valor/montoPrincipal)),10)%>
24) \u000FCUENTA CORRIENTE <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=22]/valor/montoPrincipal)),10)%>
25) \u000FCUOTA CUENTA CORRIENTE <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=21]/valor/montoPrincipal)),10)%>
26) \u000F<%@concat(format:rpad((operacionesValor[valor/tipoValor/id=9]/valor/entidadSaldable/nombre),33),format:lpad(format:string((operacionesValor[valor/tipoValor/id=9]/valor/montoPrincipal)),10))%>
27) \u000FCHEQUE TERCEROS <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=5]/valor/montoPrincipal)),10)%>
28) \u000FEFECTIVO <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=3]/valor/montoPrincipal)),10)%>
Busca en la tabla operacion el Billete;
29) \u0012------------------------------------------
30) \u000FExento : <%=concat(format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=503 and subTipoValorCpto/visiblePos=1]/monto)),10),' Gravado: ',format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=541]/monto)),10))%>
31) \u000FVendedor : <%=format:rpad((valor/objUsuarioCreacion/alias),30)%>
32) \u000FPuesto : <%=format:rpad((operacion/puestoVenta/nombre),30)%>
33) \u0012------------------------------------------
34) \u000F(comprobante sin valor fiscal)
35) \u001Bw
NOTA: SI LA AUSENCIA DEL DATO A IMPRIMIR TIENE QUE ELIMINAR EL RENGLÓN ACTUAL SE TIENE QUE ENCERRAR ENTRE MAYOR Y MENOR LA FUNCIÓN. EJ: <<%=....%>>
Estos comandos actúan sólo si el dispositivo lo permite.
objeto | atributo | función | tabla | método |
Farmacia | Razón Social | <%= | operacion_valor | valor/nodoCreacion/razonSocial |
Farmacia | Razón Social 2 | <%= | operacion_valor | valor/nodoCreacion/razonSocialLinea2 |
Farmacia | Dirección | <%= | operacion_valor | valor/nodoCreacion/direcciones[1] |
Farmacia | Tel. | <%= | operacion_valor | valor/nodoCreacion/telefonosConcatenados |
Farmacia | C.U.I.T. | <%= | operacion_valor | valor/nodoCreacion/cuit |
Farmacia | I.V.A. | <%= | operacion_valor | valor/nodoCreacion/objSituacionIva/nombre |
Farmacia | I.Br. | <%= | operacion_valor | valor/nodoCreacion/ingresosBrutos |
Cliente | Nombre | <%= | operacion_valor | valor/entidad/nombre |
Cliente | Apellido | <%= | operacion_valor | valor/entidad/apellido |
Cliente | Dirección | <%= | operacion_valor | valor/entidad/direcciones[1] |
Cliente | Teléfono | <%= | operacion_valor | valor/entidad/telefonosConcatenados |
Afiliado | Nombre | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado |
Afiliado | Nro | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado |
Valor | Fecha | <%= | operacion_valor | valor/fechaCreacion |
Valor | Número | <%= | operacion_valor | valor/codificacion |
Producto | Nombre | <%# | item_valor | producto/nombreCorto |
Producto | Descuento de ítem | <%# | item_valor | descuento |
Producto | Descuento Automático/Forzado | <%# | item_valor | descuentoAfiliado |
Producto | Descuento General (manual) | <%# | item_valor | descuentoGeneral |
Receta | O. Social | <%# | item_valor | sum(itemsReceta/montoTotalCubierto) |
Valor | TOTAL | <%= | operacion_valor | valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto |
Valor | OBRAS SOCIALES | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/montoPrincipal |
Valor | CUENTA CORRIENTE | <%@ | operacion | operacionesValor[valor/tipoValor/id=22]/valor/montoPrincipal |
Valor | CUOTA CUENTA CORRIENTE | <%@ | operacion | operacionesValor[valor/tipoValor/id=21]/valor/montoPrincipal |
Valor | TARJETA | <%@ | operacion | operacionesValor[valor/tipoValor/id=9]/valor/montoPrincipal |
Valor | CHEQUE TERCEROS | <%@ | operacion | operacionesValor[valor/tipoValor/id=5]/valor/montoPrincipal |
Valor | EFECTIVO | <%@ | operacion | operacionesValor[valor/tipoValor/id=3]/valor/montoPrincipal |
Valor | Exento | <%= | operacion_valor | valor/valoresConcepto[subTipoValorCpto/concepto/id=503 and subTipoValorCpto/visiblePos=1]/monto |
Valor | Gravado | <%= | operacion_valor | valor/valoresConcepto[subtipoValorCpto/concepto/id=541]/monto |
Vendedor | Nombre | <%= | operacion_valor | valor/objUsuarioCreacion/alias |
Puesto | Nombre | <%= | operacion_valor | operacion/puestoVenta/nombre |
Para la obtención de la sintaxis de comandos se debe recurrir a los manuales de cada modelo de impresora fiscal.
A modo de ejemplo se transcriben algunos de los caracteres más usados:
modelo impresora | HEXA | ASCII | descripción |
Bematech
Epson |
\u001B | ESC | Por definición del protocolo, todo comando empieza con 1B |
Bematech
Epson |
\u001B@ | ESC @ | Inicializa la impresora |
Bematech | \u001Btn | ESC t n | Selecciona la página de código n:
n = 2 (PÁGINA DE CÓDIGO 850 – Falla) n = 3 (PÁGINA DE CÓDIGO 437) n = 4 (PÁGINA DE CÓDIGO 860) n = 5 (PÁGINA DE CÓDIGO 858) |
Bematech | \u001Bln | ESC l n | Programa el margen izquierdo para la columna n |
Epson | \u001Bl | ESC l | Posiciona margen izquierdo |
Bematech
Epson |
\u000E | SO | Selecciona expandido por una línea |
Bematech | \u0014 | DC4 | Cancela modo expandido de una línea |
Bematech
Epson |
\u000F | SI | Selecciona modo condensado |
Bematech
Epson |
\u0012 | DC2 | Cancela modo condensado |
Bematech | \u001BE | ESC SO | Selecciona expandido por una línea |
Bematech | \u001BF | ESC SI | Selecciona modo condensado |
Epson | \u001BF | ESC F | Cancela modo enfatizado |
Bematech
Epson |
\u001Bm | ESC m | Realiza un corte parcial de papel |
Epson | \u001BM | ESC M | Selecciona el ancho elite |
Epson | \u001B0 | ESC 0 | Selecciona 1/8 de pulgada de línea de espacio |
Epson | \u001B- | ESC - | Selecciona/cancela modo subrayado |
Epson | \u001BW | ESC W | Selecciona/cancela el modo expandido |
Hagamos un seguimiento, línea a línea, de la plantilla Factura Bematech MP4000 TH (45) cargada en zWeb:
1) \u001B@\u001Bt2\u001Bl\u0001
2) \u000E<%=format:rpad((valor/nodoCreacion/razonSocial),19)%>
3) \u0014\u000F<%=format:rpad((valor/nodoCreacion/razonSocialLinea2),42)%>
DC4 = cancela modo expandido de una línea;
4) \u000F<%=format:rpad((valor/nodoCreacion/direcciones[1]),42)%>
5) \u000FTel.: <%=format:rpad((valor/nodoCreacion/telefonosConcatenados),42)%>
6) \u000FC.U.I.T. : <%=format:rpad((valor/nodoCreacion/cuit),30)%>
7) \u000FI.V.A. : <%=format:rpad((valor/nodoCreacion/objSituacionIva/nombre),30)%>
8) \u000FI.Br. : <%=format:rpad((valor/nodoCreacion/ingresosBrutos),30)%>
9) /
10) \u000FCliente : <%=format:rpad((valor/entidad/nombre),30)%>
11) \u000F<%=format:rpad((valor/entidad/apellido),30)%>
12) \u000FDireccion: <%=format:rpad((valor/entidad/direcciones[1]),30)%>
13) \u000FTelefono.: <%=format:rpad((valor/entidad/telefonosConcatenados)</span<,30)%>
14) \u000F<%@concat('Afiliado: <',format:rpad((operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado),20),'>
\u000FNro. <',format:lpad((operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado),12),'>')%>
15) \u000FFecha : <%=format:rpad(format:longDate((valor/fechaCreacion)),20)%>
16) \u0012\u001BE FACTURA <%=format:rpad((valor/letraFactura),1)%> - <%=format:rpad((valor/codificacion),13)%>\u001BF
17) \u0012------------------------------------------
18) \u000F Cant Descripcion P Unit. P.Total
19) \u0012------------------------------------------
20) \u000F<%#concat(format:lpad(format:string((cantidad)),6),' ',format:rpad((producto/nombreCorto),23),' ',format:lpad(format:string((precioUnitario)),12),' ',format:lpad(format:string((total)),12),'
\u000F Descuento <',format:lpad(format:string((descuentoGeneral)),12),'>
\u000F O. Social <',format:lpad(format:string(sum(itemsReceta/precioUnitario)),12),'>')%>
21) \u0012------------------------------------------
22) \u0012\u001BE TOTAL <%=format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto)),12)%>\u001BF
23) \u000FOBRAS SOCIALES <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=2]/valor/montoPrincipal)),10)%>
24) \u000FCUENTA CORRIENTE <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=22]/valor/montoPrincipal)),10)%>
25) \u000FCUOTA CUENTA CORRIENTE <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=21]/valor/montoPrincipal)),10)%>
26) \u000F<%@concat(format:rpad((operacionesValor[valor/tipoValor/id=9]/valor/entidadSaldable/nombre),33),format:lpad(format:string((operacionesValor[valor/tipoValor/id=9]/valor/montoPrincipal)),10))%>
27) \u000FCHEQUE TERCEROS <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=5]/valor/montoPrincipal)),10)%>
28) \u000FEFECTIVO <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=3]/valor/montoPrincipal)),10)%>
Busca en la tabla operacion el Billete;
29) \u0012------------------------------------------
30) \u000FExento : <%=concat(format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=503 and subTipoValorCpto/visiblePos=1]/monto)),10),' Gravado: ',format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=541]/monto)),10))%>
31) \u000FVendedor : <%=format:rpad((valor/objUsuarioCreacion/alias),30)%>
32) \u000FPuesto : <%=format:rpad((operacion/puestoVenta/nombre),30)%>
33) \u0012------------------------------------------
34) \u000F(comprobante sin valor fiscal)
35) \u001Bw
NOTA: SI LA AUSENCIA DEL DATO A IMPRIMIR TIENE QUE ELIMINAR EL RENGLÓN ACTUAL SE TIENE QUE ENCERRAR ENTRE MAYOR Y MENOR LA FUNCIÓN. EJ: <<%=....%>>
Estos comandos actúan sólo si el dispositivo lo permite.
objeto | atributo | función | tabla | método |
Farmacia | Razón Social | <%= | operacion_valor | valor/nodoCreacion/razonSocial |
Farmacia | Razón Social 2 | <%= | operacion_valor | valor/nodoCreacion/razonSocialLinea2 |
Farmacia | Dirección | <%= | operacion_valor | valor/nodoCreacion/direcciones[1] |
Farmacia | Tel. | <%= | operacion_valor | valor/nodoCreacion/telefonosConcatenados |
Farmacia | C.U.I.T. | <%= | operacion_valor | valor/nodoCreacion/cuit |
Farmacia | I.V.A. | <%= | operacion_valor | valor/nodoCreacion/objSituacionIva/nombre |
Farmacia | I.Br. | <%= | operacion_valor | valor/nodoCreacion/ingresosBrutos |
Cliente | Nombre | <%= | operacion_valor | valor/entidad/nombre |
Cliente | Apellido | <%= | operacion_valor | valor/entidad/apellido |
Cliente | Dirección | <%= | operacion_valor | valor/entidad/direcciones[1] |
Cliente | Teléfono | <%= | operacion_valor | valor/entidad/telefonosConcatenados |
Afiliado | Nombre | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado |
Afiliado | Nro | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado |
Valor | Fecha | <%= | operacion_valor | valor/fechaCreacion |
Valor | Número | <%= | operacion_valor | valor/codificacion |
Producto | Nombre | <%# | item_valor | producto/nombreCorto |
Producto | Descuento de ítem | <%# | item_valor | descuento |
Producto | Descuento Automático/Forzado | <%# | item_valor | descuentoAfiliado |
Producto | Descuento General (manual) | <%# | item_valor | descuentoGeneral |
Receta | O. Social | <%# | item_valor | sum(itemsReceta/montoTotalCubierto) |
Valor | TOTAL | <%= | operacion_valor | valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto |
Valor | OBRAS SOCIALES | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/montoPrincipal |
Valor | CUENTA CORRIENTE | <%@ | operacion | operacionesValor[valor/tipoValor/id=22]/valor/montoPrincipal |
Valor | CUOTA CUENTA CORRIENTE | <%@ | operacion | operacionesValor[valor/tipoValor/id=21]/valor/montoPrincipal |
Valor | TARJETA | <%@ | operacion | operacionesValor[valor/tipoValor/id=9]/valor/montoPrincipal |
Valor | CHEQUE TERCEROS | <%@ | operacion | operacionesValor[valor/tipoValor/id=5]/valor/montoPrincipal |
Valor | EFECTIVO | <%@ | operacion | operacionesValor[valor/tipoValor/id=3]/valor/montoPrincipal |
Valor | Exento | <%= | operacion_valor | valor/valoresConcepto[subTipoValorCpto/concepto/id=503 and subTipoValorCpto/visiblePos=1]/monto |
Valor | Gravado | <%= | operacion_valor | valor/valoresConcepto[subtipoValorCpto/concepto/id=541]/monto |
Vendedor | Nombre | <%= | operacion_valor | valor/objUsuarioCreacion/alias |
Puesto | Nombre | <%= | operacion_valor | operacion/puestoVenta/nombre |
Para la obtención de la sintaxis de comandos se debe recurrir a los manuales de cada modelo de impresora fiscal.
A modo de ejemplo se transcriben algunos de los caracteres más usados:
modelo impresora | HEXA | ASCII | descripción |
Bematech
Epson |
\u001B | ESC | Por definición del protocolo, todo comando empieza con 1B |
Bematech
Epson |
\u001B@ | ESC @ | Inicializa la impresora |
Bematech | \u001Btn | ESC t n | Selecciona la página de código n:
n = 2 (PÁGINA DE CÓDIGO 850 – Falla) n = 3 (PÁGINA DE CÓDIGO 437) n = 4 (PÁGINA DE CÓDIGO 860) n = 5 (PÁGINA DE CÓDIGO 858) |
Bematech | \u001Bln | ESC l n | Programa el margen izquierdo para la columna n |
Epson | \u001Bl | ESC l | Posiciona margen izquierdo |
Bematech
Epson |
\u000E | SO | Selecciona expandido por una línea |
Bematech | \u0014 | DC4 | Cancela modo expandido de una línea |
Bematech
Epson |
\u000F | SI | Selecciona modo condensado |
Bematech
Epson |
\u0012 | DC2 | Cancela modo condensado |
Bematech | \u001BE | ESC SO | Selecciona expandido por una línea |
Bematech | \u001BF | ESC SI | Selecciona modo condensado |
Epson | \u001BF | ESC F | Cancela modo enfatizado |
Bematech
Epson |
\u001Bm | ESC m | Realiza un corte parcial de papel |
Epson | \u001BM | ESC M | Selecciona el ancho elite |
Epson | \u001B0 | ESC 0 | Selecciona 1/8 de pulgada de línea de espacio |
Epson | \u001B- | ESC - | Selecciona/cancela modo subrayado |
Epson | \u001BW | ESC W | Selecciona/cancela el modo expandido |
Hagamos un seguimiento, línea a línea, de la plantilla Factura Bematech MP4000 TH (45) cargada en zWeb:
1) \u001B@\u001Bt2\u001Bl\u0001
2) \u000E<%=format:rpad((valor/nodoCreacion/razonSocial),19)%>
3) \u0014\u000F<%=format:rpad((valor/nodoCreacion/razonSocialLinea2),42)%>
DC4 = cancela modo expandido de una línea;
4) \u000F<%=format:rpad((valor/nodoCreacion/direcciones[1]),42)%>
5) \u000FTel.: <%=format:rpad((valor/nodoCreacion/telefonosConcatenados),42)%>
6) \u000FC.U.I.T. : <%=format:rpad((valor/nodoCreacion/cuit),30)%>
7) \u000FI.V.A. : <%=format:rpad((valor/nodoCreacion/objSituacionIva/nombre),30)%>
8) \u000FI.Br. : <%=format:rpad((valor/nodoCreacion/ingresosBrutos),30)%>
9) /
10) \u000FCliente : <%=format:rpad((valor/entidad/nombre),30)%>
11) \u000F<%=format:rpad((valor/entidad/apellido),30)%>
12) \u000FDireccion: <%=format:rpad((valor/entidad/direcciones[1]),30)%>
13) \u000FTelefono.: <%=format:rpad((valor/entidad/telefonosConcatenados)</span<,30)%>
14) \u000F<%@concat('Afiliado: <',format:rpad((operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado),20),'>
\u000FNro. <',format:lpad((operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado),12),'>')%>
15) \u000FFecha : <%=format:rpad(format:longDate((valor/fechaCreacion)),20)%>
16) \u0012\u001BE FACTURA <%=format:rpad((valor/letraFactura),1)%> - <%=format:rpad((valor/codificacion),13)%>\u001BF
17) \u0012------------------------------------------
18) \u000F Cant Descripcion P Unit. P.Total
19) \u0012------------------------------------------
20) \u000F<%#concat(format:lpad(format:string((cantidad)),6),' ',format:rpad((producto/nombreCorto),23),' ',format:lpad(format:string((precioUnitario)),12),' ',format:lpad(format:string((total)),12),'
\u000F Descuento <',format:lpad(format:string((descuentoGeneral)),12),'>
\u000F O. Social <',format:lpad(format:string(sum(itemsReceta/precioUnitario)),12),'>')%>
21) \u0012------------------------------------------
22) \u0012\u001BE TOTAL <%=format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto)),12)%>\u001BF
23) \u000FOBRAS SOCIALES <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=2]/valor/montoPrincipal)),10)%>
24) \u000FCUENTA CORRIENTE <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=22]/valor/montoPrincipal)),10)%>
25) \u000FCUOTA CUENTA CORRIENTE <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=21]/valor/montoPrincipal)),10)%>
26) \u000F<%@concat(format:rpad((operacionesValor[valor/tipoValor/id=9]/valor/entidadSaldable/nombre),33),format:lpad(format:string((operacionesValor[valor/tipoValor/id=9]/valor/montoPrincipal)),10))%>
27) \u000FCHEQUE TERCEROS <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=5]/valor/montoPrincipal)),10)%>
28) \u000FEFECTIVO <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=3]/valor/montoPrincipal)),10)%>
Busca en la tabla operacion el Billete;
29) \u0012------------------------------------------
30) \u000FExento : <%=concat(format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=503 and subTipoValorCpto/visiblePos=1]/monto)),10),' Gravado: ',format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=541]/monto)),10))%>
31) \u000FVendedor : <%=format:rpad((valor/objUsuarioCreacion/alias),30)%>
32) \u000FPuesto : <%=format:rpad((operacion/puestoVenta/nombre),30)%>
33) \u0012------------------------------------------
34) \u000F(comprobante sin valor fiscal)
35) \u001Bw
NOTA: SI LA AUSENCIA DEL DATO A IMPRIMIR TIENE QUE ELIMINAR EL RENGLÓN ACTUAL SE TIENE QUE ENCERRAR ENTRE MAYOR Y MENOR LA FUNCIÓN. EJ: <<%=....%>>
Estos comandos actúan sólo si el dispositivo lo permite.
objeto | atributo | función | tabla | método |
Farmacia | Razón Social | <%= | operacion_valor | valor/nodoCreacion/razonSocial |
Farmacia | Razón Social 2 | <%= | operacion_valor | valor/nodoCreacion/razonSocialLinea2 |
Farmacia | Dirección | <%= | operacion_valor | valor/nodoCreacion/direcciones[1] |
Farmacia | Tel. | <%= | operacion_valor | valor/nodoCreacion/telefonosConcatenados |
Farmacia | C.U.I.T. | <%= | operacion_valor | valor/nodoCreacion/cuit |
Farmacia | I.V.A. | <%= | operacion_valor | valor/nodoCreacion/objSituacionIva/nombre |
Farmacia | I.Br. | <%= | operacion_valor | valor/nodoCreacion/ingresosBrutos |
Cliente | Nombre | <%= | operacion_valor | valor/entidad/nombre |
Cliente | Apellido | <%= | operacion_valor | valor/entidad/apellido |
Cliente | Dirección | <%= | operacion_valor | valor/entidad/direcciones[1] |
Cliente | Teléfono | <%= | operacion_valor | valor/entidad/telefonosConcatenados |
Afiliado | Nombre | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado |
Afiliado | Nro | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado |
Valor | Fecha | <%= | operacion_valor | valor/fechaCreacion |
Valor | Número | <%= | operacion_valor | valor/codificacion |
Producto | Nombre | <%# | item_valor | producto/nombreCorto |
Producto | Descuento de ítem | <%# | item_valor | descuento |
Producto | Descuento Automático/Forzado | <%# | item_valor | descuentoAfiliado |
Producto | Descuento General (manual) | <%# | item_valor | descuentoGeneral |
Receta | O. Social | <%# | item_valor | sum(itemsReceta/montoTotalCubierto) |
Valor | TOTAL | <%= | operacion_valor | valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto |
Valor | OBRAS SOCIALES | <%@ | operacion | operacionesValor[valor/tipoValor/id=2]/valor/montoPrincipal |
Valor | CUENTA CORRIENTE | <%@ | operacion | operacionesValor[valor/tipoValor/id=22]/valor/montoPrincipal |
Valor | CUOTA CUENTA CORRIENTE | <%@ | operacion | operacionesValor[valor/tipoValor/id=21]/valor/montoPrincipal |
Valor | TARJETA | <%@ | operacion | operacionesValor[valor/tipoValor/id=9]/valor/montoPrincipal |
Valor | CHEQUE TERCEROS | <%@ | operacion | operacionesValor[valor/tipoValor/id=5]/valor/montoPrincipal |
Valor | EFECTIVO | <%@ | operacion | operacionesValor[valor/tipoValor/id=3]/valor/montoPrincipal |
Valor | Exento | <%= | operacion_valor | valor/valoresConcepto[subTipoValorCpto/concepto/id=503 and subTipoValorCpto/visiblePos=1]/monto |
Valor | Gravado | <%= | operacion_valor | valor/valoresConcepto[subtipoValorCpto/concepto/id=541]/monto |
Vendedor | Nombre | <%= | operacion_valor | valor/objUsuarioCreacion/alias |
Puesto | Nombre | <%= | operacion_valor | operacion/puestoVenta/nombre |
Para la obtención de la sintaxis de comandos se debe recurrir a los manuales de cada modelo de impresora fiscal.
A modo de ejemplo se transcriben algunos de los caracteres más usados:
modelo impresora | HEXA | ASCII | descripción |
Bematech
Epson |
\u001B | ESC | Por definición del protocolo, todo comando empieza con 1B |
Bematech
Epson |
\u001B@ | ESC @ | Inicializa la impresora |
Bematech | \u001Btn | ESC t n | Selecciona la página de código n:
n = 2 (PÁGINA DE CÓDIGO 850 – Falla) n = 3 (PÁGINA DE CÓDIGO 437) n = 4 (PÁGINA DE CÓDIGO 860) n = 5 (PÁGINA DE CÓDIGO 858) |
Bematech | \u001Bln | ESC l n | Programa el margen izquierdo para la columna n |
Epson | \u001Bl | ESC l | Posiciona margen izquierdo |
Bematech
Epson |
\u000E | SO | Selecciona expandido por una línea |
Bematech | \u0014 | DC4 | Cancela modo expandido de una línea |
Bematech
Epson |
\u000F | SI | Selecciona modo condensado |
Bematech
Epson |
\u0012 | DC2 | Cancela modo condensado |
Bematech | \u001BE | ESC SO | Selecciona expandido por una línea |
Bematech | \u001BF | ESC SI | Selecciona modo condensado |
Epson | \u001BF | ESC F | Cancela modo enfatizado |
Bematech
Epson |
\u001Bm | ESC m | Realiza un corte parcial de papel |
Epson | \u001BM | ESC M | Selecciona el ancho elite |
Epson | \u001B0 | ESC 0 | Selecciona 1/8 de pulgada de línea de espacio |
Epson | \u001B- | ESC - | Selecciona/cancela modo subrayado |
Epson | \u001BW | ESC W | Selecciona/cancela el modo expandido |
Hagamos un seguimiento, línea a línea, de la plantilla Factura Bematech MP4000 TH (45) cargada en zWeb:
1) \u001B@\u001Bt2\u001Bl\u0001
2) \u000E<%=format:rpad((valor/nodoCreacion/razonSocial),19)%>
3) \u0014\u000F<%=format:rpad((valor/nodoCreacion/razonSocialLinea2),42)%>
DC4 = cancela modo expandido de una línea;
4) \u000F<%=format:rpad((valor/nodoCreacion/direcciones[1]),42)%>
5) \u000FTel.: <%=format:rpad((valor/nodoCreacion/telefonosConcatenados),42)%>
6) \u000FC.U.I.T. : <%=format:rpad((valor/nodoCreacion/cuit),30)%>
7) \u000FI.V.A. : <%=format:rpad((valor/nodoCreacion/objSituacionIva/nombre),30)%>
8) \u000FI.Br. : <%=format:rpad((valor/nodoCreacion/ingresosBrutos),30)%>
9) /
10) \u000FCliente : <%=format:rpad((valor/entidad/nombre),30)%>
11) \u000F<%=format:rpad((valor/entidad/apellido),30)%>
12) \u000FDireccion: <%=format:rpad((valor/entidad/direcciones[1]),30)%>
13) \u000FTelefono.: <%=format:rpad((valor/entidad/telefonosConcatenados)</span<,30)%>
14) \u000F<%@concat('Afiliado: <',format:rpad((operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado),20),'>
\u000FNro. <',format:lpad((operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado),12),'>')%>
15) \u000FFecha : <%=format:rpad(format:longDate((valor/fechaCreacion)),20)%>
16) \u0012\u001BE FACTURA <%=format:rpad((valor/letraFactura),1)%> - <%=format:rpad((valor/codificacion),13)%>\u001BF
17) \u0012------------------------------------------
18) \u000F Cant Descripcion P Unit. P.Total
19) \u0012------------------------------------------
20) \u000F<%#concat(format:lpad(format:string((cantidad)),6),' ',format:rpad((producto/nombreCorto),23),' ',format:lpad(format:string((precioUnitario)),12),' ',format:lpad(format:string((total)),12),'
\u000F Descuento <',format:lpad(format:string((descuentoGeneral)),12),'>
\u000F O. Social <',format:lpad(format:string(sum(itemsReceta/precioUnitario)),12),'>')%>
21) \u0012------------------------------------------
22) \u0012\u001BE TOTAL <%=format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto)),12)%>\u001BF
23) \u000FOBRAS SOCIALES <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=2]/valor/montoPrincipal)),10)%>
24) \u000FCUENTA CORRIENTE <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=22]/valor/montoPrincipal)),10)%>
25) \u000FCUOTA CUENTA CORRIENTE <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=21]/valor/montoPrincipal)),10)%>
26) \u000F<%@concat(format:rpad((operacionesValor[valor/tipoValor/id=9]/valor/entidadSaldable/nombre),33),format:lpad(format:string((operacionesValor[valor/tipoValor/id=9]/valor/montoPrincipal)),10))%>
27) \u000FCHEQUE TERCEROS <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=5]/valor/montoPrincipal)),10)%>
28) \u000FEFECTIVO <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=3]/valor/montoPrincipal)),10)%>
Busca en la tabla operacion el Billete;
29) \u0012------------------------------------------
30) \u000FExento : <%=concat(format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=503 and subTipoValorCpto/visiblePos=1]/monto)),10),' Gravado: ',format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=541]/monto)),10))%>
31) \u000FVendedor : <%=format:rpad((valor/objUsuarioCreacion/alias),30)%>
32) \u000FPuesto : <%=format:rpad((operacion/puestoVenta/nombre),30)%>
33) \u0012------------------------------------------
34) \u000F(comprobante sin valor fiscal)
35) \u001Bw
Wiki