Report con XFRX

288 views
Skip to first unread message

Miguel A.

unread,
Feb 17, 2020, 11:47:04 AM2/17/20
to Comunidad de Visual Foxpro en Español
Hola grupo,

¿Cómo puedo poner una condición en un report que ejecuto con la utilidad XFRX?. 
Mi problema es que no sé cómo implementar la cláusula FOR o WHILE y entonces me saca todos los registros de la tabla.

Saludos,
Miguel A.

Zarlu

unread,
Feb 17, 2020, 12:23:38 PM2/17/20
to Comunidad de Visual Foxpro en Español
Buenas tardes Miguel A.

Aquí se menciona algo acerca de los parámetros del método ProcessReport


Suerte
zarlu
Chetumal, Quintana Roo, México

Miguel A.

unread,
Feb 17, 2020, 12:38:04 PM2/17/20
to Comunidad de Visual Foxpro en Español
Gracias,
Creo que es lo que buscaba.
Un saludo,

Marcelo Barberis

unread,
Feb 18, 2020, 1:21:51 PM2/18/20
to publicesvfoxpro

Yo creo q primero debes crearte un cursor con los datos q deseas en el reporte solo eso. Bueno espero q sea eso de lo q consultas


--
Visita el Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/7b149250-ebd2-45cc-b783-5a8281625250%40googlegroups.com.

Aldo Dario Ghione Ferret

unread,
Feb 18, 2020, 1:27:24 PM2/18/20
to Marcelo Barberis, publicesvfoxpro
REPORT FORM FileName1  [FOR campo=valor

con esto puedes filtrar el reporte.  

De: publice...@googlegroups.com <publice...@googlegroups.com> en nombre de Marcelo Barberis <alexm...@gmail.com>
Enviado: martes, 18 de febrero de 2020 12:18
Para: publicesvfoxpro <publice...@googlegroups.com>
Asunto: Re: [vfp] Report con XFRX
 

Zarlu

unread,
Feb 18, 2020, 1:49:43 PM2/18/20
to Comunidad de Visual Foxpro en Español
Buenas tardes Marcelo Barberis y aghi...@hotmail.com

La situación es que Miguel A. no esta usando el reporteador de VFP está usando la librería XFRX y la manera de pasar parámetros difiere

Ejemplo:
loSession = XFRX('XFRX#INIT')
lnStatus = loSession.SetParams('orders.pdf', '', .F., ;
'', .T., .F., 'PDF')
if lnStatus = 0
loSession.ProcessReport('orders.frx')
loSession.Finalize()
else* handle error
endif lnStatus = 0

Miguel A.

unread,
Feb 18, 2020, 2:10:53 PM2/18/20
to Comunidad de Visual Foxpro en Español
Efectivamente Zarlu, y aquí el planteamiento cambia de forma radical. Aunque en la información pone que admite las cláusulas FOR y WHILE, no he conseguido hacerlo funcionar con ellas:

The ProcessReport method accepts the following parameters (all but the first are optional): 
 The name of the FRX file. 
 The FOR clause for the report. 
 .T. to use the SUMMARY clause. 
 The report scope (such as “REST” or “NEXT 20”). 
 The WHILE clause. 
 .T. to use “plain” format for HTML (no page breaks)

Mi código  es el siguiente:

local loSession, lnRetval
loSession= xfrx("XFRX#INIT")
lnRetVal = loSession.SetParams(cc3,,.t.,,,.t.,"PDF")
If lnRetVal = 0
loSession.ProcessReport("factagente", "FOR year(fecha)=2019")
Else
*? lnRetVal
Endif
loSession.finalize() && esta instruccion genera el archivo

Jose Antonio Blasco

unread,
Feb 19, 2020, 3:10:40 AM2/19/20
to Comunidad de Visual Foxpro en Español
Miguel A., esto es del manual de XFRX:

ProcessReport() : Processes the report. 

Syntax: ProcessReport(<tcReportName>, <tcForClause>, <tlSummary>, <tcScopeClause>, <tcWhileClause>, <tlPlain>) 

Parameters: 
tcReportName the name of the report file 
tcForClause the FOR clause [optional] 
tlSummary The summary clause switch. If set to .T., the report is processed as if SUMMARY clause was used in the REPORT FORM command [optional] 
tcScopeClause The string corresponding to the report's scope clause (such as NEXT 4, REST, ALL, RECORD nRecno). Default value is "ALL" [optional] 
tcWhileClause The while clause [optional]
tlPlain Plain format switch. Send .T. as this parameter to switch the HTML output to PLAIN format. The plain format doesn't generate any page breaks to the document - one long page will be generated. The default value is .F.

Un saludo.

Jose A. Blasco
Zaragoza - España
Visual FoxPro 9 SP2



--
Visita el Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.

Zarlu

unread,
Feb 19, 2020, 3:10:30 PM2/19/20
to Comunidad de Visual Foxpro en Español
Buenas tardes Miguel A.!

Toma nota..

close all
use orders
local loSession, lnRetval

loSession = XFRX('XFRX#INIT')
lnStatus  = loSession.SetParams('orders.pdf', '', .F.,;
'', .T., .F., 'PDF')
if lnStatus = 0
    loSession.ProcessReport('orders.frx',"dato=4")&&clausula FOR para dato=4
    loSession.Finalize()
ELSE
* handle error
ENDIF
lnStatus = 0

Return
Reply all
Reply to author
Forward
0 new messages