Prototipo clase FastManual para FastReport

374 views
Skip to first unread message

Rafa Carmona

unread,
Jan 21, 2013, 12:52:20 PM1/21/13
to fastreport_f...@googlegroups.com
Buenas foro.

Os informo que en un par de días dejaré la clase que he realizado, que nos va a permitir realizar reports de fastreport a través de un XML, asociado al .FR3 que tengamos.
Estoy haciendo pruebas con varios reportes , todos con éxito.

La idea básica, es tener 1 reporte FR3 vacio, y este será alimentado por el XML.

Por ejemplo, este PRUEBAS.XML definido ;

<REPORT oem="true" id="PRUEBAS" range1="CURRENT" range2="LAST" range3="" >
<WORKAREAS>
<DBF master="true"  name="FACTURAS" alias="FACTURAS" index="FACFECH.NTX"  filter="SUBSTR( HABITAC,6,1,) = ' ' " />
<DBF master="false" name="RESERVAS" alias="RESERVAS"  index="RESERVA.NTX"  />
<DBF master="false" name="AGENCIAS" alias="AGENCIAS"  index="AGENCIAS.NTX"  />
<DBF master="false" name="CONCEPTO" alias="CONCEPTO" index="CONCEPTO.NTX"  />
<DBF master="false" name="PRECIOS"  alias="PRECIOS"  index="PRECIOS.NTX"  />
<DBF master="false" name="CALENDAR" alias="CALENDAR" index="CALENDAR.NTX"  />
<DBF master="false" name="HOTELS"   alias="HOTELS"   />
<DBF master="false" name="CONTRATO" alias="CONTRATO" index="CONTRATO.NTX"  />
</WORKAREAS>
<MASTERDETAIL>
<DBF master="FACTURAS" detail="RESERVAS" expression="facturas->reserva"/>
<DBF master="RESERVAS" detail="AGENCIAS" expression="reservas->ag_cod"/>
</MASTERDETAIL>
<FUNCTIONS>
 <FUNCTION name="Function Empty( aParam: Variant): Boolean" description= "Devuelve .T. si la cadena esta vacia" category="PRUEBAS"  />
</FUNCTIONS>

</REPORT>

Creamos un PRUEBAS.FR3 vacio.

Ahora , la magia;

 oFast := TFastManual():New( "PRUEBA", bStart ) 

        oFast:SetPrinter( cPrinter )   // Podemos decir que impresora usar
        oFast:SetDesign( .T. ) // Podemos decir si entra en modo diseño
        oFast:SetTitle( cTitulo )        // Titulo del reporte
        oFast:SetFile( "prueba.pdf" ) // SI queremos que lo imprima directamente a pdf

oFast:Run()

Lo que hace la clase, es cargar el XML, abrir las dbs, hacer las relaciones e invocar a FastReport.
Ahora ya puedo preocuparse solo de diseñar el reporte.

Si lo que quiero hacer es cargar una dbf, y hacer una relación, NO TENGO que programar NADA, solo 
tengo que modificar el XML asociado al FR3 y ya está.

Esta clase me ha de cubrir el 95% de listados, que son miles.

¿ Alguien está interesado en esta clase ? 
¿ Alguien tiene algo similar a esto ?
Lo digo por si subirlo o no a github.

Saludos

Reinaldo Crespo

unread,
Jan 21, 2013, 12:58:03 PM1/21/13
to fastreport_f...@googlegroups.com
Rafa;

No tengo nada parecido escrito.  Igual que tu, me parece que esta solución cubre la mayoría de mis reportes.  Me gusta la idea.  El código fuente viene bien porque seguramente le tenga que hacer cambios para usar AOFs, Arrays, y Cursores de los que ya dependo mucho para mis reportes.

Saludos,


Reinaldo Crespo-Bazán



--
You received this message because you are subscribed to the Google Groups "FastReport for [x]Harbour, Alaska Xbase++, Visual FoxPro" group.
To view this discussion on the web visit https://groups.google.com/d/msg/fastreport_for_x_harbour/-/JsqAP9zxPfIJ.
To post to this group, send email to fastreport_f...@googlegroups.com.
To unsubscribe from this group, send email to fastreport_for_x_h...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/fastreport_for_x_harbour?hl=en.

Message has been deleted

Bingen

unread,
Mar 7, 2013, 4:15:00 AM3/7/13
to fastreport_f...@googlegroups.com
Hola Rafa nosotros tenemos algo parecido pero no es una clase nueva, hemos implementado a la clase de Sergey multitud de opciones para que genere los Report por nosotros.

Demasiado complejo para explicarlo aquí, pero si quieres ponte en contacto conmigo y te enseño lo que tenemos.

Salu2.

Milan Mehta

unread,
Mar 14, 2013, 9:49:27 AM3/14/13
to fastreport_f...@googlegroups.com
Dear Rafa,

I am interested in your class. It seems it will save me lot of coding.
Kindly let me know how would you like to proceed.

With best regards,

Milan.

Rafa Carmona

unread,
Mar 26, 2013, 9:46:23 AM3/26/13
to fastreport_f...@googlegroups.com
Milan, i have test ok.4
Tomorrow i put code in GitHub.
Regards
Reply all
Reply to author
Forward
0 new messages