Problema con impresion de Ticket
Publicado por Henry (2 intervenciones) el 18/11/2014 02:57:02
Hola agradezco su ayuda, les explico.
Estoy montando una impresion de Ticket en una Epson TMU220 a la antigua, todo me sale bien en la impresión, lo unico que no he podido arreglar es que la última línea del reporte me la pone de primera.
Les dejo el código del ticket, agradezco la ayuda.
--------------------------------------------------------------------
SET NOTIFY OFF
SET TALK OFF
SET SAFETY OFF
SET CONSOLE OFF
SET PRINTER TO NAME 'Tickets'
SET DEVICE TO PRINT
???CHR(27)+"C"+CHR(40) && 40 Cantidad de Lineas
mLinea = 0 && Ubicamos a linea 0
SELECT lcConfig
@mLinea,01 SAY "ORDEN #"+SPACE(1)+ALLTRIM(STR(pOrden))+' -'+SPACE(2)+ALLTRIM(cTipoOrden)
mLinea = mLinea + 1
@mLinea,01 SAY REPLI("=",38)
mLinea = mLinea + 1
@mLinea,01 SAY SPACE(8)+ALLTRIM(lcConfig.empresa) FONT "ARIAL BOLD ",17
mLinea = mLinea + 1
@mLinea,01 SAY SPACE(5)+ALLTRIM(lcConfig.titulo1)
mLinea = mLinea + 1
@mLinea,01 SAY SPACE(3)+ALLTRIM(lcConfig.titulo2)
mLinea = mLinea + 1
@mLinea,01 SAY SPACE(4)+ALLTRIM(lcConfig.titulo3)
mLinea = mLinea + 1
@mLinea,01 SAY REPLI("=",38)
mLinea = mLinea + 1
@mLinea,01 SAY "Factura No: "+SPACE(1)+alltrim(pFactura)
mLinea = mLinea + 1
@mLinea,01 SAY "Fecha:"+SPACE(1)+ALLTRIM(TTOC(pFechaHora))
mLinea = mLinea + 1
@mLinea,01 SAY "Tipo Factura:"+SPACE(1)+ALLTRIM(pTipoFactura)
mLinea = mLinea + 1
@mLinea,01 SAY "Cliente:"+SPACE(1)+ALLTRIM(pCliente)
mLinea = mLinea + 1
@mLinea,01 SAY "Cajero:"+SPACE(1)+ALLTRIM(pCajero)
mLinea = mLinea + 1
@mLinea,01 SAY REPLI("=",38)
mLinea = mLinea + 1
@mLinea,01 SAY " CANT. DESCRIPCION IMPORTE"
mLinea = mLinea + 1
@mLinea,01 SAY REPLI("=",38)
mLinea = mLinea + 1
* Vienen las líneas
SELECT lcLineasPrint
GO TOP
cCuenta = RECCOUNT()
FOR i = 1 TO cCuenta
cCant = ALLTRIM(STR(lcLineasPrint.cantidad)) && Cantidad
cDes = ALLTRIM(lcLineasPrint.descripcion) && Descripcion
cImp = lcLineasPrint.importe && Precio
cComentarioLinea = ALLTRIM(lcLineasPrint.comentario) && Comentario de linea
@mLinea,3 SAY cCant+SPACE(3)+ALLTRIM(cDes)
@mLinea,29 SAY TRANSFORM(cImp,'999,999.99') && Muestra los valores de la linea
* Si la linea tiene comentarios lo ponemos
IF EMPTY(cComentarioLinea) && Esta en blanco no pasa nada
*
ELSE && Tiene comentario lo imprimimos
mLinea = mLinea + 1
@mLinea,03 SAY "("+cComentarioLinea+")"
ENDIF
SELECT lcLineasPrint
IF EOF()
EXIT
ELSE
SKIP
mLinea = mLinea + 1
ENDIF
ENDFOR
mLinea = mLinea + 1
@mLinea,4 SAY "--------- Ultima Linea ---------"
* Continuamos con el final
* Si tiene comentarios generales
IF EMPTY(cComentarioGeneral) && No tiene comentario General
* Si tiene tarjeta de credito
ELSE && Si tiene comentario general
mLinea = mLinea + 1
@mLinea,01 SAY REPLI("=",38)
mLinea = mLinea + 1
* Vemos cuanto ancho tiene
mLargoTexto = LEN(ALLTRIM(cComentarioGeneral))
IF mLargoTexto <= 35 && Se puede en una linea
@mLinea,01 SAY ALLTRIM(cComentarioGeneral)
ELSE && Lo partimos
@mLinea,01 SAY SUBSTR(ALLTRIM(cComentarioGeneral),1,35)
mLinea = mLinea + 1
@mLinea,01 SAY SUBSTR(ALLTRIM(cComentarioGeneral),36,45)
ENDIF
mLinea = mLinea + 1
@mLinea,01 SAY REPLI("=",38)
* Si tiene tarjeta de credito
ENDIF
*Configuración Terminal de Impresion
mLinea = mLinea + 2
* Reparamos el total caracter
pTotalCaracter = STRTRAN(pTotalCaracter,'¢','')
@mLinea,11 SAY "TOTAL I.V.I:"
@mLinea,27 SAY alltrim(pTotalCaracter)
mLinea = mLinea + 1
@mLinea,14 SAY "PAGA CON:"
@mLinea,25 SAY TRANSFORM(nPagaCon,'999,999.99')
mLinea = mLinea + 1
@mLinea,13 SAY "SU CAMBIO:"
@mLinea,25 SAY TRANSFORM(nVuelto,'999,999.99')
mLinea = mLinea + 2
@mLinea,11 SAY "No. de Articulos:"+SPACE(1)+ALLTRIM(STR(pArticulos))
mLinea = mLinea + 2
@mLinea,01 SAY REPLI("=",38)
mLinea = mLinea + 2
@mLinea,4 SAY alltrim(lcConfig.footer1)
mLinea = mLinea + 1
@mLinea,8 SAY alltrim(lcConfig.footer2)
mLinea = mLinea + 1
@mLinea,10 SAY alltrim(lcConfig.footer3)
mLinea = mLinea + 1
@mLinea,4 SAY alltrim(lcConfig.footer4)
mLinea = mLinea + 1
@mLinea,4 SAY alltrim(lcConfig.footer5)
*** FIN DEL REPORTE E IMPRESION ***
EJECT
???CHR(12)
SET DEVICE TO SCREEN
SET PRINTER TO
RETURN
Estoy montando una impresion de Ticket en una Epson TMU220 a la antigua, todo me sale bien en la impresión, lo unico que no he podido arreglar es que la última línea del reporte me la pone de primera.
Les dejo el código del ticket, agradezco la ayuda.
--------------------------------------------------------------------
SET NOTIFY OFF
SET TALK OFF
SET SAFETY OFF
SET CONSOLE OFF
SET PRINTER TO NAME 'Tickets'
SET DEVICE TO PRINT
???CHR(27)+"C"+CHR(40) && 40 Cantidad de Lineas
mLinea = 0 && Ubicamos a linea 0
SELECT lcConfig
@mLinea,01 SAY "ORDEN #"+SPACE(1)+ALLTRIM(STR(pOrden))+' -'+SPACE(2)+ALLTRIM(cTipoOrden)
mLinea = mLinea + 1
@mLinea,01 SAY REPLI("=",38)
mLinea = mLinea + 1
@mLinea,01 SAY SPACE(8)+ALLTRIM(lcConfig.empresa) FONT "ARIAL BOLD ",17
mLinea = mLinea + 1
@mLinea,01 SAY SPACE(5)+ALLTRIM(lcConfig.titulo1)
mLinea = mLinea + 1
@mLinea,01 SAY SPACE(3)+ALLTRIM(lcConfig.titulo2)
mLinea = mLinea + 1
@mLinea,01 SAY SPACE(4)+ALLTRIM(lcConfig.titulo3)
mLinea = mLinea + 1
@mLinea,01 SAY REPLI("=",38)
mLinea = mLinea + 1
@mLinea,01 SAY "Factura No: "+SPACE(1)+alltrim(pFactura)
mLinea = mLinea + 1
@mLinea,01 SAY "Fecha:"+SPACE(1)+ALLTRIM(TTOC(pFechaHora))
mLinea = mLinea + 1
@mLinea,01 SAY "Tipo Factura:"+SPACE(1)+ALLTRIM(pTipoFactura)
mLinea = mLinea + 1
@mLinea,01 SAY "Cliente:"+SPACE(1)+ALLTRIM(pCliente)
mLinea = mLinea + 1
@mLinea,01 SAY "Cajero:"+SPACE(1)+ALLTRIM(pCajero)
mLinea = mLinea + 1
@mLinea,01 SAY REPLI("=",38)
mLinea = mLinea + 1
@mLinea,01 SAY " CANT. DESCRIPCION IMPORTE"
mLinea = mLinea + 1
@mLinea,01 SAY REPLI("=",38)
mLinea = mLinea + 1
* Vienen las líneas
SELECT lcLineasPrint
GO TOP
cCuenta = RECCOUNT()
FOR i = 1 TO cCuenta
cCant = ALLTRIM(STR(lcLineasPrint.cantidad)) && Cantidad
cDes = ALLTRIM(lcLineasPrint.descripcion) && Descripcion
cImp = lcLineasPrint.importe && Precio
cComentarioLinea = ALLTRIM(lcLineasPrint.comentario) && Comentario de linea
@mLinea,3 SAY cCant+SPACE(3)+ALLTRIM(cDes)
@mLinea,29 SAY TRANSFORM(cImp,'999,999.99') && Muestra los valores de la linea
* Si la linea tiene comentarios lo ponemos
IF EMPTY(cComentarioLinea) && Esta en blanco no pasa nada
*
ELSE && Tiene comentario lo imprimimos
mLinea = mLinea + 1
@mLinea,03 SAY "("+cComentarioLinea+")"
ENDIF
SELECT lcLineasPrint
IF EOF()
EXIT
ELSE
SKIP
mLinea = mLinea + 1
ENDIF
ENDFOR
mLinea = mLinea + 1
@mLinea,4 SAY "--------- Ultima Linea ---------"
* Continuamos con el final
* Si tiene comentarios generales
IF EMPTY(cComentarioGeneral) && No tiene comentario General
* Si tiene tarjeta de credito
ELSE && Si tiene comentario general
mLinea = mLinea + 1
@mLinea,01 SAY REPLI("=",38)
mLinea = mLinea + 1
* Vemos cuanto ancho tiene
mLargoTexto = LEN(ALLTRIM(cComentarioGeneral))
IF mLargoTexto <= 35 && Se puede en una linea
@mLinea,01 SAY ALLTRIM(cComentarioGeneral)
ELSE && Lo partimos
@mLinea,01 SAY SUBSTR(ALLTRIM(cComentarioGeneral),1,35)
mLinea = mLinea + 1
@mLinea,01 SAY SUBSTR(ALLTRIM(cComentarioGeneral),36,45)
ENDIF
mLinea = mLinea + 1
@mLinea,01 SAY REPLI("=",38)
* Si tiene tarjeta de credito
ENDIF
*Configuración Terminal de Impresion
mLinea = mLinea + 2
* Reparamos el total caracter
pTotalCaracter = STRTRAN(pTotalCaracter,'¢','')
@mLinea,11 SAY "TOTAL I.V.I:"
@mLinea,27 SAY alltrim(pTotalCaracter)
mLinea = mLinea + 1
@mLinea,14 SAY "PAGA CON:"
@mLinea,25 SAY TRANSFORM(nPagaCon,'999,999.99')
mLinea = mLinea + 1
@mLinea,13 SAY "SU CAMBIO:"
@mLinea,25 SAY TRANSFORM(nVuelto,'999,999.99')
mLinea = mLinea + 2
@mLinea,11 SAY "No. de Articulos:"+SPACE(1)+ALLTRIM(STR(pArticulos))
mLinea = mLinea + 2
@mLinea,01 SAY REPLI("=",38)
mLinea = mLinea + 2
@mLinea,4 SAY alltrim(lcConfig.footer1)
mLinea = mLinea + 1
@mLinea,8 SAY alltrim(lcConfig.footer2)
mLinea = mLinea + 1
@mLinea,10 SAY alltrim(lcConfig.footer3)
mLinea = mLinea + 1
@mLinea,4 SAY alltrim(lcConfig.footer4)
mLinea = mLinea + 1
@mLinea,4 SAY alltrim(lcConfig.footer5)
*** FIN DEL REPORTE E IMPRESION ***
EJECT
???CHR(12)
SET DEVICE TO SCREEN
SET PRINTER TO
RETURN
Valora esta pregunta


0