Diferencia entre revisiones de «Plantillas»

De ZWeb
Saltar a: navegación, buscar
(Funciones propias)
(Ejemplo Modelo)
 
(No se muestran 57 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
__NOTOC__
+
== Funciones propias==
 +
 
 +
*'''/'''    = imprime línea en blanco.
 +
 
 +
 
 +
*'''<%= --------- %>'''
 +
:-va a buscar a la tabla operacion_valor.
 +
 
 +
 
 +
*'''<%@ --------- %>'''
 +
:-va a buscar a la tabla operacion.
 +
 
 +
 
 +
*'''<%# --------- %>'''
 +
:-va a iterar sobre la tabla item_valor.
 +
 
 +
 
 +
*'''format: lpad / rpad''' (''texto a imprimir'', ''longitud a rellenar'', ''caracter de relleno'')
 +
:rellena a izquierda / derecha.
 +
:-si la ''longitud a rellenar'' es menor que la longitud del ''texto a imprimir'', entonces corta el texto.
 +
:-si no se especifica ningún ''caracter de relleno'', entonces completa con espacios.
 +
 
 +
 
 +
*'''format: longDate''' (''fecha'')
 +
:-devuelve la fecha en el formato ''longDate'' definido en application.
 +
 
 +
 
 +
*'''format: string''' (''número')
 +
:-convierte el número en ''string''.
 +
 
 +
 
 
== Funciones de jxpath==
 
== Funciones de jxpath==
  
Línea 10: Línea 40:
  
  
== Funciones propias==
+
== Métodos ==
 +
{| style="border-spacing:0;"
 +
| style="background-color:#c90016;border-top:0.25pt solid #808080;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ''objeto''
 +
| style="background-color:#c90016;border-top:0.25pt solid #808080;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ''atributo''
 +
| style="background-color:#c90016;border-top:0.25pt solid #808080;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ''función''
 +
| style="background-color:#c90016;border-top:0.25pt solid #808080;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ''tabla''
 +
| style="background-color:#c90016;border:0.25pt solid #808080;padding:0.097cm;"| ''método''
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Farmacia
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Razón Social
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| valor/nodoCreacion/razonSocial
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Farmacia
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Razón Social 2
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| valor/nodoCreacion/razonSocialLinea2
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Farmacia
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Dirección
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| <nowiki>valor/nodoCreacion/direcciones[1]</nowiki>
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Farmacia
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Tel.
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| valor/nodoCreacion/telefonosConcatenados
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Farmacia
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| C.U.I.T.
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| valor/nodoCreacion/cuit
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Farmacia
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| I.V.A.
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| valor/nodoCreacion/objSituacionIva/nombre
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Farmacia
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| I.Br.
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| valor/nodoCreacion/ingresosBrutos
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Cliente
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Nombre
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| valor/entidad/nombre
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Cliente
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Apellido
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| valor/entidad/apellido
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Cliente
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Dirección
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| <nowiki>valor/entidad/direcciones[1]</nowiki>
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Cliente
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Teléfono
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| valor/entidad/telefonosConcatenados
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Afiliado
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Nombre
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%@</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| <nowiki>operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado</nowiki>
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Afiliado
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Nro
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%@</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| <nowiki>operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado</nowiki>
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Fecha
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| valor/fechaCreacion
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Letra
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| valor/codificacion
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Producto
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Nombre
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%#</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| item_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| producto/nombreCorto
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Producto
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Descuento
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%#</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| item_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| descuentoGeneral
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Receta
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| O. Social
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%#</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| item_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| sum(itemsReceta/precioUnitario)
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| TOTAL
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| <nowiki>valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto</nowiki>
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| OBRAS SOCIALES
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%@</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| <nowiki>operacionesValor[valor/tipoValor/id=2]/valor/montoPrincipal</nowiki>
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| CUENTA CORRIENTE
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%@</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| <nowiki>operacionesValor[valor/tipoValor/id=22]/valor/montoPrincipal</nowiki>
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| CUOTA CUENTA CORRIENTE
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%@</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| <nowiki>operacionesValor[valor/tipoValor/id=21]/valor/montoPrincipal</nowiki>
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| TARJETA
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%@</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| <nowiki>operacionesValor[valor/tipoValor/id=9]/valor/montoPrincipal</nowiki>
  
*'''/'''
+
|-
::-imprime línea en blanco.
+
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| CHEQUE TERCEROS
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%@</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| <nowiki>operacionesValor[valor/tipoValor/id=5]/valor/montoPrincipal</nowiki>
  
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| EFECTIVO
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%@</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| <nowiki>operacionesValor[valor/tipoValor/id=3]/valor/montoPrincipal</nowiki>
  
Long date
+
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Exento
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| <nowiki>valor/valoresConcepto[subTipoValorCpto/concepto/id=503 and subTipoValorCpto/visiblePos=1]/monto</nowiki>
  
String
+
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Gravado
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| <nowiki>valor/valoresConcepto[subtipoValorCpto/concepto/id=541]/monto</nowiki>
  
== Métodos ==
+
|-
valor/codificacion
+
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Vendedor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Nombre
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| valor/objUsuarioCreacion/alias
  
...
+
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Puesto
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Nombre
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| <nowiki><%=</nowiki>
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| operacion_valor
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| operacion/puestoVenta/nombre
  
...
+
|}
  
  
 
== Caracteres ==
 
== Caracteres ==
  
ESC 0027 /E001B
+
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:
 +
 
 +
{| style="border-spacing:0;"
 +
| style="background-color:#dc2300;border-top:0.25pt solid #808080;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ''modelo impresora''
 +
| style="background-color:#dc2300;border-top:0.25pt solid #808080;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ''HEXA''
 +
| style="background-color:#dc2300;border-top:0.25pt solid #808080;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ''ASCII''
 +
| style="background-color:#dc2300;border:0.25pt solid #808080;padding:0.097cm;"| ''descripción''
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Bematech
 +
 
 +
Epson
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u001B
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ESC
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| Por definición del protocolo, todo comando empieza con 1B
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Bematech
 +
 
 +
Epson
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u001B@
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ESC @
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| Inicializa la impresora
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Bematech
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u001Btn
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ESC t n
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| 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)
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Bematech
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u001Bln
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ESC l n
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| Programa el margen izquierdo para la columna n
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Epson
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u001Bl
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ESC l
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| Posiciona margen izquierdo
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Bematech
 +
 
 +
Epson
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u000E
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| SO
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| Selecciona expandido por una línea
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Bematech
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u0014
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| DC4
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| Cancela modo expandido de una línea
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Bematech
 +
 
 +
Epson
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u000F
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| SI
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| Selecciona modo condensado
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Bematech
 +
 
 +
Epson
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u0012
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| DC2
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| Cancela modo condensado
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Bematech
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u001BE
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ESC SO
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| Selecciona expandido por una línea
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Bematech
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u001BF
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ESC SI
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| Selecciona modo condensado
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Epson
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u001BF
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ESC F
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| Cancela modo enfatizado
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Bematech
 +
 
 +
Epson
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u001Bm
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ESC m
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| Realiza un corte parcial de papel
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Epson
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u001BM
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ESC M
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| Selecciona el ancho elite
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Epson
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u001B0
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ESC 0
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| Selecciona 1/8 de pulgada de línea de espacio
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Epson
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u001B-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ESC -
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| Selecciona/cancela modo subrayado
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| Epson
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| \u001BW
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:none;padding:0.097cm;"| ESC W
 +
| style="border-top:none;border-bottom:0.25pt solid #808080;border-left:0.25pt solid #808080;border-right:0.25pt solid #808080;padding:0.097cm;"| Selecciona/cancela el modo expandido
 +
 
 +
|}
 +
 
 +
 
 +
==Ejemplo Modelo==
 +
 
 +
Hagamos un seguimiento, línea a línea, de la plantilla '''Factura Bematech MP4000 TH (45)''' cargada en zWeb:
 +
 
 +
 
 +
1) <span style="color:#0000FF">\u001B@\u001Bt2\u001Bl\u0001</span>
 +
 
 +
:ESC @ = inicializa la impresora;
 +
:ESC t 2 = selecciona la página de código 850;
 +
:ESC l 1 = programa el margen iazquierdo para la columna 1.
 +
 
 +
 
 +
2) <span style="color:#0000FF">\u000E</span><span style="color:#6B8E23"><nowiki><%=format:rpad(</nowiki></span><span style="color:#800080">(valor/nodoCreacion/razonSocial)</span>,19<span style="color:#6B8E23">)%></span>
 +
 
 +
:SO = selecciona expandido por una línea;
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Imprime 19 caracteres de la Razón Social del Nodo Creación de la Factura,
 +
::si tiene más de 19 caracteres: los corta,
 +
::si tiene menos: completa a derecha con espacios.
 +
 
 +
 
 +
3) <span style="color:#0000FF">\u0014\u000F</span><span style="color:#6B8E23"><nowiki><%=format:rpad(</nowiki></span><span style="color:#800080">(valor/nodoCreacion/razonSocialLinea2)</span>,42<span style="color:#6B8E23">)%></span>
 +
 
 +
DC4 = cancela modo expandido de una línea;
 +
:SI = selecciona modo condensado;
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Imprime 42 caracteres de la Razón Social 2a línea del Nodo Creación de la Factura,
 +
::si tiene más de 42 caracteres: los corta,
 +
::si tiene menos: completa a derecha con espacios.
 +
 
 +
 
 +
4) <span style="color:#0000FF">\u000F</span><span style="color:#6B8E23"><nowiki><%=format:rpad(</nowiki></span><span style="color:#800080"><nowiki>(valor/nodoCreacion/direcciones[1])</nowiki></span>,42<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condesado;
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Imprime 42 caracteres de la 1er Dirección del Nodo Creación de la Factura,
 +
::si tiene más de 42 caracteres: los corta,
 +
::si tiene menos: completa a derecha con espacios.
 +
 
 +
 
 +
5) <span style="color:#0000FF">\u000F</span>Tel.: <span style="color:#6B8E23"><nowiki><%=format:rpad(</nowiki></span><span style="color:#800080">(valor/nodoCreacion/telefonosConcatenados)</span>,42<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Imprime 42 caracteres con los Teléfonos del Nodo Creación de la Factura,
 +
::si ocupan más de 42 caracteres: los corta,
 +
::si ocupan menos: completa a derecha con espacios.
 +
 
 +
 
 +
6) <span style="color:#0000FF">\u000F</span>C.U.I.T. : <span style="color:#6B8E23"><nowiki><%=format:rpad(</nowiki></span><span style="color:#800080">(valor/nodoCreacion/cuit)</span>,30<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Imprime el texto 'C.U.I.T. : ';
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Imprime 30 caracteres del CUIT del Nodo Creación de la Factura,
 +
::si tiene más de 30 caracteres: los corta,
 +
::si tiene menos: completa a derecha con espacios.
 +
 
 +
 
 +
7) <span style="color:#0000FF">\u000F</span>I.V.A. : <span style="color:#6B8E23"><nowiki><%=format:rpad(</nowiki></span><span style="color:#800080">(valor/nodoCreacion/objSituacionIva/nombre)</span>,30<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Imprime el texto 'I.V.A. : ';
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Imprime 30 caracteres del nombre de la Situación de IVA del Nodo Creación de la Factura,
 +
::si tiene más de 30 caracteres: los corta,
 +
::si tiene menos: completa a derecha con espacios.
 +
 
 +
 
 +
8) <span style="color:#0000FF">\u000F</span>I.Br. : <span style="color:#6B8E23"><nowiki><%=format:rpad(</nowiki></span><span style="color:#800080">(valor/nodoCreacion/ingresosBrutos)</span>,30<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Imprime el texto 'I.Br. : ';
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Imprime 30 caracteres del nombre del nro. de Ingresos Brutos del Nodo Creación de la Factura,
 +
::si tiene más de 30 caracteres: los corta,
 +
::si tiene menos: completa a derecha con espacios.
 +
 
 +
 
 +
9) <span style="color:#0000FF">/</span>
 +
 
 +
:Imprime una línea en blanco.
 +
 
 +
 
 +
10) <span style="color:#0000FF">\u000F</span>Cliente : <span style="color:#6B8E23"><nowiki><%=format:rpad(</nowiki></span><span style="color:#800080">(valor/entidad/nombre)</span>,30<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Imprime el texto 'Cliente : ';
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Imprime 30 caracteres del Nombre del Cliente asociado a la Factura,
 +
::si tiene más de 30 caracteres: los corta,
 +
::si tiene menos: completa a derecha con espacios.
 +
 
 +
 
 +
11) <span style="color:#0000FF">\u000F</span><span style="color:#6B8E23"><nowiki><%=format:rpad(</nowiki></span><span style="color:#800080">(valor/entidad/apellido)</span>,30<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Imprime 30 caracteres del Apellido del Cliente asociado a la Factura,
 +
::si tiene más de 30 caracteres: los corta,
 +
::si tiene menos: completa a derecha con espacios.
 +
 
 +
 
 +
12) <span style="color:#0000FF">\u000F</span>Direccion: <span style="color:#6B8E23"><nowiki><%=format:rpad(</nowiki></span><span style="color:#800080"><nowiki>(valor/entidad/direcciones[1])</nowiki></span>,30<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Imprime el texto 'Direccion: ';
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Imprime 30 caracteres de la 1er Dirección del Cliente asociado a la Factura,
 +
::si tiene más de 30 caracteres: los corta,
 +
::si tiene menos: completa a derecha con espacios.
 +
 
 +
 
 +
13) <span style="color:#0000FF">\u000F</span>Telefono.: <span style="color:#6B8E23"><nowiki><%=format:rpad(</nowiki></span><span style="color:#800080">(valor/entidad/telefonosConcatenados)</span<,30<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Imprime 30 caracteres con los Teléfonos del Cliente asociado la Factura,
 +
::si ocupan más de 30 caracteres: los corta,
 +
::si ocupan menos: completa a derecha con espacios.
 +
 
 +
 
 +
14) <span style="color:#0000FF">\u000F</span><span style="color:#6B8E23"><nowiki><%@</nowiki></span><span style="color:#FF4500">concat(</span><nowiki>'Afiliado: <',</nowiki><span style="color:#6B8E23">format:rpad(</span><span style="color:#800080"><nowiki>(operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado)</nowiki></span>,20<span style="color:#6B8E23">)</span>,'>
 +
 
 +
<span style="color:#0000FF">\u000F</span><nowiki>Nro. <',</nowiki><span style="color:#6B8E23">format:lpad(<span style="color:#800080"><nowiki>(operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado)</nowiki></span>,12<span style="color:#6B8E23">)</span>,'>'<span style="color:#FF4500">)</span><span style="color:#6B8E23">%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Busca en la tabla <tt>operacion</tt> la Receta;
 +
:Imprime la concatenación de los textos:
 +
::- 'Afiliado: '
 +
::- 20 caracteres del Nombre del Afiliado de la Receta,
 +
:::si tiene más de 20 caracteres: los corta,
 +
:::si tiene menos: completa a derecha con espacios.
 +
::- 'Nro. '
 +
::- 12 caracteres del Número del Afiliado de la Receta,
 +
:::si tiene más de 12 caracteres: los corta,
 +
:::si tiene menos: completa a izquierda con espacios.
 +
 
 +
 
 +
15) <span style="color:#0000FF">\u000F</span>Fecha : <span style="color:#6B8E23"><nowiki><%=format:rpad(format:longDate(</nowiki></span><span style="color:#800080">(valor/fechaCreacion)</span><span style="color:#6B8E23">)</span>,20<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Convierte la Fecha Creación de la Factura a '''longDate'''<nowiki>;</nowiki>
 +
:Imprime 20 caracteres de la fecha obtenida,
 +
::si tiene más de 20 caracteres: los corta,
 +
::si tiene menos: completa a derecha con espacios.
 +
 
 +
 
 +
16) <span style="color:#0000FF">\u0012\u001BE</span> FACTURA <span style="color:#6B8E23"><nowiki><%=format:rpad(</nowiki></span><span style="color:#800080">(valor/letraFactura)</span>,1<span style="color:#6B8E23">)%></span> - <span style="color:#6B8E23"><nowiki><%=format:rpad(</nowiki></span><span style="color:#800080">(valor/codificacion)</span>,13<span style="color:#6B8E23">)%></span><span style="color:#0000FF">\u001BF</span>
 +
 
 +
:DC2 = cancela modo condensado;
 +
:ESC SO = selecciona expandido por una línea;
 +
:Imprime el texto ' FACTURA ';
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Imprime la Letra de la Factura (1 caracter);
 +
:Imprime el texto ' - '
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Imprime 13 caracteres del Número de la Factura,
 +
::si tiene más de 13 caracteres: los corta,
 +
::si tiene menos: completa a derecha con espacios.
 +
 
 +
 
 +
17) <span style="color:#0000FF">\u0012</span><nowiki>------------------------------------------</nowiki>
 +
 
 +
:DC2 = cancela el modo condensado;
 +
:Imprime el texto '------------------------------------------'.
 +
 
 +
 
 +
18) <span style="color:#0000FF">\u000F</span> Cant Descripcion P Unit. P.Total
 +
 
 +
:SI = selecciona modo condensado;
 +
:Imprime el texto 'Cant Descripcion P Unit. P.Total'.
 +
 
 +
 
 +
19) <span style="color:#0000FF">\u0012</span><nowiki>------------------------------------------</nowiki>
 +
 
 +
:DC2 = cancela el modo condensado;
 +
:Imprime el texto '------------------------------------------'.
 +
 
 +
 
 +
20) <span style="color:#0000FF">\u000F</span><span style="color:#6B8E23"><nowiki><%#</nowiki></span><span style="color:#FF4500">concat(</span><span style="color:#6B8E23">format:lpad(format:string(</span><span style="color:#800080">(cantidad)</span><span style="color:#6B8E23">)</span>,6<span style="color:#6B8E23">)</span>,' ',<span style="color:#6B8E23">format:rpad(</span><span style="color:#800080">(producto/nombreCorto)</span>,23<span style="color:#6B8E23">)</span>,' ',<span style="color:#6B8E23">format:lpad(format:string(</span><span style="color:#800080">(precioUnitario)</span><span style="color:#6B8E23">)</span>,12<span style="color:#6B8E23">)</span>,' ',<span style="color:#6B8E23">format:lpad(format:string(</span><span style="color:#800080">(total)</span><span style="color:#6B8E23">)</span>,12<span style="color:#6B8E23">)</span>,'
 +
 
 +
<span style="color:#0000FF">\u000F</span> Descuento <nowiki><',</nowiki><span style="color:#6B8E23">format:lpad(format:string(</span><span style="color:#800080">(descuentoGeneral)</span><span style="color:#6B8E23">)</span>,12<span style="color:#6B8E23">)</span>,'>
 +
 
 +
<span style="color:#0000FF">\u000F</span> O. Social <nowiki><',</nowiki><span style="color:#6B8E23">format:lpad(format:string(</span><span style="color:#FF4500">sum(</span><span style="color:#800080">itemsReceta/precioUnitario</span><span style="color:#FF4500">)</span><span style="color:#6B8E23">)</span>,12<span style="color:#6B8E23">)</span>,'>'<span style="color:#FF4500">)</span><span style="color:#6B8E23">%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Comienza a iterar sobre la tabla <tt>item_valor</tt> y, para cada Ítem de la Factura, imprime la concatenación de los textos:
 +
::- 6 caracteres (completados a izquierda con espacios) de la Cantidad convertida a texto.
 +
::- espacio en blanco
 +
::- 23 caracteres (completados a derecha con espacios) del Nombre Corto del Producto.
 +
::- espacio en blanco
 +
::- 12 caracteres (completados a izquierda con espacios) del Precio Unitario convertido a texto.
 +
::- espacio en blanco
 +
::- 12 caracteres (completados a izquierda con espacios) del Total convertido a texto.
 +
::- 'Descuento '
 +
::- 12 caracteres (completados a izquierda con espacios) del Descuento General convertido a texto.
 +
::- 'O. Social '
 +
::- 12 caraceteres (completados a izquierda con espacios) de la suma de los precios Unitarios de los Ítems de la Receta convertida a texto.
 +
 
 +
 
 +
21) <span style="color:#0000FF">\u0012</span><nowiki>------------------------------------------</nowiki>
 +
 
 +
:DC2 = cancela el modo condensado;
 +
:Imprime el texto '------------------------------------------'.
 +
 
 +
 
 +
22) <span style="color:#0000FF">\u0012\u001BE</span> TOTAL <span style="color:#6B8E23"><nowiki><%=format:lpad(format:string(</nowiki></span><span style="color:#800080"><nowiki>(valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto)</nowiki></span><span style="color:#6B8E23">)</span>,12<span style="color:#6B8E23">)%></span><span style="color:#0000FF">\u001BF</span>
 +
 
 +
:DC2 = cancela modo condensado;
 +
:ESC SO = selecciona expandido por una línea;
 +
:Imprime el texto 'TOTAL ';
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Imprime 12 caracteres del Monto convertido a texto del subTipoValorConcepto tipo Total Neto de la Factura,
 +
::si tiene más de 12 caracteres: los corta,
 +
::si tiene menos: completa a izquierda con espacios;
 +
:ESC SI = selecciona modo condensado.
 +
 
 +
 
 +
23) <span style="color:#0000FF">\u000F</span>OBRAS SOCIALES <span style="color:#6B8E23"><nowiki><%@format:lpad(format:string(</nowiki></span><span style="color:#800080"><nowiki>(operacionesValor[valor/tipoValor/id=2]/valor/montoPrincipal)</nowiki></span><span style="color:#6B8E23">)</span>,10<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Imprime el texto 'OBRAS SOCIALES ';
 +
:Busca en la tabla <tt>operacion</tt> la Receta;
 +
:Imprime 10 caracteres del Monto convertido a texto del subTipoValor Concepto Principal de la Receta,
 +
::si tiene más de 10 caracteres: los corta,
 +
::si tiene menos: completa a izquierda con espacios.
 +
 
 +
 
 +
24) <span style="color:#0000FF">\u000F</span>CUENTA CORRIENTE <span style="color:#6B8E23"><nowiki><%@format:lpad(format:string(</nowiki></span><span style="color:#800080"><nowiki>(operacionesValor[valor/tipoValor/id=22]/valor/montoPrincipal)</nowiki></span><span style="color:#6B8E23">)</span>,10<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Imprime el texto 'CUENTA CORRIENTE ';
 +
:Busca en la tabla <tt>operacion</tt> la Cuenta Corriente;
 +
:Imprime 10 caracteres del Monto convertido a texto del subTipoValor Concepto Principal de la Cuenta Corriente,
 +
::si tiene más de 10 caracteres: los corta,
 +
::si tiene menos: completa a izquierda con espacios.
 +
 
 +
 
 +
25) <span style="color:#0000FF">\u000F</span>CUOTA CUENTA CORRIENTE <span style="color:#6B8E23"><nowiki><%@format:lpad(format:string(</nowiki></span><span style="color:#800080"><nowiki>(operacionesValor[valor/tipoValor/id=21]/valor/montoPrincipal)</nowiki></span><span style="color:#6B8E23">)</span>,10<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Imprime el texto 'CUOTA CUENTA CORRIENTE ';
 +
:Busca en la tabla <tt>operacion</tt> la Cuota de Cuenta Corriente;
 +
:Imprime 10 caracteres del Monto convertido a texto del subTipoValor Concepto Principal de la Cuota de Cuenta Corriente,
 +
::si tiene más de 10 caracteres: los corta,
 +
::si tiene menos: completa a izquierda con espacios.
 +
 
 +
 
 +
26) <span style="color:#0000FF">\u000F</span><span style="color:#6B8E23"><nowiki><%@</nowiki></span><span style="color:#FF4500">concat(</span><span style="color:#6B8E23">format:rpad(</span><span style="color:#800080"><nowiki>(operacionesValor[valor/tipoValor/id=9]/valor/entidadSaldable/nombre)</nowiki></span>,33<span style="color:#6B8E23">)</span>,<span style="color:#6B8E23">format:lpad(format:string(</span><span style="color:#800080"><nowiki>(operacionesValor[valor/tipoValor/id=9]/valor/montoPrincipal)</nowiki></span><span style="color:#6B8E23">)</span>,10<span style="color:#6B8E23">)</span><span style="color:#FF4500">)</span><span style="color:#6B8E23">%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Busca en la tabla <tt>operacion</tt> la Cuota de Tarjeta;
 +
:Imprime la concatenación de los textos:
 +
::- 33 caracteres (completados a derecha con espacios) del Nombre de la Entidad Saldable de la Cuota de Tarjeta.
 +
::- 10 caracteres (completados a izquierda con espacios) del Monto convertido a texto del subTipoValorConcepto Principal de la Cuota de Tarjeta.
 +
 
 +
 
 +
27) <span style="color:#0000FF">\u000F</span>CHEQUE TERCEROS <span style="color:#6B8E23"><nowiki><%@format:lpad(format:string(</nowiki></span><span style="color:#800080"><nowiki>(operacionesValor[valor/tipoValor/id=5]/valor/montoPrincipal)</nowiki></span><span style="color:#6B8E23">)</span>,10<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Imprime el texto 'CHEQUE TERCEROS ';
 +
:Busca en la tabla <tt>operacion</tt> el Cheque de Terceros;
 +
:Imprime 10 caracteres del Monto convertido a texto del subTipoValor Concepto Principal del Cheque de Terceros,
 +
::si tiene más de 10 caracteres: los corta,
 +
::si tiene menos: completa a izquierda con espacios.
 +
 
 +
 
 +
28) <span style="color:#0000FF">\u000F</span>EFECTIVO <span style="color:#6B8E23"><nowiki><%@format:lpad(format:string(</nowiki></span><span style="color:#800080"><nowiki>(operacionesValor[valor/tipoValor/id=3]/valor/montoPrincipal)</nowiki></span><span style="color:#6B8E23">)</span>,10<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Imprime el texto 'EFECTIVO ';
 +
Busca en la tabla <tt>operacion</tt> el Billete;
 +
:Imprime 10 caracteres del Monto convertido a texto del subTipoValor Concepto Principal del Billete,
 +
::si tiene más de 10 caracteres: los corta,
 +
::si tiene menos: completa a izquierda con espacios.
 +
 
 +
 
 +
29) <span style="color:#0000FF">\u0012</span><nowiki>------------------------------------------</nowiki>
 +
 
 +
:DC2 = cancela el modo condensado;
 +
:Imprime el texto '------------------------------------------'.
 +
 
 +
 
 +
30) <span style="color:#0000FF">\u000F</span>Exento : <span style="color:#6B8E23"><nowiki><%</nowiki><nowiki>=</nowiki></span>concat(<span style="color:#6B8E23">format:lpad(format:string(</span><span style="color:#800080"><nowiki>(valor/valoresConcepto[subTipoValorCpto/concepto/id=503 and subTipoValorCpto/visiblePos=1]/monto)</nowiki></span><span style="color:#6B8E23">)</span>,10<span style="color:#6B8E23">)</span>,' Gravado: ',<span style="color:#6B8E23">format:lpad(format:string(</span><span style="color:#800080"><nowiki>(valor/valoresConcepto[subTipoValorCpto/concepto/id=541]/monto)</nowiki></span><span style="color:#6B8E23">)</span>,10<span style="color:#6B8E23">)</span>)<span style="color:#6B8E23">%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Imprime el texto 'Exento : ';
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Imprime la concatenación de los textos:
 +
::- 10 caracteres (completados a izquierda con espacios) del Monto convertido a texto del subTipoValorConcepto Visible en T&S de tipo Total Bruto No Gravado.
 +
::- ' Gravado: '
 +
::- 10 caracteres (completados a izquierda con espacios) del Monto convertido a texto del subTipoValorConcepto de tipo Total Bruto Gravado POS.
 +
 
 +
 
 +
31) <span style="color:#0000FF">\u000F</span>Vendedor : <span style="color:#6B8E23"><nowiki><%=format:rpad(</nowiki></span><span style="color:#800080">(valor/objUsuarioCreacion/alias)</span>,30<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Imprime el texto 'Vendedor : ';
 +
:Busca en la tabla <tt>operacion_valor</tt> la Factura;
 +
:Imprime 30 caracteres del Alias del Usuario Creación de la Factura,
 +
::si tiene más de 30 caracteres: los corta,
 +
::si tiene menos: completa a derecha con espacios.
 +
 
 +
 
 +
32) <span style="color:#0000FF">\u000F</span>Puesto : <span style="color:#6B8E23"><nowiki><%=format:rpad(</nowiki></span><span style="color:#800080">(operacion/puestoVenta/nombre)</span>,30<span style="color:#6B8E23">)%></span>
 +
 
 +
:SI = selecciona modo condensado;
 +
:Imprime el texto 'Puesto : ';
 +
:Busca en la tabla <tt>operacion_valor</tt> la operación de Venta;
 +
:Imprime 30 caracteres del Nombre del Puesto de Venta,
 +
::si tiene más de 30 caracteres: los corta,
 +
::si tiene menos: completa a derecha con espacios.
 +
 
 +
 
 +
33) <span style="color:#0000FF">\u0012</span><nowiki>------------------------------------------</nowiki>
 +
 
 +
:DC2 = cancela el modo condensado;
 +
:Imprime el texto '------------------------------------------'.
 +
 
 +
 
 +
34) <span style="color:#0000FF">\u000F</span>(comprobante sin valor fiscal)
 +
 
 +
:DC2 = cancela el modo condensado;
 +
:Imprime el texto '(comprobante sin valor fiscal)'.
 +
 
 +
 
 +
35) <span style="color:#0000FF">\u001Bw</span>
 +
 
 +
:ESC 119 = corte total.

Revisión actual del 16:59 22 feb 2012

Funciones propias

  • / = imprime línea en blanco.


  • <%= --------- %>
-va a buscar a la tabla operacion_valor.


  • <%@ --------- %>
-va a buscar a la tabla operacion.


  • <%# --------- %>
-va a iterar sobre la tabla item_valor.


  • format: lpad / rpad (texto a imprimir, longitud a rellenar, caracter de relleno)
rellena a izquierda / derecha.
-si la longitud a rellenar es menor que la longitud del texto a imprimir, entonces corta el texto.
-si no se especifica ningún caracter de relleno, entonces completa con espacios.


  • format: longDate (fecha)
-devuelve la fecha en el formato longDate definido en application.


  • format: string (número')
-convierte el número en string.


Funciones de jxpath

  • string concat (string, string, string, ...)
-devuelve la concatenación de sus argumentos.


  • number sum (node-set)
-devuelve la suma, para cada nodo del set de nodos del argumento, del resultado de convertir los valores string del nodo a números.


Métodos

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 Letra <%= operacion_valor valor/codificacion
Producto Nombre <%# item_valor producto/nombreCorto
Producto Descuento <%# item_valor descuentoGeneral
Receta O. Social <%# item_valor sum(itemsReceta/precioUnitario)
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


Caracteres

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


Ejemplo Modelo

Hagamos un seguimiento, línea a línea, de la plantilla Factura Bematech MP4000 TH (45) cargada en zWeb:


1) \u001B@\u001Bt2\u001Bl\u0001

ESC @ = inicializa la impresora;
ESC t 2 = selecciona la página de código 850;
ESC l 1 = programa el margen iazquierdo para la columna 1.


2) \u000E<%=format:rpad((valor/nodoCreacion/razonSocial),19)%>

SO = selecciona expandido por una línea;
Busca en la tabla operacion_valor la Factura;
Imprime 19 caracteres de la Razón Social del Nodo Creación de la Factura,
si tiene más de 19 caracteres: los corta,
si tiene menos: completa a derecha con espacios.


3) \u0014\u000F<%=format:rpad((valor/nodoCreacion/razonSocialLinea2),42)%>

DC4 = cancela modo expandido de una línea;

SI = selecciona modo condensado;
Busca en la tabla operacion_valor la Factura;
Imprime 42 caracteres de la Razón Social 2a línea del Nodo Creación de la Factura,
si tiene más de 42 caracteres: los corta,
si tiene menos: completa a derecha con espacios.


4) \u000F<%=format:rpad((valor/nodoCreacion/direcciones[1]),42)%>

SI = selecciona modo condesado;
Busca en la tabla operacion_valor la Factura;
Imprime 42 caracteres de la 1er Dirección del Nodo Creación de la Factura,
si tiene más de 42 caracteres: los corta,
si tiene menos: completa a derecha con espacios.


5) \u000FTel.: <%=format:rpad((valor/nodoCreacion/telefonosConcatenados),42)%>

SI = selecciona modo condensado;
Busca en la tabla operacion_valor la Factura;
Imprime 42 caracteres con los Teléfonos del Nodo Creación de la Factura,
si ocupan más de 42 caracteres: los corta,
si ocupan menos: completa a derecha con espacios.


6) \u000FC.U.I.T. : <%=format:rpad((valor/nodoCreacion/cuit),30)%>

SI = selecciona modo condensado;
Imprime el texto 'C.U.I.T. : ';
Busca en la tabla operacion_valor la Factura;
Imprime 30 caracteres del CUIT del Nodo Creación de la Factura,
si tiene más de 30 caracteres: los corta,
si tiene menos: completa a derecha con espacios.


7) \u000FI.V.A. : <%=format:rpad((valor/nodoCreacion/objSituacionIva/nombre),30)%>

SI = selecciona modo condensado;
Imprime el texto 'I.V.A. : ';
Busca en la tabla operacion_valor la Factura;
Imprime 30 caracteres del nombre de la Situación de IVA del Nodo Creación de la Factura,
si tiene más de 30 caracteres: los corta,
si tiene menos: completa a derecha con espacios.


8) \u000FI.Br. : <%=format:rpad((valor/nodoCreacion/ingresosBrutos),30)%>

SI = selecciona modo condensado;
Imprime el texto 'I.Br. : ';
Busca en la tabla operacion_valor la Factura;
Imprime 30 caracteres del nombre del nro. de Ingresos Brutos del Nodo Creación de la Factura,
si tiene más de 30 caracteres: los corta,
si tiene menos: completa a derecha con espacios.


9) /

Imprime una línea en blanco.


10) \u000FCliente : <%=format:rpad((valor/entidad/nombre),30)%>

SI = selecciona modo condensado;
Imprime el texto 'Cliente : ';
Busca en la tabla operacion_valor la Factura;
Imprime 30 caracteres del Nombre del Cliente asociado a la Factura,
si tiene más de 30 caracteres: los corta,
si tiene menos: completa a derecha con espacios.


11) \u000F<%=format:rpad((valor/entidad/apellido),30)%>

SI = selecciona modo condensado;
Busca en la tabla operacion_valor la Factura;
Imprime 30 caracteres del Apellido del Cliente asociado a la Factura,
si tiene más de 30 caracteres: los corta,
si tiene menos: completa a derecha con espacios.


12) \u000FDireccion: <%=format:rpad((valor/entidad/direcciones[1]),30)%>

SI = selecciona modo condensado;
Imprime el texto 'Direccion: ';
Busca en la tabla operacion_valor la Factura;
Imprime 30 caracteres de la 1er Dirección del Cliente asociado a la Factura,
si tiene más de 30 caracteres: los corta,
si tiene menos: completa a derecha con espacios.


13) \u000FTelefono.: <%=format:rpad((valor/entidad/telefonosConcatenados)</span<,30)%>

SI = selecciona modo condensado;
Busca en la tabla operacion_valor la Factura;
Imprime 30 caracteres con los Teléfonos del Cliente asociado la Factura,
si ocupan más de 30 caracteres: los corta,
si ocupan menos: completa a derecha con espacios.


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),'>')%>

SI = selecciona modo condensado;
Busca en la tabla operacion la Receta;
Imprime la concatenación de los textos:
- 'Afiliado: '
- 20 caracteres del Nombre del Afiliado de la Receta,
si tiene más de 20 caracteres: los corta,
si tiene menos: completa a derecha con espacios.
- 'Nro. '
- 12 caracteres del Número del Afiliado de la Receta,
si tiene más de 12 caracteres: los corta,
si tiene menos: completa a izquierda con espacios.


15) \u000FFecha : <%=format:rpad(format:longDate((valor/fechaCreacion)),20)%>

SI = selecciona modo condensado;
Busca en la tabla operacion_valor la Factura;
Convierte la Fecha Creación de la Factura a longDate;
Imprime 20 caracteres de la fecha obtenida,
si tiene más de 20 caracteres: los corta,
si tiene menos: completa a derecha con espacios.


16) \u0012\u001BE FACTURA <%=format:rpad((valor/letraFactura),1)%> - <%=format:rpad((valor/codificacion),13)%>\u001BF

DC2 = cancela modo condensado;
ESC SO = selecciona expandido por una línea;
Imprime el texto ' FACTURA ';
Busca en la tabla operacion_valor la Factura;
Imprime la Letra de la Factura (1 caracter);
Imprime el texto ' - '
Busca en la tabla operacion_valor la Factura;
Imprime 13 caracteres del Número de la Factura,
si tiene más de 13 caracteres: los corta,
si tiene menos: completa a derecha con espacios.


17) \u0012------------------------------------------

DC2 = cancela el modo condensado;
Imprime el texto '------------------------------------------'.


18) \u000F Cant Descripcion P Unit. P.Total

SI = selecciona modo condensado;
Imprime el texto 'Cant Descripcion P Unit. P.Total'.


19) \u0012------------------------------------------

DC2 = cancela el modo condensado;
Imprime el texto '------------------------------------------'.


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),'>')%>

SI = selecciona modo condensado;
Comienza a iterar sobre la tabla item_valor y, para cada Ítem de la Factura, imprime la concatenación de los textos:
- 6 caracteres (completados a izquierda con espacios) de la Cantidad convertida a texto.
- espacio en blanco
- 23 caracteres (completados a derecha con espacios) del Nombre Corto del Producto.
- espacio en blanco
- 12 caracteres (completados a izquierda con espacios) del Precio Unitario convertido a texto.
- espacio en blanco
- 12 caracteres (completados a izquierda con espacios) del Total convertido a texto.
- 'Descuento '
- 12 caracteres (completados a izquierda con espacios) del Descuento General convertido a texto.
- 'O. Social '
- 12 caraceteres (completados a izquierda con espacios) de la suma de los precios Unitarios de los Ítems de la Receta convertida a texto.


21) \u0012------------------------------------------

DC2 = cancela el modo condensado;
Imprime el texto '------------------------------------------'.


22) \u0012\u001BE TOTAL <%=format:lpad(format:string((valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto)),12)%>\u001BF

DC2 = cancela modo condensado;
ESC SO = selecciona expandido por una línea;
Imprime el texto 'TOTAL ';
Busca en la tabla operacion_valor la Factura;
Imprime 12 caracteres del Monto convertido a texto del subTipoValorConcepto tipo Total Neto de la Factura,
si tiene más de 12 caracteres: los corta,
si tiene menos: completa a izquierda con espacios;
ESC SI = selecciona modo condensado.


23) \u000FOBRAS SOCIALES <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=2]/valor/montoPrincipal)),10)%>

SI = selecciona modo condensado;
Imprime el texto 'OBRAS SOCIALES ';
Busca en la tabla operacion la Receta;
Imprime 10 caracteres del Monto convertido a texto del subTipoValor Concepto Principal de la Receta,
si tiene más de 10 caracteres: los corta,
si tiene menos: completa a izquierda con espacios.


24) \u000FCUENTA CORRIENTE <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=22]/valor/montoPrincipal)),10)%>

SI = selecciona modo condensado;
Imprime el texto 'CUENTA CORRIENTE ';
Busca en la tabla operacion la Cuenta Corriente;
Imprime 10 caracteres del Monto convertido a texto del subTipoValor Concepto Principal de la Cuenta Corriente,
si tiene más de 10 caracteres: los corta,
si tiene menos: completa a izquierda con espacios.


25) \u000FCUOTA CUENTA CORRIENTE <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=21]/valor/montoPrincipal)),10)%>

SI = selecciona modo condensado;
Imprime el texto 'CUOTA CUENTA CORRIENTE ';
Busca en la tabla operacion la Cuota de Cuenta Corriente;
Imprime 10 caracteres del Monto convertido a texto del subTipoValor Concepto Principal de la Cuota de Cuenta Corriente,
si tiene más de 10 caracteres: los corta,
si tiene menos: completa a izquierda con espacios.


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))%>

SI = selecciona modo condensado;
Busca en la tabla operacion la Cuota de Tarjeta;
Imprime la concatenación de los textos:
- 33 caracteres (completados a derecha con espacios) del Nombre de la Entidad Saldable de la Cuota de Tarjeta.
- 10 caracteres (completados a izquierda con espacios) del Monto convertido a texto del subTipoValorConcepto Principal de la Cuota de Tarjeta.


27) \u000FCHEQUE TERCEROS <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=5]/valor/montoPrincipal)),10)%>

SI = selecciona modo condensado;
Imprime el texto 'CHEQUE TERCEROS ';
Busca en la tabla operacion el Cheque de Terceros;
Imprime 10 caracteres del Monto convertido a texto del subTipoValor Concepto Principal del Cheque de Terceros,
si tiene más de 10 caracteres: los corta,
si tiene menos: completa a izquierda con espacios.


28) \u000FEFECTIVO <%@format:lpad(format:string((operacionesValor[valor/tipoValor/id=3]/valor/montoPrincipal)),10)%>

SI = selecciona modo condensado;
Imprime el texto 'EFECTIVO ';

Busca en la tabla operacion el Billete;

Imprime 10 caracteres del Monto convertido a texto del subTipoValor Concepto Principal del Billete,
si tiene más de 10 caracteres: los corta,
si tiene menos: completa a izquierda con espacios.


29) \u0012------------------------------------------

DC2 = cancela el modo condensado;
Imprime el texto '------------------------------------------'.


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))%>

SI = selecciona modo condensado;
Imprime el texto 'Exento : ';
Busca en la tabla operacion_valor la Factura;
Imprime la concatenación de los textos:
- 10 caracteres (completados a izquierda con espacios) del Monto convertido a texto del subTipoValorConcepto Visible en T&S de tipo Total Bruto No Gravado.
- ' Gravado: '
- 10 caracteres (completados a izquierda con espacios) del Monto convertido a texto del subTipoValorConcepto de tipo Total Bruto Gravado POS.


31) \u000FVendedor : <%=format:rpad((valor/objUsuarioCreacion/alias),30)%>

SI = selecciona modo condensado;
Imprime el texto 'Vendedor : ';
Busca en la tabla operacion_valor la Factura;
Imprime 30 caracteres del Alias del Usuario Creación de la Factura,
si tiene más de 30 caracteres: los corta,
si tiene menos: completa a derecha con espacios.


32) \u000FPuesto : <%=format:rpad((operacion/puestoVenta/nombre),30)%>

SI = selecciona modo condensado;
Imprime el texto 'Puesto : ';
Busca en la tabla operacion_valor la operación de Venta;
Imprime 30 caracteres del Nombre del Puesto de Venta,
si tiene más de 30 caracteres: los corta,
si tiene menos: completa a derecha con espacios.


33) \u0012------------------------------------------

DC2 = cancela el modo condensado;
Imprime el texto '------------------------------------------'.


34) \u000F(comprobante sin valor fiscal)

DC2 = cancela el modo condensado;
Imprime el texto '(comprobante sin valor fiscal)'.


35) \u001Bw

ESC 119 = corte total.