In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

FAST REPORT e TDbfDataSet

Foro público de Xailer en español
Responder
Avatar de Usuario
Marcelo Coelho Silva
Mensajes: 269
Registrado: Sab May 31, 2008 4:49 pm
Ubicación: Brasil
Contactar:

FAST REPORT e TDbfDataSet

Mensaje por Marcelo Coelho Silva »

Prezados Senhores,
Estou tentando utilizar o FastReport com Xailer/TDbfDataSet ( ::oDbf ),
mas estou tendo o seguinte problema:
Quando chamo o Procedimento IMPRIMIR com lPreview := .f. ( DesignReport
) tudo ocorre bem e consigo montar o Produt001.fr3, porem, quando
lPreview := .t. (ShowReport) o FastReport diz (mensagem de erro) que
DataSet "Estoque" não existe.
Agradeço a quem poder me ajudar,
Att.
Marcelo Coelho Silva
Brasil.
PS: Se a variavel que recebe o objeto frReportManager não for PUBLIC da
erro GPS.
**** Trecho dos codigos utilizados abaixo. *****
Public Y_FReport
Y_FReport := frReportManager():new()
//---------------------------------------------------------- -------------------------------------
// Procedimento IMPRIMIR
With Object Y_FReport
:LoadFromFile("..reportprodut001.fr3")
If lPreview
// :SetWorkArea("Estoque", ::oDbf:Area() )
SetXailerDataSet( Y_FReport, "Estoque" , ::oDbf )
:ShowReport()
:ClearDataSets()
else
// :SetWorkArea("Estoque", ::oDbf:Area() )
// :SetWorkArea( "Estoque", 1 )
SetXailerDataSet( Y_FReport, "Estoque" , ::oDbf )
:DesignReport()
:ClearDataSets()
EndIf
:Clear()
End With
//---------------------------------------------------------- --------------------
Function SetXailerDataSet( oFrManager, cFrAlias, oDataSet )
Local cStr:='', x
For x := 1 to oDataSet:FieldCount()
cStr += oDataSet:FieldName(x) + ";"
Next
oFrManager:SetUserDataSet( cFrAlias, cStr,;
{||oDataSet:GoTop()}, {||oDataSet:Skip(1)}, ;
{||oDataSet:Skip(1)}, {||oDataSet:Eof()},;

{|cField|oDataSet:oFieldByName(cField):FieldGet()} )
Return Nil
Att.

Marcelo Coelho Silva
Brasil.
Avatar de Usuario
Marcelo Coelho Silva
Mensajes: 269
Registrado: Sab May 31, 2008 4:49 pm
Ubicación: Brasil
Contactar:

FAST REPORT e TDbfDataSet

Mensaje por Marcelo Coelho Silva »

Consegui funcionar alterando a posição do :LoadFromFile.
// corrigido...
With Object Y_FReport
If lPreview
// :SetWorkArea("Estoque", ::oDbf:Area() )
SetXailerDataSet( Y_FReport, "Estoque" , ::oDbf )
:LoadFromFile("..reportprodut001.fr3")
:ShowReport()
:ClearDataSets()
else
// :SetWorkArea("Estoque", ::oDbf:Area() )
// :SetWorkArea( "Estoque", 1 )
SetXailerDataSet( Y_FReport, "Estoque" , ::oDbf )
:LoadFromFile("..reportprodut001.fr3")
:DesignReport()
:ClearDataSets()
EndIf
:Clear()
End With
Em 14/08/2010 16:09, Marcelo Coelho Silva escreveu:
> Prezados Senhores,
>
>
> Estou tentando utilizar o FastReport com Xailer/TDbfDataSet ( ::oDbf ),
> mas estou tendo o seguinte problema:
>
> Quando chamo o Procedimento IMPRIMIR com lPreview := .f. ( DesignReport
> ) tudo ocorre bem e consigo montar o Produt001.fr3, porem, quando
> lPreview := .t. (ShowReport) o FastReport diz (mensagem de erro) que
> DataSet "Estoque" não existe.
>
> Agradeço a quem poder me ajudar,
>
> Att.
>
> Marcelo Coelho Silva
> Brasil.
>
>
> PS: Se a variavel que recebe o objeto frReportManager não for PUBLIC da
> erro GPS.
>
>
> **** Trecho dos codigos utilizados abaixo. *****
>
>
>
>
>
>
> Public Y_FReport
>
> Y_FReport := frReportManager():new()
>
> //---------------------------------------------------------- -------------------------------------
>
>
> // Procedimento IMPRIMIR
>
> With Object Y_FReport
> :LoadFromFile("..reportprodut001.fr3")
> If lPreview
> // :SetWorkArea("Estoque", ::oDbf:Area() )
> SetXailerDataSet( Y_FReport, "Estoque" , ::oDbf )
> :ShowReport()
> :ClearDataSets()
> else
> // :SetWorkArea("Estoque", ::oDbf:Area() )
> // :SetWorkArea( "Estoque", 1 )
> SetXailerDataSet( Y_FReport, "Estoque" , ::oDbf )
> :DesignReport()
> :ClearDataSets()
> EndIf
> :Clear()
> End With
>
>
>
>
> //---------------------------------------------------------- --------------------
>
>
>
> Function SetXailerDataSet( oFrManager, cFrAlias, oDataSet )
>
> Local cStr:='', x
>
> For x := 1 to oDataSet:FieldCount()
> cStr += oDataSet:FieldName(x) + ";"
> Next
>
> oFrManager:SetUserDataSet( cFrAlias, cStr,;
> {||oDataSet:GoTop()}, {||oDataSet:Skip(1)}, ;
> {||oDataSet:Skip(1)}, {||oDataSet:Eof()},;
>
> {|cField|oDataSet:oFieldByName(cField):FieldGet()} )
>
> Return Nil
>
Att.

Marcelo Coelho Silva
Brasil.
Responder