FoxPro/Visual FoxPro - dudas con crystal reporte 8.5

   
Vista:

dudas con crystal reporte 8.5

Publicado por LOLY (103 intervenciones) el 29/10/2009 18:30:43
Hola buenos dias... quisiera me ayudaran a conseguir COMPRENDER el codigo que obtuve de la red en la cual sirve para abrir reportes elaborados con Crystal Report 8.5.. demas baje un video pero no lo comprendo bien...

tengo la aplicacion llamdada TPSystem esta en la unidad C:\\TPSystem.. bajo este tengo las carpetas DATOS, REPORTS, TEMP, dice que para elaborar el reporte en crystal se debe de convertir la tabla a Fox2X. tome las tablas ventas.dbf y empresa.dbf... empresa esta contiene los datos del encabezado de la empresa.. y ventas el detalle de lo vendido... de la carpeta DATOS y las envio a TEMP convertidas a FOX2X. posteriormente abro Crystal Report 8.5 y elaboro el reporte y lo guardo en REPORTS puedes ser con el nombre de RVentas.rpt.. En Menu->Reportes->Ventas pongo el siguiente codigo...
********************************************
*** Menu -> Reportes -> Ventas
********************************************
PUBLIC cFileDat,cFilerep,pOpcion
SELECT VENTAS
SET ORDER TO cliente
cFileDat=ALIAS()
pOpcion=1
cFilerep='RVentas.rpt'
SET PROCEDURE TO funciones
=CrystalRep(cFileDat,cFilerep,pOpcion)

*******************************************************
****En archivo FUNCIONES tengo el siguiente codigo...
********************************************************
FUNCTION CrystalRep
PARAMETERS cFileDat,cFilerep,pOpcion
LOCAL vlArchivo1,vlArchivo2,oCR,oRpt,lnI

SELECT &cFileDat
vlArchivo1 = Getenv("TEMP") + [\] + Sys(2015) + [.dbf]
Copy To &vlArchivo1 Type Fox2x

*SELECT empresa
*vlArchivo2 = Getenv("TEMP") + [\] + Sys(2015) + [.dbf]
*Copy To &vlArchivo2 Type Fox2x

Wait Windows [Generando Informe] Nowait Noclear

repRuta='reports\'
oCR = Createobject("CrystalRuntime.Application")
oRpt = oCR.OpenReport(Fullpath([&repruta.&cFilerep.]))

* Cree el objeto Database
oDB = oRpt.Database()

* Obtenga una referencia a la colección DatabaseTables
ocDBT = oDB.Tables()

* Obtenga una referencia al objeto DatabaseTable para tabla 1
oDBT = ocDBT.Item(1)

* Asigne la ubicación
oDBT.Location = vlArchivo1

IF oRpt.HasSavedData
oRpt.DiscardSavedData()
ENDIF
WAIT clear
Do Case
Case pOpcion = 1 &&Pantalla

Do Form vista_previa With oRpt
Case pOpcion = 2 &&Impimir
oRpt.PrintOut(.F.)
Case pOpcion = 3 &&Impresora
Wait Windows [Confirme las Características de la Impresora ] + CHR(13) + [Puede Presionar ESC sin Cancelar la Impresión] Nowait
oRpt.PrinterSetup(0)
Wait Clear
oRpt.PrintOut(.T.)
Endcase
DELETE FILE (vlArchivo1)
EndFun

Tengo ademas un Form de Vista previa para que Insertar ahi el reporte...

** tengo entenido que el pasar el DBF a TEMP en fox2x es solo para Diseñar el Reporte...
posteriormente debera tomar el nombre del dbf y llevarlo a temporales de windows y de ahi tomar los datos para generar el reporte....

Necesito que alguien me explique detalladamente el codigo anterior porque no lo comprendo completamente...

Gracias Amigos
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
Imágen de perfil de XXX

Dudas con crystal reporte 8.5

Publicado por XXX (1368 intervenciones) el 29/10/2009 21:37:37
Loly, esto ya te fue contestado en otro foro por ES_BINARIO............$"·
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