Página 1 de 1

FastReport Xailer

Publicado: Mié Jun 19, 2024 4:18 pm
por cfuentes
Buenos días colegas, tengo la imperiosa necesidad de utilizar código QR y con la versión de Fastreport de Sergey, que es donde tengo la mayoría de mis reportes, no se puede.

La opción de Xailer si me brinda la opción, pero realmente me ha costado adaptarme. Inicialmente hice algunos reportes utilizando MemData con buenos resultados, pero se me complicaba y no me funcionaba en los casos de enviar estos objetos (oMemData, oFrXailerDataset1, oFastReport1) a funciones.

Opté por trabajar con :AddArray('Data', aData, aCampos), pero me da problemas con los campos numericos (no los trae), a pesar de utilizar el formato recomendado de aCampos := {"Codigo, c, 10""}, {"Descripcion,c,50"}, {"Monto, n, 12"},etc. }.

Trabajo todos los reportes con arreglos, tanto de los datos como de los campos. Han encontrado ustedes una manera mas simple de generar los reportes con FastReport de Xailer? Qué estoy haciendo mal? Alguna sugerencia?

Gracias anticipadas.

Saludos

Carlos Fuentes

Re: FastReport Xailer

Publicado: Dom Jun 23, 2024 2:52 am
por cfuentes
Buenas noches colegas, finalmente he encontrado la manera de trabajar arreglos de manera mas simple con el FastReport de Xailer.

Dejando prácticamente todo como se hacia con Sergey el cambio que hice fue el siguiente:

WITH OBJECT oFR
IF File( cFileReport )
TRY
oDS := :AddArray("Recibo", aData, aCampos)

eliminando por esto que antes utilizaba:

:SetUserDataSet( "Recibo", ; // DataSet Alias
cHeader, ; // Header String
{ || i := 1 }, ; // bGoTop
{ || i := i + 1 }, ; // bSkipPlus
{ || i := i - 1 }, ; // bSkipMinus
{ || i > Len(aData) }, ; // bCheckEOF
{ | cField | GetSQLValue( cField, aRepHeader, aData, i ) } ;
)
Claro di muchísimas vueltas antes. Cuando hice la pregunta al foro estaba bastante cerca pero no lo sabia. Cuál era mi error? sencillo

El arreglo aCampos lo definí así aCampos := {"Codigo, c, 10""}, {"Descripcion,c,50"}, {"Monto, n, 12"},etc. }

Viendo por enésima vez el ejemplo, bien sencillo por cierto del ejemplo de Xailer FArrays, noté un detalle que me pareció trivial, pero al fin distinto a como lo estaba haciendo, por el tipo de campo en minúscula. Con este cambio me funcionó perfectamente aCampos := {"Codigo, C, 10""}, {"Descripcion,C,50"}, {"Monto, N, 12"},etc. }, increíble para mi que esta sencillez hiciera la diferencia.

Si alguien no ha podido implementar el uso de FastReport con Xailer creo estar en capacidad de darle la mano y poder aclarar sus dudas. Estoy a su orden.

Gracias

Carlos Fuentes