Publicado el Dejar un comentario

Colocar el texto en varias líneas

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

Deja un comentario