FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ¡¡¡¡¡AYUDA!!!!! FASTREPORT CON FIVEWIN
Posts: 9
Joined: Wed Feb 16, 2011 12:25 PM
¡¡¡¡¡AYUDA!!!!! FASTREPORT CON FIVEWIN
Posted: Mon Feb 21, 2011 01:42 PM

Muy buenas a el foro, a ver si me podeis ayudar. Estoy haciendo un informe en fastreport enviandole los datos desde un codigo en fivewin. Tengo una BBDD DBF y un archivo para filtrarlo NTX, pues bien no hay manera de que el fastreport me saque los datos filtrados correctamente. Si me pudieran ayudar con el código para ver que estoy haciendo mal os lo agradeceria.

clave:=formateaClave(clave)
select (cAlias1)
ordsetfocus(1)
ordscope(1,clave)
ordscope(2,clave2)
COUNT TO ntotal ALL
dbgotop()

oFr:=frReportManager():new()
with object oFr
:SetTitle("Informe")
:SetWorkArea("informe",1)
:LoadFromFile("informe1.fr3")
: DesignReport()
: DestroyFr()
end with

Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: ¡¡¡¡¡AYUDA!!!!! FASTREPORT CON FIVEWIN
Posted: Tue Feb 22, 2011 12:24 PM
Alvduqant;
No se si el Report respeta el Scope, porque vos le pasas al metodo, :SetWorkArea(), el área en cuestión. Al parecer por lo que comentas no.
Una opcion sería pasar tu scope a un array.
Una vez construido el array, lo hago así:
(tener en cuenta que nRow es una variable private y hP3:aArticulos es static, mirá la ayuda de FR)
Code (fw): Select all Collapse
   oFr:SetUserDataSet( "aLista", "codigo;descri;unid;cantid;prcvta;prctot", ;
                       {||m->nRow := 1}, ;                     //--> bGoTop
                       {||m->nRow := m->nRow + 1}, ;           //--> bSkipPlus
                       {||m->nRow := m->nRow - 1}, ;           //--> bSkipMinus
                       {||m->nRow > Len( hP3:aArticulos )}, ;  //--> bCheckEOF
                       {|aField,nCol| nCol:= if( aField == "codigo", 2, ;
                                             if( aField == "descri", 3, ;
                                             if( aField == "unid",   4, ;
                                             if( aField == "cantid", 5, ;
                                             if( aField == "prcvta", 6, ;
                                                                     7 ))))), hP3:aArticulos[m->nRow,nCol] } )

   oFr:LoadFromFile( hP3:cRuta+"DctoX.fr3")   // Este metodo SIEMPRE VA DESPUES del SetUserDataSet

   // Variables
   oFr:AddVariable( "Cliente", "Fecha", "'"+DtoC(Date() )+"'" )
   oFr:AddVariable( "Cliente", "Nombre", "'"+hP3:aDatCli["RazSoc"]+"'" )
   oFr:AddVariable( "Cliente", "Direcc", "'"+hP3:aDatCli["Direcc"]+"'" )
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 9
Joined: Wed Feb 16, 2011 12:25 PM
Re: ¡¡¡¡¡AYUDA!!!!! FASTREPORT CON FIVEWIN
Posted: Thu Mar 17, 2011 10:12 AM

Muchas gracias por todo, ya lo solucioné.

Continue the discussion