En algunas ocasiones necesitamos que se coloque el texto impreso en dos líneas; tal es el caso de las descripciones de artículos el IMPORTE CON LETRA, en los que aparece cortada la información.
En esta ocasión, nos enfocaremos en el Importe con Letra como ejemplo. vamos a colocar las primeras 15 letras en una línea y el resto en la línea siguiente.
Por default, el importe con letra se encuentra en una línea como esta (En CONFIGURACIÓN–PERSONALIZACIÓN–FORMATOS DEL SISTEMA–TICKET).
cSalida = cSalida & Letra( Round( Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")), 2 ), Trim(rstMoneda("Descrip")), True,rstMoneda("Nombre") ) & cLineaNueva
Lo que vamos a hacer es guardar el importe con letra en una variable llamada “ImporteLetra” y después dividir el texto en dos partes a través de la función Mid(texto, inicio, largo)
ImporteLetra = cSalida & Letra( Round( Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")), 2 ), Trim(rstMoneda("Descrip")), True,rstMoneda("Nombre") ) & cLineaNueva
cSalida = Mid(ImporteLetra, 1, 15)
cSalida = Mid(ImporteLetra, 16, 20)
Guarda y hace la prueba
En el caso de la remisión es algo parecido
FontBold Falso
FontItalic Falso
ColorDeFuente 0
Say 2.78125 + Row( Incremento ), 1.041667, rstArticulo("Descrip")
Lo que se hará es agregar una condición IF, la función Mid(texto, Inicio, Largo) y colocar todo este bloque de código cerca de la línea “Incremento = Incremento + 1” . El resultado quedará así:
EstableceFuente "Verdana",9.75
FontBold Falso
FontItalic Falso
ColorDeFuente 0
Say 2.78125 + Row( Incremento ), 1.041667, Mid(rstArticulo("Descrip"),1,50)
if Len( rstArticulo("Descrip") ) > 50 Then
Incremento = Incremento + 1
Say 2.78125 + Row( Incremento ), 1.041667, Mid(rstArticulo("Descrip"),41,50)
end if
Incremento = Incremento + 1
rstPartidas.MoveNext
Wend
Guardamos y hacemos la prueba
Te atendemos 24/7 vía WhatsApp: