new user message
Funciones propias[editar]
- / = imprime línea en blanco.
- OperacionValor: Devuelve el objeto OperacionValor a imprimir (tabla operacion_valor).
- operacionesValor: Itera sobre la colección OperacionValor.operacion.operacionesValor devolviendo objetos OperacionValor (tabla operacion_valor).
- Operacion: Devuelve el objeto OperacionValor.operacion, clase Operacion (tabla operacion).
- itemsValor: Itera sobre la colección OperacionValor.valor.itemsValor devolviendo objetos ItemValor/ItemFactura/ItemConvenio/etc (tabla item_valor).
- valoresConcepto: Itera sobre la colección OperacionValor.valor.valoresConcepto devolviendo objetos ValorConcepto (tabla valor_conceptos).
Itera sobre la colección de Prototipos de los valores o de los items.
- comentarios: Los datos incluídos sirven para orientar al usuario de la plantilla, pero no salen impresos.
- format: lpad / rpad / cpad (texto a imprimir, longitud a rellenar, [caracter de relleno])
- rellena a izquierda / derecha / centra texto.
- -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: alltrim (texto a imprimir)
- -devuelve el texto indicado, borrando los espacios en blanco a izquierda y a derecha.
- -devuelve la fecha en el formato longDate definido en application.
- format: shortDate (fecha)
- -devuelve la fecha en el formato shortDate definido en application.
- format: longDateTime (fecha)
- -devuelve la fecha y la hora en el formato dd/mm/yyyy hh:mm:ss, definido en application.
- -convierte cualquier tipo de dato en string.
- -devuelve la parte entera del número ingresado, convertido en string.
- -devuelve la longitud del dato ingresado, convertido en string.
- -devuelve el código ASCii del número ingresado, convertido en string.
- format: stringNoVacio (número)
- -devuelve el número ingresado, convertido en string.
- -si el valor es nulo, devuelve el texto 0,00.
- format: stringNoVacioDto (número)
- -devuelve el número ingresado, convertido en string.
- -si el valor es nulo, devuelve el texto -0,00.
- format: leftpad / rightpad / centerpad (dato a imprimir)
- -rellena por izquierda / derecha / centra el texto del dato ingresado,
- siempre con espacios en blanco,
- hasta completar la cantidad de caracteres indicada como Ancho Máximo en el motor de impresión.
- format: leftpad / rightpad / centerpad (título, dato)
- -si el valor de dato es nulo,
- -no imprime texto alguno.
- -si el valor de dato no es nulo,
- -concatena los valores título y dato,
- -rellena por izquierda / derecha / centra el texto completo,
- siempre con espacios en blanco,
- hasta completar la cantidad de caracteres indicada como Ancho Máximo en el motor de impresión.
- format: leftpad / rightpad (título, dato, número)
- -si el valor de dato es nulo,
- -no imprime texto alguno.
- -si el valor de dato no es nulo,
- -concatena los valores título y dato,
- -rellena por izquierda / derecha el texto completo,
- siempre con espacios en blanco,
- hasta completar la cantidad de caracteres indicada como Ancho Máximo en el motor de impresión menos el valor indicado en el parámetro número.
- format: concatenar (número de campo, string de datos serializados)
- -concatena los valores del string de datos separados por |,
- ajusta la longitud del campo indicado por el primer parámetro,
- hasta completar la cantidad de caracteres indicada como Ancho Máximo en el motor de impresión.
- -por ejemplo:
- format:concatenar(2, " 1|ADALAT 30| 44,00| 44,00")
- format: enlazar (string de 2 datos serializados)
- -concatena los 2 valores del string de datos separados por |,
- ajusta la longitud del 1er. campo hasta completar la cantidad de caracteres
- indicada como Ancho Máximo en el motor de impresión.
- -por ejemplo:
- format:enlazar("A c/Afil. d/aplicar Cob. 1a. :| 40,00")
- -imprime una línea separadora formada por caracteres --------------
- hasta completar la cantidad de caracteres indicada como Ancho Máximo en el motor de impresión.
- -imprime una línea separadora condicional,
- -formada por caracteres ------------
- hasta completar la cantidad de caracteres indicada como Ancho Máximo en el motor de impresión.
- -la condición viene dada por el valor contenido en dato,
- si es nulo, el separador no se imprime.
- -por ejemplo:
- <%@format:separador(operacionesValor[valor/tipoValor/id=1]/valor/entidad/nombre)%>
- si existen bonos, imprime el separador --------------------------
- format: separador (dato, título)
- -imprime una línea separadora condicional,
- -formada por caracteres ------------ con el valor indicado en título, centrado
- hasta completar la cantidad de caracteres indicada como Ancho Máximo en el motor de impresión.
- -la condición viene dada por el valor contenido en dato,
- si es nulo, el separador no se imprime.
- -por ejemplo:
- <%@format:separador(operacionesValor[valor/tipoValor/id=1]/valor/entidad/nombre,'- BONO -')%>
- si existen bonos, imprime el separador ---------- BONO ----------
- format: separador (dato, título, ancho texto)
- -imprime una línea separadora condicional,
- -formada por caracteres ------------ con el valor indicado en título, centrado
- hasta completar la cantidad de caracteres indicada por ancho texto.
- -la condición viene dada por el valor contenido en dato,
- si es nulo, el separador no se imprime.
- -por ejemplo:
- <%@format:separador(operacionesValor[valor/tipoValor/id=2]/valor/entidad/nombre,'- RECETA -',24)%>
- si existen recetas, imprime el separador -------- RECETA --------
- format: separadorDoble ()
- -imprime una línea separadora formada por caracteres '============
- hasta completar la cantidad de caracteres indicada como Ancho Máximo en el motor de impresión.
- -si el valor del dato recibido no es nulo, imprime su valor string
- -si el valor del dato recibido es nulo, imprime un string vacío: ""
- format: cgoAfilCob (total, montoCobertura)
- -si existe la Cobertura (montoCobertura > 0),
- devuelve el importe que resta para el Afiliado: total - montoCobertura
- -si no existe la Cobertura (montoCobertura = 0),
- devuelve cero, con lo que no se imprime ningún dato.
- -avanza la posición a imprimir hasta la línea indicada por el parámetro.
Nuevas funciones definidas (Plantillas v4)[editar]
- format: stringtransf (objeto1,objeto2,objeto3)
- -Devuelve el objeto1, donde los objeto2, son reemplazados por objeto3.
- Método replace() de StringUtils.
- format: obtcodigo (objeto)
- -Se formatea el objeto (codificación del comprobante 0001-0001234)
- para imprimir como Código de Barras.
- format: obtcodigosinguion (objeto)
- -Se formatea el objeto (codificación del comprobante 0001-0001234)
- para imprimir como Código de Barras, sin el guión separador.
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: <<%=....%>>
Modificaciones diciembre 2019[editar]
- -se controla que los datos recibidos por los métodos no sean nulos.
- -se crean nuevos métodos disponibles para plantillas.
- format:concatenar (string de datos serializados)
- -concatena los valores del string de datos separados por |, tomados de a 3,
- ajusta las longitudes de los datos, ajustados a derecha o a izquierda, hasta el valor indicado:
- de la forma "|ajuste1<d,i>|long.1|campo 1|ajuste2<d,i>|long.2|campo 2 ..."
- -por ejemplo:
- format:concatenar("d|20|ADALAT 30|i|12|44,00|i|12|44,00")
- devuelve "ADALAT 30__________________44,00_______44,00"
- format:enlazar (string valor1,string valor2)
- -Si los valores NO son nulos, devuelve la concatenación de ambos parámetros y
- lo ajusta al ancho de la página indicada en el motor de impresión como Ancho Máximo.
- -por ejemplo:
- format:enlazar("A c/Afil. d/aplicar Cob. 1ra.: "," 40,00")
- format:lefttrim (Object value)
- -Si el valor NO es nulo, recorta los espacios en blanco de la izquierda.
- -por ejemplo:
- format:lefttrim(" A cargo Afiliado")
- devuelve "A cargo Afiliado"
- format:righttrim (Object value)
- -Si el valor NO es nulo, recorta los espacios en blanco de la derecha.
- -por ejemplo:
- format:lefttrim("A cargo Afiliado ")
- devuelve "A cargo Afiliado"
- format:datoCondicional (Object condicion,String dato)
- -Si se cumple condicion, devuelve el dato,
- sino un string vacío
- -por ejemplo:
- format:datoCondicional((valor/numeroAutorizacion="4"),'A.')
- devuelve "A." o ""
- format:obtTipoComprobante (Object tipoOperacion)
- -Dado el tipo de operación, devuelve un string con el respectivo tipo de comprobante
- -por ejemplo:
- format:obtTipoComprobante(obtTipoOperacion())
- devuelve "FACTURA", "TICKET", etc.
- Métodos y valores indicados con el sufijo SinIvaPlantilla
- -estos métodos y valores de ítem_valor <%# poseen la propiedad de que:
- si el comprobante discrimina IVA (Factura o N/C "A"), traen el valor sin el IVA incluído.
- si NO discrimina IVA, devuelven el valor total, con el impuesto acumulado.
- -obtTotalCubierto1raCoberturaSinIvaPlantilla()
- -obtTotalCubierto2daCoberturaSinIvaPlantilla()
- -precioUnitarioSinIvaPlantilla
- -totalSinIvaPlantilla
- -descuentoSinIvaPlantilla
- -descuentoAfiliadoSinIVAPlantilla
- -descuentoConvenioSinIVAPlantilla
- -recargoConvenioSinIVAPlantilla
- -descuentoAfiliadoTotalSinIVAPlantilla
Nuevos métodos enero 2020[editar]
- -nuevos métodos disponibles para plantillas.
- format:reemplazarParametro((String linea,String[] args)
- -reemplaza los parámetros de linea por los métodos indicados en args
- el render(), a partir de la versión 4, puede recibir una lista de parámetros
- -que se indican desde el programa
- args[1] = "separador()";
- args[2] = "cortepapel()";
- - y en la plantilla:
- <%=format:parametro[2]%> se reemplaza por: <%=format:separador()%>
- format:abonaCon((Object montoEfectivo, Object abonaCon, int n)
- -Devuelve el primer parámetro mayor que cero, formateado a n decimales
- format:vuelto((Object montoEfectivo, Object abonaCon, int n)
- -Devuelve (abonaCon-montoEfectivo) o un cero, formateado a n decimales
- format:coalesce((Object value1, Object value2)
- -Devuelve como respuesta el primer parámetro NO nulo
- format:coalesceNum((Object value1, Object value2)
- -Devuelve como respuesta el primer parámetro NO nulo, en formato numérico
- format:bigdecimal((Object value)
- -Devuelve el BigDecimal correspondiente al parámetro indicado, contemplando iterables
- format:esNulo((Object value)
- -Similar al método isNull(), contemplando iterables
- format:concatNoNull((Object value1, Object value2)
- -Si ambos parámetros son NO nulos, devuelve un String concatenándolos
- format:unirtodo((String titulo, String subtitulo, String dato)
- format:unirtodo((String titulo, String subtitulo, String dato, int ancho)
- -Si los valores NO son nulos, devuelve la concatenación de los parámetros
- Ajusta titulo + dato al ancho indicado o al del motor
- format:unirtodo((String dato1, String dato2)
- -Devuelve la concatenación incondicional de los ambos parámetros
- format:alignRight((String titulo, String dato)
- format:alignRight((String titulo, String dato, int ancho)
- -Si los valores NO son nulos, devuelve la concatenación de los parámetros
- Imprime titulo y ajusta dato a la derecha del ancho indicado o al del motor
- ej: alignRight("Total OSP", "50,12") => "Total OSP____________________50,12"
- format:alignRightDtoRgo((String titulo, String dato)
- -Actúa como alignRight(), pero si dato < 0, inserta un signo "-"
- format:alignRightDtoRgo((String template, String titulo, String dato)
- -Actúa como alignRightDtoRgo(), pero le agrega un template con términos de reemplazo
- de acuerdo al método reemplazarTexto() siguiente
- format:reemplazarTexto((String titulo, String template)
- -Devuelve un texto donde se reemplazó el titulo de acuerdo a lo indicado en el patrón template
- Ejemplo:
- titulo: String con textos a reemplazar = "RECARGO POR FORMA DE PAGO EFECTIVO POS"
- template: String con patrones de reemplazo = "DESC.||RECARGO|DIF.PRC.| POR|POR|FORMA||DE || PAGO|PAGO EN|POS||*|" separados por "|"
- reemplazarTexto(titulo, template) -> "DIF.PRC.POR PAGO EN EFECTIVO"
- format:stringData((Object value)
- -Devuelve el parámetro sin puntos "."
- Ejemplo: stringData("1.235.459,78") => "1235459,78"
- format:stringDataNoVacio((Object value)
- -Devuelve el parámetro sin puntos "."
- Si value es null, devuelve "0,00"
- format: noRepetir (Object nombre, int cantidadBase )
- -en ocasiones se recibe nombre o descripción de algún objeto repetido varias veces y se desea mostrar uno solo
- por ejemplo: Nombre del Cliente en la HOJA DE RUTA: PEREZ, JUANPEREZ, JUANPEREZ, JUANPEREZ, JUAN etc.
- - nombre es el dato a mostrar
- - cantidadBase es el número mínimo de caracteres a mostrar sin repetición: ej. 5
Métodos junio 2020[editar]
- -nuevos métodos disponibles para plantillas.
- format:avanzarLineas((Object value)
- -Se agrega la cantidad de líneas en blanco que indica el parámetro
- value, que debe ser un valor numérico
- del que se toma la parte entera.
- Espacio para los Troqueles en una Receta
- indica la cantidad de líneas con productos cubiertos en una receta
- en combinación con el anterior método, se utiliza para dejar los
- espacios suficientes para pegar los troqueles en el cupón receta
- <%=format:avanzarLineas(cantidadTroqueles*3)%>
- el 3 es un factor de multiplicación arbitrario
- indica la cantidad de líneas de productos de un comprobante de venta
- indica el total de productos de un comprobante de venta
Métodos marzo 2021[editar]
-nuevos métodos disponibles para plantillas.
- format: separador (dato, título, ancho texto)
- -imprime una línea separadora condicional,
- -formada por caracteres ------------ con el valor indicado en título, centrado
- hasta completar la cantidad de caracteres indicada por ancho texto.
- -la condición viene dada por el valor contenido en dato,
- si es nulo, el separador no se imprime.
- -por ejemplo:
- <%@format:separador(operacionesValor[valor/tipoValor/id=2]/valor/entidad/nombre,'- RECETA -',24)%>
- si existen recetas, imprime el separador -------- RECETA --------
- -devuelve la cantidad de caracteres del ancho de la página seteados en el motor.
- se utiliza como complemento de otros métodos para alinear las impresiones.
- -por ejemplo:
- <%@format:centerpad('--','- RECETA -',format:anchopagina())%>
- imprime el texto -------- RECETA --------, centrándolo al valor obtenido
- -devuelve la mitad de los de caracteres del ancho de la página seteados en el motor.
- se utiliza como complemento de otros métodos para alinear las impresiones de texto en doble ancho.
- -por ejemplo:
- <%@format:textodobleancho(format:separador(obtNombreObraSocial(),'- RECETA -',format:semianchopagina()))%>
- -si existe Obra Social, se imprime ---- RECETA ----, en letras de doble tamaño,
- -centrándolo a la mitad del ancho de la página.
- En las plantillas PDF se implementa el corte de papel:
- -ahora se permite el corte de la impresión del PDF en mitad de la plantilla,
- -tal como se produce en las impresoras térmicas o matriciales comunes.
- <%=format:cortepapel()%>
Métodos abril 2021 - (plantillas v4 y v5)[editar]
-métodos de caracter Original/Duplicado/etc. de la impresión de documentos.
- format:obtNumeroCopia(parametro[1])
- -registra el número de copia del documento impreso,
- dentro de la secuencia de copias indicadas al generarlo.
- -por ejemplo:
- <%=format:rightpad('COPIA NUMERO : ',format:obtNumeroCopia(parametro[1]))%>
- - COPIA NUMERO : 1
- - COPIA NUMERO : 2
- - COPIA NUMERO : 3
- format:obtCaracterCopia(parametro[1])
- -registra el carácter de original o copia del documento impreso,
- dentro de la secuencia de copias indicadas al generarlo.
- -por ejemplo:
- <%=format:rightpad('ES COMPROBANTE : ',format:obtCaracterCopia(parametro[1]))%>
- - ES COMPROBANTE : ORIGINAL
- - ES COMPROBANTE : DUPLICADO
- - ES COMPROBANTE : TRIPLICADO
- Imprimir si un documento es una COPIA
- -se pueden combinar métodos ya indicados de la siguiente forma:
- <%=format:datoCondicional(format:obtNumeroCopia(parametro[1])!="1",'ES COPIA')%>
- - si el documento NO es el original, se imprimirá
- - ES COPIA
- Descripción del nombre de Recargos en Tarjetas según el parámetro TEXTO_RECARGOS
- Métodos:
- <%&format:rightpad('Descripción p/Recargos v1: ',obtNombreDtoRgoTarjeta())%>
- <%&format:rightpad('Descripción p/Recargos v2: ',obtEntidadDtoRgoTarjeta())%>
- Se pueden combinar de la siguiente manera:
- <%&concat('? ',concat(obtNombreDtoRgoTarjeta(),' ',format:string(obtNombreFormaPagoTarjeta())),'?<',format:lpad(format:string(-obtDescuentoTarjeta()),9),'>?')%>
- -
- <%&concat('? ',concat(obtEntidadDtoRgoTarjeta(),' ',format:string(obtNombreFormaPagoTarjeta())),'?<',format:lpad(format:string(obtRecargoTarjeta()),9),'>?')%>
-métodos exclusivos para Recetas.
- Imprimir el Código de la Farmacia para la Obra Social.
- -se dispone de los siguientes formatos:
- <%=format:rightpad('Código en la OSP : ',operacionesValor[valor/tipoValor/id=2]/valor/codigoFarmaciaOS)%>
- <%=format:rightpad('Código s/Obra Social: ',obtCodigoFarmaciaOS())%>
- <%=format:rightpad('Código en la 1er OS : ',obtCodigoFarmacia1raOS())%>
- <%=format:rightpad('Código en la 2da OS : ',obtCodigoFarmacia2daOS())%>
- ...
- <%=format:rightpad('Código en la 7ma OS : ',obtCodigoFarmacia7maOS())%>
Funciones definidas para cada tipo de dispositivo (Plantillas v3)[editar]
Estos comandos actúan sólo si el dispositivo lo permite.
- -envía un comando de inicialización a la impresora que la configura a sus valores iniciales.
- -envía un comando de normalización de la letra, a sus valores iniciales.
- -imprime en negrita (o enfatizado) el valor string del dato recibido.
- vuelve a las condiciones iniciales al finalizar la línea.
- -imprime en cursiva (o en itálica) el valor string del dato recibido.
- vuelve a las condiciones iniciales al finalizar la línea.
- -imprime con letra subrayada el valor string del dato recibido.
- vuelve a las condiciones iniciales al finalizar la línea.
- -imprime con letra condensada el valor string del dato recibido.
- vuelve a las condiciones iniciales al finalizar la línea.
- -imprime con letra expandida a lo ancho el valor string del dato recibido.
- vuelve a las condiciones iniciales al finalizar la línea.
- -imprime con letra expandida en alto el valor string del dato recibido.
- vuelve a las condiciones iniciales al finalizar la línea.
- -envía un comando de corte parcial de la cinta de papel.
- -envía un comando de corte total de la cinta de papel.
- -envía los comandos de configuración previos para imprimir un código de barras.
- imprime el código de barras del valor del dato recibido.
- vuelve a las condiciones iniciales al finalizar la línea.
- Ejemplos para obtener el número de autorizacción de cada receta y coseguro.
<%=format:rightpad('AUTORIZACIO1: ',operacionesValor[valor/tipoValor/id=2 and valor/tipoReceta/id=1]/valor/numeroAutorizacion)%>
<%=format:rightpad('AUTORIZACIO2: ',operacionesValor[valor/tipoValor/id=2 and valor/tipoReceta/id=2]/valor/numeroAutorizacion)%>
<%=format:rightpad('AUTORIZACIO3: ',operacionesValor[valor/tipoValor/id=2 and valor/tipoReceta/id=3]/valor/numeroAutorizacion)%>
<%=format:rightpad('AUTORIZACIO4: ',operacionesValor[valor/tipoValor/id=2 and valor/tipoReceta/id=4]/valor/numeroAutorizacion)%>
Funciones de junio 2021 - (plantillas v5 - PDF)[editar]
- Métodos para la impresión de Códigos de Barra (1D)
- Se dispone de cinco tipos de códigos de barras:
- -Desde las plantillas se invocan con los siguientes métodos:
- .Code128
- <%@format:imprimircode128('1234567890')%>
- .Code39 Hoch'
- <%@format:imprimircode39h('1234567890')%>
- .Code39 Logitogo
- <%@format:imprimircode39l('1234567890')%>
- .BarCode font
- <%@format:imprimirbarcode('1234567890')%>
- .Code 3of9
- <%@format:imprimirfree3of9('1234567890')%>
- Se pueden modificar su alineación:
- -a la izquierda (por defecto)
- <%@format:imprimircode128('1234567890')%>
- -a la derecha
- <%@format:imprimircode128('1234567890','R')%>
- -centrado
- <%@format:imprimircode128('1234567890','C')%>
- -Ejemplos:
- Impresión centrada de los diferentes tipos de código de barra con el número de afiliado de una Receta:
- - <%@format:imprimircode128(format:string( obtNumeroAfiliado()), 'C' )%>
- - <%@format:imprimircode39h(format:string( obtNumeroAfiliado()), 'C' )%>
- - <%@format:imprimircode39l(format:string( obtNumeroAfiliado()), 'C' )%>
- - <%@format:imprimirbarcode(format:string( obtNumeroAfiliado()), 'C' )%>
- - <%@format:imprimirfree3of9(format:string( obtNumeroAfiliado(), 'C' )%>
- Selección del método para la impresión de Códigos de Barra (1D) por Parámetro del nodo
- <%@format:imprimirCodigoDeBarras('1234567890')%>
- <%@format:imprimirCodigoDeBarras('1234567890','R')%>
- <%@format:imprimirCodigoDeBarras('1234567890','L')%>
- -Según el parámetro: CODIGO_BARRA_PLANTILLA
- se selecciona la fuente del código de barra a imprimir y su alineación,
- de la forma: CODE39H,R
- que indica codificación CODE39 HOCH, alineado a la derecha 'R' (puede ser 'D')
- para el alineado a la izquierda se envía el parámetro 'L' (puede ser 'I')
- El código por defecto es CODE128,C
- Impresión de los Troqueles:
- <%#format:imprimirEAN13( obtCodigoBarraProducto() )%>
Más funciones de junio 2021 [editar]
- Métodos para el avance de la cinta de papel para pegar troqueles en las Recetas.
- -agregar 5cm de papel cada 4 Productos en las Recetas de Obra Social configuradas para tal fin.
- -<%=format:avanzarLineas(round(ceiling(cantidadProductos div 4 ) * espacioTroquel * lineasEnBlancoXcm * 5 ) )%>
- -donde:
- ceiling (cantidadProductos div 4 )
- es lo que hace que 1, 2, 3, ó 4 productos, devuelva 1 fila de troqueles.
- 5, 6, 7 u 8 productos, 2 filas
- y así.
- espacioTroquel representa la configuración de la Obra Social
- Si imprime, devuelve 1
- Si NO imprime, devuelve 0
- lineasEnBlancoXcm devuelve lo que indica el parámetro del nodo.
- Si no existe, devuelve el valor por defecto = 2.5
- ESPACIOS_EN_BLANCO_POR_CENTIMETRO es el parámetro.
- El 5 representan los 5cm que miden los troqueles.
Funciones de jxpath[editar]
- string concat (string, string, string, ...)
- -devuelve la concatenación de sus argumentos.
- -devuelve la suma, para cada nodo del set de nodos del argumento, del resultado de convertir los valores string del nodo a números.
Nuevo método para Plantillas v4
- -devuelve el valor absoluto de su argumento numérico.
objeto
|
atributo
|
función
|
tabla
|
método
|
nuevo método
|
Farmacia
|
Razón Social
|
<%=
|
operacion_valor
|
valor/nodoCreacion/razonSocial
|
obtRazonSocialFarmacia()
|
Farmacia
|
Razón Social 2
|
<%=
|
operacion_valor
|
valor/nodoCreacion/razonSocialLinea2
|
obtRazonSocialFarmaciaLinea2()
|
Farmacia
|
Dirección
|
<%=
|
operacion_valor
|
valor/nodoCreacion/direcciones[1]
|
obtDireccion1Farmacia()
|
Farmacia
|
Tel.
|
<%=
|
operacion_valor
|
valor/nodoCreacion/telefonosConcatenados
|
obtTelefonoFarmacia()
|
Farmacia
|
C.U.I.T.
|
<%=
|
operacion_valor
|
valor/nodoCreacion/cuit
|
obtCuitFarmacia()
|
Farmacia
|
I.V.A.
|
<%=
|
operacion_valor
|
valor/nodoCreacion/objSituacionIVA/nombre
|
obtSituacionIvaFarmacia()
|
Farmacia
|
I.Br.
|
<%=
|
operacion_valor
|
valor/nodoCreacion/ingresosBrutos
|
obtIngresosBrutosFarmacia()
|
Cliente
|
Nombre
|
<%=
|
operacion_valor
|
valor/entidad/nombre
|
obtNombreCliente()
|
Cliente
|
Apellido
|
<%=
|
operacion_valor
|
valor/entidad/apellido
|
obtApellidoCliente()
|
Cliente
|
Dirección
|
<%=
|
operacion_valor
|
valor/entidad/direcciones[1]
|
obtDireccion1Cliente()
|
Cliente
|
Entre Calles
|
<%=
|
operacion_valor
|
valor/entidad/entreCalle
|
obtEntreCallesCliente()
|
Cliente
|
Teléfono
|
<%=
|
operacion_valor
|
valor/entidad/telefonosConcatenados
|
obtTelefonoCliente()
|
Cliente
|
Observaciones del cliente
|
<%=
|
operacion_valor
|
valor/entidad/observacion
|
obtObservacionCliente()
|
Cliente
|
Observaciones del Nodo por entidad
|
<%=
|
operacion_valor
|
valor/entidad/observaciones
|
obtObservacionesCliente()
|
Cliente
|
Observaciones Nodo x Entidad Línea 1
|
<%=
|
operacion_valor
|
valor/entidad/observacionesCliente1raLinea
|
obtObservacionesCliente1raLinea()
|
Cliente
|
Observaciones Nodo x Entidad Línea 2
|
<%=
|
operacion_valor
|
valor/entidad/observacionesCliente2daLinea
|
obtObservacionesCliente2daLinea()
|
Cliente
|
Observaciones Nodo x Entidad Línea 3
|
<%=
|
operacion_valor
|
valor/entidad/observacionesCliente3raLinea
|
obtObservacionesCliente3raLinea()
|
Afiliado
|
Nombre
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado
|
obtNombreAfiliado()
|
Afiliado
|
Nro
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado
|
obtNumeroAfiliado()
|
Valor
|
Fecha
|
<%=
|
operacion_valor
|
valor/fechaCreacion
|
obtFechaCreacion()
|
Valor
|
Número
|
<%=
|
operacion_valor
|
valor/codificacion
|
obtNumeroComprobante()
|
Producto
|
Nombre
|
<%#
|
item_valor
|
producto/nombreCorto
|
obtNombreProducto()
|
Producto
|
Descuento de ítem
|
<%#
|
item_valor
|
descuento
|
* descuento *
|
Producto
|
Descuento Automático/Forzado
|
<%#
|
item_valor
|
descuentoAfiliado
|
* descuentoAfiliado *
|
Producto
|
Descuento General (manual)
|
<%#
|
item_valor
|
descuentoGeneral
|
* descuentoGeneral *
|
Receta
|
O. Social
|
<%#
|
item_valor
|
sum(itemsReceta/montoTotalCubierto)
|
obtSumaMontoTotalCubierto()
|
Valor
|
TOTAL
|
<%=
|
operacion_valor
|
valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto
|
obtPrecioFinal()
|
Valor
|
OBRAS SOCIALES
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=2]/valor/montoPrincipal
|
obtImporteFormaPagoObraSocial()
|
Valor
|
CUENTA CORRIENTE
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=22]/valor/montoPrincipal
|
obtImporteFormaPagoCtaCte()
|
Valor
|
CUOTA CUENTA CORRIENTE
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=21]/valor/montoPrincipal
|
obtImporteFormaPagoCuotaCteCte()
|
Valor
|
TARJETA
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=9]/valor/montoPrincipal
|
obtImporteFormaPagoTarjeta()
|
Valor
|
CHEQUE TERCEROS
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=5]/valor/montoPrincipal
|
obtImporteFormaPagoChequeTerceros()
|
Valor
|
EFECTIVO
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=3]/valor/montoPrincipal
|
obtImporteFormaPagoEfectivo()
|
Valor
|
Exento
|
<%=
|
operacion_valor
|
valor/valoresConcepto[subTipoValorCpto/concepto/id=503 and subTipoValorCpto/visiblePos=1]/monto
|
obtTotalExento()
|
Valor
|
Gravado
|
<%=
|
operacion_valor
|
valor/valoresConcepto[subtipoValorCpto/concepto/id=541]/monto
|
obtTotalGravado()
|
Valor
|
Perc.II.BB.
|
<%=
|
operacion_valor
|
valor/valoresConcepto[subTipoValorCpto/concepto/id=516 and subTipoValorCpto/visiblePos=1]/monto
|
obtTotalPercepcionesIIBB()
|
Vendedor
|
Nombre
|
<%=
|
operacion_valor
|
valor/objUsuarioCreacion/alias
|
obtVendedor()
|
Puesto
|
Nombre
|
<%=
|
operacion_valor
|
operacion/puestoVenta/nombre
|
obtPuestoVenta()
|
Nuevos Métodos[editar]
objeto
|
atributo
|
función
|
tabla
|
método
|
nuevo método
|
Valor
|
Fecha de Emisión
|
<%=
|
operacion_valor
|
valor/fechaEmision
|
obtFechaEmision()
|
Cliente (eventual)
|
Domicilio
|
<%=
|
operacion_valor
|
valor/domicilioCliente
|
obtDomicilioClienteEven()
|
Cliente (eventual)
|
Documento
|
<%=
|
operacion_valor
|
valor/documentoCliente
|
obtDocumentoClienteEven()
|
Cliente (eventual)
|
Nombre
|
<%=
|
operacion_valor
|
valor/nombreCliente
|
obtNombreClienteEven()
|
Cliente (secundario)
|
Nombre
|
<%=
|
operacion_valor
|
valor/entidadSecundaria/nombre
|
obtNombreClienteSecundario()
|
Cliente
|
Código
|
<%=
|
operacion_valor
|
valor/entidad/codigo
|
obtCodigoCliente()
|
Cliente Envío
|
Dirección
|
<%=
|
operacion_valor
|
valor/direccionSeleccionada
|
obtDireccionEnvio()
|
Cliente Envío
|
Teléfono
|
<%=
|
operacion_valor
|
valor/telefonoSeleccionado
|
obtTelefonoEnvio()
|
Cliente Envío
|
Observaciones
|
<%=
|
operacion_valor
|
valor/observaciones
|
obtObservacionEnvio()
|
Valor
|
OBRAS SOCIALES
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=2]/valor/entidad/nombre
|
obtNombreObraSocial()
|
Receta
|
Nombre OSP
|
<%=
|
operacion_valor
|
valor[tipoValor/id=2]/entidad/obraSocial/nombreCorto
|
obtNombreCobertura()
|
Receta
|
Nombre OSP
|
<%=
|
operacion_valor
|
valor[tipoValor/id=2]/entidad/nombre
|
obtNombreLargoCobertura()
|
Receta
|
Número
|
<%=
|
operacion_valor
|
valor[tipoValor/id=2]/codificacion
|
obtNumeroReceta()
|
Receta
|
Fecha
|
<%=
|
operacion_valor
|
valor[tipoValor/id=2]/fechaEmision
|
obtFechaReceta()
|
Receta
|
Nombre 1ra. OSP
|
<%#
|
item_valor
|
itemConvenio1raCobertura/convenio/entidad/nombre
|
obtNombre1raCobertura()
|
Receta
|
Importe 1ra. OSP
|
<%#
|
item_valor
|
itemConvenio1raCobertura/montoTotalCubierto
|
obtTotalCubierto1raCobertura()
|
Receta
|
Porcentaje 1ra. OSP
|
<%#
|
item_valor
|
itemConvenio1raCobertura/porcentajeCobertura
|
obtPorcentaje1raCobertura()
|
Receta
|
Nombre 2da. OSP
|
<%#
|
item_valor
|
itemConvenio2daCobertura/convenio/entidad/nombre
|
obtNombre2daCobertura()
|
Receta
|
Importe 2da. OSP
|
<%#
|
item_valor
|
itemConvenio2daCobertura/montoTotalCubierto
|
obtTotalCubierto2daCobertura()
|
Receta
|
Porcentaje 2da. OSP
|
<%#
|
item_valor
|
itemConvenio2daCobertura/porcentajeCobertura
|
obtPorcentaje2daCobertura()
|
Receta
|
Nombre 3ra. OSP
|
<%#
|
item_valor
|
itemConvenio3raCobertura/convenio/entidad/nombre
|
obtNombre3raCobertura()
|
Receta
|
Importe 3ra. OSP
|
<%#
|
item_valor
|
itemConvenio3raCobertura/montoTotalCubierto
|
obtTotalCubierto3raCobertura()
|
Receta
|
Porcentaje 3ra. OSP
|
<%#
|
item_valor
|
itemConvenio3raCobertura/porcentajeCobertura
|
obtPorcentaje3raCobertura()
|
Receta
|
Nro.Autorización
|
<%=
|
operacion_valor
|
operacionesValor[valor/tipoValor/id=2]/valor/numeroAutorizacion
|
obtAutorizacionObraSocial()
|
Valor
|
Dto.Comprobante
|
<%@
|
operacion
|
comprobante/descuentoGeneral
|
obtDtoGeneral()
|
Valor
|
Dto.Bono
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=1]/valor/descuentoGeneral
|
obtDtoGeneralBono()
|
Valor
|
Dto.Receta
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=2]/valor/descuentoGeneral
|
obtDtoGeneralReceta()
|
Valor
|
Dto.Billete
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=3]/valor/descuentoGeneral
|
obtDtoGeneralEfectivo()
|
Valor
|
Dto.CH/Propio
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=4]/valor/descuentoGeneral
|
obtDtoGeneralChequePropio()
|
Valor
|
Dto.CH/Tercero
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=5]/valor/descuentoGeneral
|
obtDtoGeneralChequeTercero()
|
Valor
|
Dto.Tarjeta
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=9]/valor/descuentoGeneral
|
obtDtoGeneralTarjeta()
|
Valor
|
Dto.Cuota Cta.Cte.
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=21]/valor/descuentoGeneral
|
obtDtoGeneralCuotaCtaCte()
|
Valor
|
Dto.Cta.Cte.
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=22]/valor/descuentoGeneral
|
obtDtoGeneralCtaCte()
|
Valor
|
Descuento Convenio
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=211]/valor/descuentoGeneral
|
obtDtoGeneralConvenio()
|
Valor
|
Vendedor
|
<%=
|
operacion_valor
|
valor/comprobante/objusuariocreacion/alias
|
obtValorCteVendedor()
|
Valor
|
Numero
|
<%=
|
operacion_valor
|
valor/comprobante/codificacion
|
obtValorCteNumero()
|
Valor
|
Fecha Emisión
|
<%=
|
operacion_valor
|
valor/comprobante/fechaEmision
|
obtValorCteFechaEmision()
|
Valor
|
Fecha Creación
|
<%=
|
operacion_valor
|
valor/fechaCreacion
|
obtFechaCreacion()
|
Valor
|
Importe
|
<%=
|
operacion_valor
|
valor/montoPrincipal
|
obtValorMontoPrincipal()
|
Valor
|
Letra Factura
|
<%=
|
operacion_valor
|
valor/letraFactura
|
obtLetraFactura()
|
Farmacia
|
Dirección
|
<%=
|
operacion_valor
|
valor/nodoCreacion/direcciones[0]
|
obtDireccion0Farmacia()
|
Farmacia
|
Teléfono
|
<%=
|
operacion_valor
|
valor/nodoCreacion/telefonos[0]/numero
|
obtTelefono0Farmacia()
|
Farmacia
|
Teléfono
|
<%=
|
operacion_valor
|
valor/nodoCreacion/telefonos[1]/numero
|
obtTelefono1Farmacia()
|
Cliente
|
Situación IVA
|
<%=
|
operacion_valor
|
valor/entidad/objSituacionIVA/nombre
|
obtSituacionIvaCliente()
|
Cliente
|
Cuit
|
<%=
|
operacion_valor
|
valor/entidad/cuit
|
obtCuitCliente()
|
Producto
|
Nombre Corto
|
<%#
|
item_valor
|
producto/nombreCorto
|
obtNombreProducto()
|
Producto
|
Código Barra
|
<%#
|
item_valor
|
producto/codigoBarra
|
obtCodigoBarraProducto()
|
Receta
|
Precio Unidad
|
<%#
|
item_valor
|
producto/codigoBarra
|
obtRecetaPrecioUnitario()
|
Receta
|
Porcentaje Cobertura
|
<%#
|
item_valor
|
itemsReceta/porcentajeCobertura
|
obtRecetaPorcentajeCobertura()
|
Receta
|
Importe Cobertura
|
<%#
|
item_valor
|
itemsReceta/descuento
|
obtRecetaImporteDescuento()
|
Valor
|
Importe
|
<%=
|
operacion_valor
|
valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto
|
obtPrecioFinal()
|
Receta
|
Número Cobertura
|
<%=
|
operacion_valor
|
.[valor/tipoValor/id=2]/numeroCobertura
|
obtNumeroCobertura()
|
Receta
|
Saldo Afiliado
|
<%=
|
operacion_valor
|
.[valor/tipoValor/id=2]/saldoAfiliado
|
obtSaldoAfiliado()
|
Convenio
|
Nombre Forma Pago
|
<%=
|
operacion_valor
|
valor[tipoValor/id=211]/entidad/nombre
|
obtNombreFormaPagoConvenio()
|
Convenio
|
Importe Forma Pago
|
<%=
|
operacion_valor
|
sum(valor[tipoValor/id=211]/montoPrincipal)
|
obtImporteFormaPagoConvenio()
|
Cuota Cta Cte
|
Nombre Forma Pago
|
<%=
|
operacion_valor
|
valor[tipoValor/id=21]/entidad/nombre
|
obtNombreFormaPagoCuotaCteCte()
|
Cuota Cta Cte
|
Importe Forma Pago
|
<%=
|
operacion_valor
|
sum(valor[tipoValor/id=21]/montoPrincipal)
|
obtImporteFormaPagoCuotaCteCte()
|
CH/Tercero
|
Nombre Forma Pago
|
<%=
|
operacion_valor
|
valor[tipoValor/id=5]/entidad/nombre
|
obtNombreFormaPagoChequeTerceros()
|
CH/Tercero
|
Importe Forma Pago
|
<%=
|
operacion_valor
|
sum(valor[tipoValor/id=5]/montoPrincipal)
|
obtImporteFormaPagoChequeTerceros()
|
Tarjeta
|
Nombre Forma Pago
|
<%=
|
operacion_valor
|
valor[tipoValor/id=9]/entidadSaldable/nombre
|
obtNombreFormaPagoTarjeta()
|
Tarjeta
|
Importe Forma Pago
|
<%=
|
operacion_valor
|
sum(valor[tipoValor/id=9]/montoPrincipal)
|
obtImporteFormaPagoTarjeta()
|
Bono
|
Nombre
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=1]/valor/entidad/nombre
|
obtNombreBono()
|
Bono
|
Puntaje
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=1]/valor/valoresConcepto[subTipoValorCpto/concepto/id=500 and subTipoValorCpto/visiblePos=1]/monto
|
obtPuntajeBono()
|
Bono
|
Acumulado
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=1]/valor/valoresConcepto[subTipoValorCpto/concepto/id=503 and subTipoValorCpto/visiblePos=1]/monto
|
obtAcumuladoBono()
|
Valor
|
Vendedor
|
<%=
|
operacion_valor
|
valor/comprobante/objusuariocreacion/alias
|
obtValorCteVendedor()
|
Valor
|
Numero
|
<%=
|
operacion_valor
|
valor/comprobante/codificacion
|
obtValorCteNumero()
|
Valor
|
Fecha Emisión
|
<%=
|
operacion_valor
|
valor/comprobante/fechaEmision
|
obtValorCteFechaEmision()
|
Valor
|
Fecha Creación
|
<%=
|
operacion_valor
|
valor/fechaCreacion
|
obtFechaCreacion()
|
Valor
|
Importe
|
<%=
|
operacion_valor
|
valor/montoPrincipal
|
obtValorMontoPrincipal()
|
Valor
|
Letra Factura
|
<%=
|
operacion_valor
|
valor/letraFactura
|
obtLetraFactura()
|
Farmacia
|
Dirección
|
<%=
|
operacion_valor
|
valor/nodoCreacion/direcciones[0]
|
obtDireccion0Farmacia()
|
Farmacia
|
Teléfono
|
<%=
|
operacion_valor
|
valor/nodoCreacion/telefonos[0]/numero
|
obtTelefono0Farmacia()
|
Farmacia
|
Teléfono
|
<%=
|
operacion_valor
|
valor/nodoCreacion/telefonos[1]/numero
|
obtTelefono1Farmacia()
|
Cliente
|
Situación IVA
|
<%=
|
operacion_valor
|
valor/entidad/objSituacionIVA/nombre
|
obtSituacionIvaCliente()
|
Cliente
|
Cuit
|
<%=
|
operacion_valor
|
valor/entidad/cuit
|
obtCuitCliente()
|
Producto
|
Nombre Corto
|
<%#
|
item_valor
|
producto/nombreCorto
|
obtNombreProducto()
|
Producto
|
Código Barra
|
<%#
|
item_valor
|
producto/codigoBarra
|
obtCodigoBarraProducto()
|
Receta
|
Precio Unidad
|
<%#
|
item_valor
|
producto/codigoBarra
|
obtRecetaPrecioUnitario()
|
Receta
|
Porcentaje Cobertura
|
<%#
|
item_valor
|
itemsReceta/porcentajeCobertura
|
obtRecetaPorcentajeCobertura()
|
Valor
|
Tipo Operacion
|
<%=
|
operacion_valor
|
operacion/tipoOperacion
|
obtTipoOperacion()
|
Nuevos Métodos del 12-02-2020[editar]
objeto
|
atributo
|
función
|
tabla
|
método
|
nuevo método
|
Valor
|
Fecha de Emisión
|
<%=
|
operacion_valor
|
valor/fechaEmision
|
obtFechaEmision()
|
Farmacia
|
Inicio de Actividades
|
<%=
|
operacion_valor
|
valor/nodoCreacion/inicioDeActividades
|
obtFechaInicioActividades()
|
Farmacia
|
Razón Social
|
<%=
|
operacion_valor
|
valor/entidad/razonSocial
|
obtRazonSocialCliente()
|
Valor
|
Nombre Tarjeta
|
<%&
|
operacionesValor
|
valor[tipoValor/id=9]/entidadSaldable/nombre
|
obtNombreFormaPagoTarjeta()
|
Valor
|
Nombre Plan Pagos Tarjeta
|
<%&
|
operacionesValor
|
.[valor/tipoValor/id=9]/planPago/nombre
|
obtNombrePlanPagoTarjeta()
|
Valor
|
Descuento Cuotas Cta.Cte.
|
<%&
|
operacionesValor
|
valor[tipoValor/id=21 and anulacion!='A']/valor/descuentoFPPlantilla
|
obtDescuentoCuotasCtaCte()
|
Valor
|
Importe Recetas
|
<%&
|
operacionesValor
|
valor[tipoValor/id=2 and anulacion!='A']/itemsConvenio/descuentoAfiliado
|
obtImporteReceta()
|
Valor
|
Importe Coberturas
|
<%&
|
operacionesValor
|
valor[tipoValor/id=2 and anulacion!='A']/montoPrincipal
|
obtImporteCobertura()
|
Valor
|
Importe Cuotas Cta.Cte. Venta
|
<%&
|
operacionesValor
|
sum(valor[tipoValor/id=21 and anulacion!='A']/montoPrincipal)
|
obtImporteFormaPagoCuotaCteCteVenta()
|
Valor
|
Importe Cheques Tercero Venta
|
<%&
|
operacionesValor
|
sum(valor[tipoValor/id=5 and anulacion!='A']/montoPrincipal)
|
obtImporteFormaPagoChequeTercerosVenta()
|
Valor
|
Importe Convenios Venta
|
<%&
|
operacionesValor
|
valor[tipoValor/id=211 and anulacion!='A']/montoPrincipal
|
obtImporteFormaPagoConvenioVenta()
|
Valor
|
Precio Final Comrobantes
|
<%=
|
operacion_valor
|
valor/valoresConcepto[subTipoValorCpto/concepto/id=501]/monto
|
obtPrecioFinalTodoCte()
|
Valor
|
Impuestos Productos Exentos
|
<%=
|
operacion_valor
|
valor/valoresConcepto[contains('1703 1783',subTipoValorCpto/id) and valor/letraFactura='A']/monto
|
obtImpuestosProductosExentos()
|
Valor
|
Impuestos Productos IVA 10,5%
|
<%=
|
operacion_valor
|
valor/valoresConcepto[contains('1705 1785',subTipoValorCpto/id) and valor/letraFactura='A']/monto
|
obtImpuestosProductosIVA1050()
|
Valor
|
Impuestos Productos IVA 21,0%
|
<%=
|
operacion_valor
|
valor/valoresConcepto[contains('1706 1786',subTipoValorCpto/id) and valor/letraFactura='A']/monto
|
obtImpuestosProductosIVA2100()
|
Valor
|
Impuestos Productos IVA 27,0%
|
<%=
|
operacion_valor
|
valor/valoresConcepto[contains('2287 2284',subTipoValorCpto/id) and valor/letraFactura='A']/monto
|
obtImpuestosProductosIVA2700()
|
Valor
|
Percepciones Ingresos Brutos
|
<%=
|
operacion_valor
|
valor/valoresConcepto[subTipoValorCpto/concepto/id=516 and subTipoValorCpto/visiblePos=1]/monto
|
obtPercepcionesIngresosBrutos()
|
Producto
|
Nombre Primera Obra Social
|
<%#
|
item_valor
|
itemConvenio1raCobertura/convenio/obraSocial/nombre
|
obtNombre1raObraSocial()
|
Producto
|
Nombre Segunda Obra Social
|
<%#
|
item_valor
|
itemConvenio2daCobertura/convenio/obraSocial/nombre
|
obtNombre2daObraSocial()
|
Producto
|
Nombre Tercera Obra Social
|
<%#
|
item_valor
|
itemConvenio3raCobertura/convenio/obraSocial/nombre
|
obtNombre3raObraSocial()
|
Producto
|
Nombre Cuarta Obra Social
|
<%#
|
item_valor
|
itemConvenio4taCobertura/convenio/obraSocial/nombre
|
obtNombre4taObraSocial()
|
Producto
|
Nombre Quinta Obra Social
|
<%#
|
item_valor
|
itemConvenio5taCobertura/convenio/obraSocial/nombre
|
obtNombre5taObraSocial()
|
Producto
|
Nombre Sexta Obra Social
|
<%#
|
item_valor
|
itemConvenio6taCobertura/convenio/obraSocial/nombre
|
obtNombre6taObraSocial()
|
Producto
|
Nombre Séptima Obra Social
|
<%#
|
item_valor
|
itemConvenio7maCobertura/convenio/obraSocial/nombre
|
obtNombre7maObraSocial()
|
Producto
|
Nombre Primer Convenio
|
<%#
|
item_valor
|
itemConvenio1/valor/subTipoValor/nombre
|
obtNombre1erConvenio()
|
Producto
|
Nombre Segundo Convenio
|
<%#
|
item_valor
|
itemConvenio2/valor/subTipoValor/nombre
|
obtNombre2doConvenio()
|
Producto
|
Nombre Tercer Convenio
|
<%#
|
item_valor
|
itemConvenio3/valor/subTipoValor/nombre
|
obtNombre3erConvenio()
|
Producto
|
Nombre Cuarto Convenio
|
<%#
|
item_valor
|
itemConvenio4/valor/subTipoValor/nombre
|
obtNombre4toConvenio()
|
Producto
|
Nombre Quinto Convenio
|
<%#
|
item_valor
|
itemConvenio5/valor/subTipoValor/nombre
|
obtNombre5toConvenio()
|
Producto
|
Importe Dtos. Primer Convenio
|
<%#
|
item_valor
|
itemConvenio1/sumaDescuentosSinIvaPlantilla
|
obtSumaDescuentos1erConvenio()
|
Producto
|
Importe Dtos. Segundo Convenio
|
<%#
|
item_valor
|
itemConvenio2/sumaDescuentosSinIvaPlantilla
|
obtSumaDescuentos2doConvenio()
|
Producto
|
Importe Dtos. Tercer Convenio
|
<%#
|
item_valor
|
itemConvenio3/sumaDescuentosSinIvaPlantilla
|
obtSumaDescuentos3erConvenio()
|
Producto
|
Importe Dtos. Cuarto Convenio
|
<%#
|
item_valor
|
itemConvenio4/sumaDescuentosSinIvaPlantilla
|
obtSumaDescuentos4toConvenio()
|
Producto
|
Importe Dtos. Quinto Convenio
|
<%#
|
item_valor
|
itemConvenio5/sumaDescuentosSinIvaPlantilla
|
obtSumaDescuentos5toConvenio()
|
Producto
|
Importe Rgos. Primer Convenio
|
<%#
|
item_valor
|
itemConvenio1/rgoConvenioSinIVAPlantilla
|
obtSumaRecargos1erConvenio()
|
Producto
|
Importe Rgos. Segundo Convenio
|
<%#
|
item_valor
|
itemConvenio2/rgoConvenioSinIVAPlantilla
|
obtSumaRecargos2doConvenio()
|
Producto
|
Importe Rgos. Tercer Convenio
|
<%#
|
item_valor
|
itemConvenio3/rgoConvenioSinIVAPlantilla
|
obtSumaRecargos3erConvenio()
|
Producto
|
Importe Rgos. Cuarto Convenio
|
<%#
|
item_valor
|
itemConvenio4/rgoConvenioSinIVAPlantilla
|
obtSumaRecargos4toConvenio()
|
Producto
|
Importe Rgos. Quinto Convenio
|
<%#
|
item_valor
|
itemConvenio5/rgoConvenioSinIVAPlantilla
|
obtSumaRecargos5toConvenio()
|
Valor
|
Número de Cobertura
|
<%&
|
operacionesValor
|
.[valor/tipoValor/id=2 and valor/anulacion!='A']/numeroCobertura
|
obtNumeroCoberturaVenta()
|
Valor
|
Importe Saldo Afiliado
|
<%&
|
operacionesValor
|
.[valor/tipoValor/id=2 and valor/anulacion!='A']/saldoAfiliadoSinDto
|
obtSaldoAfiliadoVenta()
|
Valor
|
Importe Tarjetas Venta
|
<%&
|
operacionesValor
|
.[valor/tipoValor/id=9 and valor/anulacion!='A']/montoPrincipal
|
obtImporteFormaPagoTarjetaVenta()
|
Valor
|
Descuento Tarjetas Venta
|
<%&
|
operacionesValor
|
.[valor/tipoValor/id=9 and valor/anulacion!='A']/valor/descuentoFPPlantilla
|
obtDescuentoTarjeta()
|
Valor
|
Descuento Efectivo Venta
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=3 and valor/anulacion!='A']/valor/descuentoFPPlantilla
|
obtDescuentoEfectivo()
|
Valor
|
Descuento CH/Terceros Venta
|
<%&
|
operacionesValor
|
operacionesValor[valor/tipoValor/id=5 and valor/anulacion!='A']/valor/descuentoFPPlantilla
|
obtDescuentoChequeTerceros()
|
Valor
|
Descuento Cuentas Corriente Venta
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=22 and valor/anulacion!='A']/valor/descuentoFPPlantilla
|
obtDescuentoCtaCte()
|
Valor
|
Descuento Convenios Venta
|
<%&
|
operacionesValor
|
operacionesValor[valor/tipoValor/id=211 and valor/anulacion!='A']/valor/descuentoFPPlantilla
|
obtDescuentoConvenio()
|
Valor
|
Importe Efectivo Venta
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=3 and valor/anulacion!='A']/valor/montoPrincipal
|
obtImporteFormaPagoEfectivoVenta()
|
Valor
|
Importe Cuentas Corriente Venta
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=22 and valor/anulacion!='A']/valor/montoPrincipal
|
obtImporteFormaPagoCtaCteVenta()
|
Valor
|
Recargo Efectivo Venta
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=3 and valor/anulacion!='A']/valor/recargoFPPlantilla
|
obtRecargoEfectivo()
|
Valor
|
Recargo CH/Terceros Venta
|
<%&
|
operacionesValor
|
operacionesValor[valor/tipoValor/id=5 and valor/anulacion!='A']/valor/recargoFPPlantilla
|
obtRecargoChequeTerceros()
|
Valor
|
Recargo Cuentas Corriente Venta
|
<%@
|
operacion
|
operacionesValor[valor/tipoValor/id=22 and valor/anulacion!='A']/valor/recargoFPPlantilla
|
obtRecargoCtaCte()
|
Valor
|
Recargo Convenios Venta
|
<%&
|
operacionesValor
|
operacionesValor[valor/tipoValor/id=211 and valor/anulacion!='A']/valor/recargoFPPlantilla
|
obtRecargoConvenio()
|
Valor
|
Recargo Cuotas Cta.Cte. Venta
|
<%&
|
operacionesValor
|
valor[tipoValor/id=21 and anulacion!='A']/valor/recargoFPPlantilla
|
obtRecargoCuotasCtaCte()
|
Valor
|
Recargo Tarjetas Venta
|
<%&
|
operacionesValor
|
.[valor/tipoValor/id=9 and valor/anulacion!='A']/valor/recargoFPPlantilla
|
obtRecargoTarjeta()
|
Métodos para Liquidaciones: Plantillas v4[editar]
objeto
|
atributo
|
función
|
tabla
|
método
|
nuevo método
|
Recibo a Cliente
|
Nombre del Cliente
|
<%@
|
operacion_valor
|
entidadLiquidacion
|
|
Recibo a Cliente
|
Fecha de Liquidación
|
<%@
|
operacion_valor
|
fechaLiquidacion
|
|
Listado de Comprobantes
|
Número del Comprobante
|
<%*
|
item_liquidacion
|
codificacion
|
|
Listado de Comprobantes
|
Fecha Vencimiento
|
<%*
|
item_liquidacion
|
fechaVencimiento
|
|
Listado de Comprobantes
|
Importe de la Cuota
|
<%*
|
item_liquidacion
|
monto
|
|
Listado de Comprobantes
|
Fecha de Emisión
|
<%*
|
item_liquidacion
|
fechaEmision
|
|
Listado de Comprobantes
|
Nombre del Cliente
|
<%*
|
item_liquidacion
|
entidad
|
|
Recibo a Cliente
|
Concepto Total de Liquidación
|
<%$
|
conceptos
|
subTipoValorCpto/nombre
|
|
Recibo a Cliente
|
Importe Total de Liquidación
|
<%$
|
conceptos
|
monto
|
|
Referencias Electrónicas del Comprobante - 18-01-2021[editar]
objeto
|
atributo
|
función
|
tabla
|
método
|
nuevo método
|
valor
|
Forma Autorización F.E.
|
<%=
|
operacion_valor
|
valor/formaAutorizacion
|
obtFormaAutorizacionFE()
|
valor
|
Número C.A.E.
|
<%=
|
operacion_valor
|
valor/numeroAutorizacion
|
obtReferenciaElectronica()
|
valor
|
Vencimiento C.A.E.
|
<%=
|
operacion_valor
|
valor/fechaAdicional
|
obtFechaAdicional()
|
valor
|
Marca C.A.E.A.
|
<%=
|
operacion_valor
|
valor/marcaCAEA
|
obtMarcaCAEA()
|
valor
|
Fecha de Vencimiento
|
<%=
|
operacion_valor
|
valor/fechaVencimiento
|
obtFechaVencimiento()
|
valor
|
Fecha Adicional
|
<%=
|
operacion_valor
|
valor/fechaAdicional
|
obtFechaAdicional()
|
valor
|
Fecha de Autorizacion
|
<%=
|
operacion_valor
|
valor/fechaAutorizacion
|
obtFechaReferenciaElectronica()
|
Para discriminar si la referencia electrónica correponde a un Código de Autorización Electrónico C.A.E.
o a un Código de Autorización Electrónico Anticipado C.A.E.A,
disponer de los métodos indicados de la siguiente manera:
<%=format:separador(obtReferenciaElectronica(),'--- REFERENCIA ELECTRONICA ---')%>
<%=concat(format:enlazar(concat('C.A.E.',format:string(obtMarcaCAEA())),': ',format:rpad(obtReferenciaElectronica(),15),
25),format:rightpad('Vto.:',format:rpad(format:shortDate(obtFechaAdicional()),11)))%>
<%=format:separador()%>
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
|
Hasar Epson
|
\u001B!\u0008
|
ESC ! 8
|
Selecciona modo enfatizado
|
Ejemplo Modelo[editar]
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.
36) AJUSTE EN LAS PLANTILLAS: Forma de armar la plantilla para que aparezcan solo la lineas de puntos necesarios
-
Fuera del Concat
|
Dentro del Concat
|
---------------------------------------- <<%@concat('Afil. : <',format:rpad(operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado,25),'>
Numero: <',format:rpad(operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado,25),'>')%>>
|
<<%@concat('---------------------------------------- Afil. : <',format:rpad(operacionesValor[valor/tipoValor/id=2]/valor/nombreAfiliado,25),'>
Numero: <',format:rpad(operacionesValor[valor/tipoValor/id=2]/valor/numeroAfiliado,25),'>')%>>
|
|
|
Ejemplos Prototipos[editar]
XPaths para DATOS ADICIONALES:
- <%=format:rpad(obtNumeroComprobante(),13)<%+concat('-', format:string(prototipoDetalle/datoCodificado/nombre), ' : ', format:string(dato), ' : ', format:string(prototipoDetalle/nombre), ' : ', format:string(prototipoDetalle/prototipo/nombre), ' : ', format:string(prototipoDatoAdicional/prototipo/nombre), ' : ', format:string(prototipoDatoAdicional/numeroLinea))%>%>
PseudoFunciones para DATOS ADICIONALES:
- <%=format:rpad(obtNumeroComprobante(),13)<%+concat('-', format:string(obtNombreDatoCodificado()), ' : ', format:string(obtDatoCodificado()), ' : ', format:string(obtNombreDePrototipoDetalle()), ' : ', format:string(obtNombrePrototipoDePrototipoDetalle()), ' : ', format:string(obtNombrePrototipoDePrototipoDatoAdicional()), ' : ', format:string(obtNumeroLineaDePrototipoDatoAdicional()))%>%>
DATOS ADICIONALES para Valor de la OV a imprimir:
- <%=format:rpad(obtNumeroComprobante(),13)<%+concat('-', format:string(prototipoDetalle/datoCodificado/nombre), ' : ', format:string(dato))%>%>
DATOS ADICIONALES para Valor de la OV a imprimir:
- <%=format:rpad(obtNumeroComprobante(),13)<%+concat('-', format:string(obtNombreDatoCodificado()), ' : ', format:string(obtDatoCodificado()))%>%>
DATOS ADICIONALES para Valor de la OV en la que estoy parado:
- <%&format:rpad(obtNumeroComprobante(),13)<%+concat(' - ', format:string(prototipoDetalle/datoCodificado/nombre), ' : ', format:string(dato))%>%>
Prototipos (agosto-septiembre 2021)[editar]
Impresión de todos los prototipos imprimibles:
NombreDato: Dato
- <%=format:cpad('dummy',0)<%+concat(format:concatNoNull(format:string(obtNombreDatoCodificado()),': ',format:string(obtDatoCodificado()))%>%>
Solo Dato
- <%=format:cpad('dummy',0)<%+concat('',format:string(obtDatoCodificado()))%>%>
Impresión de los prototipos imprimibles de cabecera:
NombreDato: Dato
- <%=format:cpad('dummy',0)<%+concat(format:concatNoNull(format:string(obtCabeceraNombreDatoCodificado()),': ',format:string(<span style="color:#800080">obtCabeceraDatoCodificado()</span>))%>%>
Solo Dato
- <%=format:cpad('dummy',0)<%+concat('',format:string(<span style="color:#800080">obtCabeceraDatoCodificado()</span>))%>%>
Impresión de los prototipos imprimibles de pie de página:
NombreDato: Dato
- <%=format:cpad('dummy',0)<%+concat(format:concatNoNull(format:string(obtPieNombreDatoCodificado()),': ',format:string(<span style="color:#800080">obtPieDatoCodificado()</span>))%>%>
Solo Dato
- <%=format:cpad('dummy',0)<%+concat('',format:string(<span style="color:#800080">obtPieDatoCodificado()</span>))%>%>