Clarion - LinePrint y C5.5

 
Vista:

LinePrint y C5.5

Publicado por Ernesto  (14 intervenciones) el 17/07/2010 12:47:54
Hola Amigos del Foro:
Tenía una app en C4 (Ya sé que esto parece MUY ANTIGUO), pero es así...la pasé a C5.5 y ahora el Lineprint me imprime mal los saltos y todo corrido...(Las impresoras son las mismas y el SO también W98)....hay algún reporte de mal funcionamiento de Lienprint en c5.5 o alguna cosa que me puedan indicar???
Gracias por adelantado.....saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:LinePrint y C5.5

Publicado por Marcelo Madelon (572 intervenciones) el 17/07/2010 15:08:09
! IMPRIMIR CON LINEPRINT
! Agregar desde los Embeds de la GLOBAL :
! AFTER GLOBAL INCLUDEs
Include('prnprop.clw')

Aca te paso un ejemplo (parte de una rutina) vos analizala y toma lo que te sirva

LOC:DefaultPrinter = (PRINTER{PROPPRINT:Device}) ! Guardo la Impresora por Predeterminada
LOC:ReceiptPrinter = 'Epson LX-810' ! Cambio por la Epson LX-810
PRINTER{PROPPRINT:Device}=CLIP(LOC:ReceiptPrinter)


LOC:CanCopias = 3

BA# = 0
Loop BA# = 1 to LOC:CanCopias BY 1

LinePrint('<27,64>',,0) ! Inicializo Impresora
LinePrint('<27,67,72>',,0) ! Longitud pagina a 72 Líneas
LinePrint('<27,102,1,4>',,0) ! Salta 4 Lineas
LinePrint(CHR(27)&CHR(18)&' FECHA EMISION: '&(format (FAC1:FechaEmision,@d6)))
LinePrint('<27,102,1,4>',,0) ! Salta 4 Lineas
LinePrint(CHR(27)&CHR(18)&' '&AC1:ApellidoNombre)
LinePrint(CHR(27)&CHR(18)&' '&AC1:Direccion)
LinePrint(CHR(27)&CHR(18)&' '&AEN:Localidad &' '&Format(AC1:Cuit,@P##-########-#P)&' '&ASI:Abreviatura)

FAC2:VectorVta = FAC1:VectorVta
SET(FAC2:KeyVectorVta,FAC2:KeyVectorVta)
LOOP UNTIL Access:Afact002.Next() or FAC2:VectorVta <> FAC1:VectorVta or LOC:CanLin > 27

IF FAC1:Letra = 'A'
LinePrint(CHR(27)&CHR(15)&FAC2:CodArticulo&' '&Format(FAC2:Cantidad,@N9.2)|
&' '&FAC2:Denominacion&' '&Format(FAC2:Gravado,@N9.2)&' '&Format(FAC2:TotalGravado,@N9.2))
ELSE
LinePrint(CHR(27)&CHR(15)&FAC2:CodArticulo&' '&Format(FAC2:Cantidad,@N9.2)|
&' '&FAC2:Denominacion&' '&Format(FAC2:PrecioUnitario,@N9.2)|
&' '&Format(FAC2:ImporteTotal,@N9.2))
LOC:ImpSubTotal += FAC2:ImporteTotal
END
LOC:CanLin += 1
END ! Loop

LinePrint(CHR(27)&CHR(102)&CHR(1)&CHR(33-LOC:CanLin),,0) ! Salta (33 - LineasImpresas)
! Imprimo Total
IF FAC1:Letra = 'A'
LOC:ImpSubTotal = (FAC1:ImporteGravado1 + FAC1:ImporteGravado2 + FAC1:ImporteExento1)
LOC:ImpDescuento = FAC1:ImpDescuento
LOC:ImpSubTotalNeto = (FAC1:NetoGravado1 + FAC1:NetoGravado2 + FAC1:NetoExento1)
LOC:ImpIva = (FAC1:ImpivaRi_1 + FAC1:ImpivaRi_2)
LinePrint(CHR(27)&CHR(15)&|
' '&Format(LOC:ImpSubTotal,@N14.2)&' '&Format(LOC:ImpDescuento,@N14.2)&' 0.00 '&|
' '&Format(LOC:ImpSubTotalNeto,@N14.2)&' '&Format(LOC:ImpIva,@N14.2)&|
' '&Format(FAC1:ImpivaRni_1,@N14.2)&' '&Format(FAC1:ImporteTotal,@N14.2))
ELSE
LOC:ImpDescuento = ((LOC:ImpSubTotal * FAC1:PorDescuento) / 100)
LOC:ImpSubTotalNeto = FAC1:ImporteTotal
LOC:ImpIva = (FAC1:ImpivaRi_1 + FAC1:ImpivaRi_2)
LinePrint(CHR(27)&CHR(15)&|
' '&Format(LOC:ImpSubTotal,@N14.2)&' '&Format(LOC:ImpDescuento,@N14.2)&' 0.00 '&|
' '&Format(LOC:ImpSubTotalNeto,@N14.2)&' '&' 0.00'&|
' '&' 0.00'&' '&Format(FAC1:ImporteTotal,@N14.2))
END
LinePrint(CHR(27)&CHR(18)&' ')
LinePrint('<27,102,1,1>',,0) ! Salta 1 Lineas
! Imprimo Pie
LinePrint(FF)

END ! Loop

LinePrint('<27,64>',,0) ! Inicializo Impresora
LinePrint('<27,67,72>',,0) ! Longitud pagina a 72 Líneas
PRINTER{PROPPRINT:Device}=CLIP(LOC:DefaultPrinter) ! Devuelvo la impresora predeterminada


Espero te sirva, Cualquier cosa llama.

Saludos desde Venado Tuerto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:LinePrint y C5.5

Publicado por Ernesto Weimann (14 intervenciones) el 20/07/2010 22:18:51
Gracias Marcelo:
Graaaaaciaass Marceeeeeeeeeelo....(Tinelli)...juajua
Ahora en serio, muchas gracias y seguro me va a servir, yo lo tenía bastante más simple en C4, pero lo voy a implementar así y después te comento...
Saludos y un abrazo....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:LinePrint y C5.5

Publicado por Federico (43 intervenciones) el 17/02/2012 21:59:36
Marcelo, quisiera saber si no me podes enviar a mi correo particular [email protected] el template que usas para el line print porque el que tengo y el que se da en forma gratuita en la red no interpretan ni a palo algunos de los comandos que vos pones como ejemplo.
Yo tengo los templates: lineprint, lineprin1, nova15, noval30, nova40
y en ninguno de estos me interpretan
LinePrint('<27,64>',,0), me dice que hay un error de sintaxis y si le pongo por ejemplo
LinePrint('<27,64>',LOC:Impresora,0) me sigue dando error de sintaxis, pero
si le pongo asi LinePrint('<27,64>',LOC:Impresora), lo inerpreta pero jamas me sale nada en la impresora de red.
Concretamente tengo una impresora LX-300+ instalada en un pritserver de un solo puerto serial, la idea es que con el lineprint pueda imprimir en esa impresora desde cualquier maquina. Basicamente queremos facturar los servicios que hacemos desde cualquier terminal y enviarla a la impresora que esta en el printserver. Mi printserver se le ve en la red como '\\192.168.123.157\lp1' y no hay caso desde el lineprint hacerla funcionar y menos todavia con el template prindrv(). Ahora mismo guardo en una variable la predeterminada de la terminal e imprimo en la impresora de red mediante un report interno en la aplicacion, el problema es que el report se me va casi una pagina completa y tengo que levantarme a poner bien cada vez que hacemos una factura, por eso la idea fue de usar el lineprint para poder controlar las lineas de impresion. O si tenes alguna idea de como controlar el report sin que me imprima como si fuera un folio de 8½ x 13 cuando mi factura es solo de 49 lineas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar