FoxPro/Visual FoxPro - Impresion con SET PRINTER y @SAY

 
Vista:

Impresion con SET PRINTER y @SAY

Publicado por Edgar Anaya (2 intervenciones) el 09/05/2007 20:26:18
Hola a todos estoy tratando de imprimir con SET PRINTER TO y @SAY pero al momento de imprimir, imprime una linea gruesa en ves del dato y no se porque por ejemplo

@05,00 SAY "=========================="
imprime ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶
el character es un ejemplo porque en realidad es una linea y eso se repite en todo los SAY

este es el codigo del PRG

* Program.: Todos.prg
* Notes...: Reporte de Resumen de Documentos

Nf = 0
oPagina = 0
oMonto = 0
oTotBruto = 0
oTotDscto = 0
oTotMonto = 0
oBruto = 0
oReferencia = ""

oTabCabe = MiRuta + "Trans\TR00" + oMes + oYear + ".Dbf"
* --- archivos a usar --- *
WAIT "Revisando los Datos..." WINDOW TIMEOUT 2
SELECT 10
use &oTabCabe
DO CASE
CASE oRptTipo = 1
oReferencia = oMes + "-TODOS DOC."
IF LEN(ALLTRIM(oCaja)) = 0 THEN
SET FILTER TO (Trn_Fecha >= oDesde AND Trn_Hora >= oHora1) AND (Trn_Fecha <= oHasta AND Trn_Hora <= oHora) AND Trn_Anu <> "*"
ELSE
SET FILTER TO Trn_File = oCaja AND (Trn_Fecha >= oDesde AND Trn_Hora >= oHora1) AND (Trn_Fecha <= oHasta AND Trn_Hora <= oHora) AND Trn_Anu <> "*"
ENDIF
Case oRptTipo = 2
oReferencia = oMes + "-EXONERADOS"
IF LEN(ALLTRIM(oCaja)) = 0 THEN
SET FILTER TO (Trn_Fecha >= oDesde AND Trn_Hora >= oHora1) AND (Trn_Fecha <= oHasta AND Trn_Hora <= oHora) AND Trn_Desc > 0 AND Trn_Anu <> "*"
ELSE
SET FILTER TO Trn_File = oCaja AND (Trn_Fecha >= oDesde AND Trn_Hora >= oHora1) AND (Trn_Fecha <= oHasta AND Trn_Hora <= oHora) AND Trn_Desc > 0 AND Trn_Anu <> "*"
ENDIF
ENDCASE
WAIT "Ordenando la base..." WINDOW TIMEOUT 2
INDEX on DTOs(trn_fecha)+Trn_Caja TO Cabe
GO TOP

SET CONS OFF
IF oSalida = 1
SET CONS OFF
SET DEVI TO PRINT
SET PRINTER TO &oRptFile
SET MARG TO 0
ENDIF

IF oSalida = 2
SET DEVI TO PRINTER
SET MARG TO 0
SET PRINTER ON
SET PRINTER TO NAME GETPRINTER( )
ENDIF

IF oSalida = 3
SET CONS OFF
SET DEVI TO PRINT
SET PRINTER TO &oRptFile
SET MARG TO 0
ENDIF


oMonto = 0
DO Titu01
Nf = 8
oTotBruto = 0
oTotDscto = 0
oTotMonto = 0
SELECT 10
DO WHILE .NOT. EOF()

@Nf,001 SAY Trn_File
@Nf,005 SAY TRANSFORM(Trn_Numero,"999-9999999")
@Nf,017 SAY ALLTRIM(Trn_MiDoc)
@Nf,029 SAY TRANSFORM(Trn_Fecha,"99/99/9999")
@Nf,040 SAY TRANSFORM(Trn_Hora,"99:99")
@Nf,046 SAY TRANSFORM(Trn_Cajero,"99")
@Nf,049 SAY ALLTRIM(Trn_Ruc)
@Nf,061 SAY Left(Trn_Razon,30)
IF Trn_Anu = "A" THEN
@Nf,092 SAY "--------- A N U L A D O --------"
ELSE
oBruto = Round(Trn_monto + Trn_Desc,2)
@Nf,092 SAY TRANSFORM(oBruto,"999,999.99")
@Nf,103 SAY TRANSFORM(Trn_Desc,"999,999.99")
@Nf,114 SAY TRANSFORM(Trn_monto,"999,999.99")
oTotBruto = Round(oTotBruto + oBruto,2)
oTotDscto = Round(oTotDscto + Trn_Desc,2)
oTotMonto = Round(oTotMonto + Trn_monto,2)
ENDIF

SELECT 10
SKIP

Nf = Nf + 1
IF Nf > 60
DO Titu01
ENDIF

ENDDO EOF()

Nf = Nf + 1
@Nf,000 SAY "============================================================================================================================="
@Nf,080 SAY "***TOTAL : "
@Nf,092 SAY TRANSFORM(oTotBruto,"999,999.99")
@Nf,103 SAY TRANSFORM(oTotDscto,"999,999.99")
@Nf,114 SAY TRANSFORM(oTotMonto,"999,999.99")

IF oSalida = 1 THEN
FOR i=1 TO 10
Nf = Nf + 1
@Nf,000 SAY ""
ENDFOR
ENDIF

*EJECT
SET MARG TO 00
SET PRIN TO
SET PRIN OFF
SET DEVI TO SCRE
SET CONS ON
IF oSalida = 1
DO Panta
ENDIF
IF oSalida = 2
messagebox ("Se Imprimió el reporte Satisfactoriamente...")
ENDIF

RETURN

* --- Muestra reportes por pantalla --- *
PROCEDURE Panta
DEFINE WINDOW Pantalla FROM 00,00 TO 45,100 DOUBLE
ACTIVATE WINDOW Pantalla
MODI COMM &oRptFile WINDOW Pantalla NOEDIT
DEACTIVATE WINDOW Pantalla
RETURN

* --- Titulo del reporte --- *
PROCEDURE Titu01
oPagina = oPagina + 1
@00,00 SAY ALLTRIM(MiEmpresa)
@01,00 SAY " RELACION DE DOCUMENTOS Pagina: "+ Right("00000000"+ alltrim(STR(oPagina)),8)
@02,00 SAY " DEL " + DTOC(oDesde) + " AL " + DTOC(oHasta) + " Fecha : "+DTOC(DATE())
@03,00 SAY "Consul.: " + oReferencia +" Hora .: "+TIME()
@04,00 SAY "============================================================================================================================="
@05,00 SAY " DOCUMENTO FECHA HISTORIA TOTAL TOTAL TOTAL "
@06,00 SAY " CAJ -No TICKET- FARMA/EXON. -EMISION-- HORA CJ --CLINICA-- ----- NOMBRE DEL PACIENTE ---- --BRUTO--- EXONERADO --COBRADO- "
@07,00 SAY "============================================================================================================================="
* 999 999-9999999 999-9999999 99/99/9999 99:99 99 99999999999 123456789012345678901234567890 999,999.99 999,999.99 999,999.99
* ***TOTAL :
* 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
* 1 2 3 4 5 6 7 8 9 10 11
Nf = 08
RETURN

muchas gracias por su respuesta
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:Impresion con SET PRINTER y @SAY

Publicado por Hector R. De los Santos (270 intervenciones) el 09/05/2007 23:02:52
A ver si entendi bien...cuando mandas a imprimir @say '======' te sale otra cosa menos eso.
Eso puede ser por la fuente que tenga tu impresora..si es un matrixial(LX-300,etc), verifica la fuente que tiene por defecto.

Bytes!
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