Page 1 of 1

Pasar en variable un Arreglo a FASTREPORT

Posted: Fri Sep 30, 2011 1:41 am
by GuillermoMtz
Buen Dia Foro! :)

Tengo poco tiempo usando el FastReport y la verdad todavia no me adapto muy bien, me parece una herramienta esplendida. Mi duda es la siguiente:

Me gustaría saber si hay manera de enviarle al FastReport en modo de variable un arreglo?

Es decir, lo puedo mandar como tipo Dato pero es necesario una Banda para poder mostrar los datos. Me interesa saber si puedo mandar una variable con un arreglo para poder poner 'X' posición del arreglo (ejemplo: [xareglo[1,2]]) en cualquier parte del reporte sin necesidad de agregar una Banda de datos.

Espero Haberme explicado. En caso de que ya exista la solución a esta duda que tengo les pido disculpas :oops: . Les agradecería de antemano si me pusieran el Link en caso de que existiera ya la solución.

Muchas Gracias!, Saludos y Exito! :D

Re: Pasar en variable un Arreglo a FASTREPORT

Posted: Fri Sep 30, 2011 3:48 am
by compubrion
Saludos !

Claro que es posible, puedes usar las siguientes funciones.

GetHbArrayVar() para arreglos

GetHbVar() para variables simples

En el manual estan detalladas

Re: Pasar en variable un Arreglo a FASTREPORT

Posted: Sat Oct 01, 2011 12:45 am
by GuillermoMtz
Gracias CompuBrion!

:oops: No habia observado que se encontraban esas funciones xHarbour!


Tengo otra Duda:

Un ejemplo:
Tengo un reporte con una banda Maestra la cual la obtengo de un arreglo de Datos y requiero sobre esa banda de Datos generar totales de cada vez que cambie el valor de la columna 1 (es un decir), como le hago para que se detenga cada vez que cambie el valor de la columna y agregue los totales de 'x' columna.

:idea: Por el momento lo que eh realizado es lo siguiente:

Lo estoy haciendo con banda Maestra y una Detalle pero al momento de generar el reporte, en cada maestro me muestra todos los detalles de a partir de donde localiza el maestro asi confome avanza el reporte, cada vez va mostrando menos detalle en cada maestro hasta el ultimo maestro lo hace correctamente, es decir, imprime nomas los qe deben de ir.(La imagen es el ejemplo de lo que me pasa.)

Así es como relaciono los Datos para las Bandas:

Code: Select all

   FrPrn:= frReportManager():new()
  *ASIGNAMOS EL DATASET CON LOS DATOS MAESTROS DEL REPORTE
   FrPrn:SetUserDataSet("DatosM", cDatosM,;
                        {||y := 1},;
                        {||y := y + 1},;
                        {||y := y - 1},;
                        {||y > Len(aDatosM)},;
                        {|aField| aDatosM[y, val(substr(aField,8,2))]})



     *ASIGNAMOS EL DATASET CON LOS DATOS DETALLE DEL REPORTE
      FrPrn:SetUserDataSet("DatosD", cDatosD,;
                           {||z := mscan(aDatosD,1,aDatosM[y,1]) }, ;
                           {||z := z + 1}, ;
                           {||z := z - 1}, ;
                           {||z > Len(aDatosD)  },;
                           {|aField| aDatosD[z, val(substr(aField,8,2))]})

 
Esta es una visualizacion de lo que me pasa con las bandas:

Image

Gracias! por tomarse el tiempo en leerlo. Saludos a todos! :D

Re: Pasar en variable un Arreglo a FASTREPORT

Posted: Sat Oct 01, 2011 2:37 am
by compubrion
Saludos !
Agregale un footer a la banda detalle en esta colocas los totales y otros tados que quieras por cada grupo que procesa

Re: Pasar en variable un Arreglo a FASTREPORT

Posted: Sat Oct 01, 2011 7:40 pm
by GuillermoMtz
Compubrion, Hola!

Muchas Gracias, Me funciono poniendo un PIE como decías, y ahí realizo la Sumatoria de los registro de la columna x.

Pero lo que me preocupa mas es como le hago para que no me repita los datos asi como te mostre en la imagen, que me duplique los datos en cada cabecero?


Gracias nuevamente!, te agradesco por tomarte el tiempo. :D