FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour FastReport - É possivel relacionar dois arrays?
Posts: 1286
Joined: Mon Feb 25, 2008 02:54 PM
FastReport - É possivel relacionar dois arrays?
Posted: Mon Aug 12, 2013 08:28 PM

Utilizando fastreport é possível relacionar 2 arrays?

utilizando tabela faço assim:

oFast:SetMasterDetail( 'cliente', 'cidade', { || cliente->cidade } )

mais e com array?

ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
Posts: 132
Joined: Thu Mar 08, 2007 06:12 PM
Re: FastReport - É possivel relacionar dois arrays?
Posted: Tue Aug 13, 2013 11:58 PM
Saludos !
Yo lo hago de esta forma

Code (fw): Select all Collapse
LOCAL oPrn, oBmp
LOCAL nCont, nCol, nLin, nReg
LOCAL cNombre   := ALLTRIM( cQryCond:nombre ) ,;
      cFileMail := "Reporte de Gastos.pdf"    ,;
      cOrigen   := ALLTRIM( oApp:cMailUser )  ,;
      cFilepdf ,;
      bBlock

DEFAULT lMail    := .F. ,;
        cDestino :=  ALLTRIM( cQryCond:email )
*--
IF LEN( aDatos ) = 0
   MSGINFO( "NO HAY MOVIMIENTOS QUE IMPRIMIR", oApp:cSistema )
   RETURN
ENDIF
*--
bBlock := { || DETALLAGASTOS( aDatos[nCont] ) }   && Verifica el MasterDetail
*--
oPrn := frReportManager():New()
oPrn:LoadLangRes("Español.xml")
*--
            // MasterData
oPrn:SetUserDataSet("aDatos",;
                    "codigo;descripcion;monto;tipo;referencia;edificio;inmueble" ,;
                    {|| nCont := 1, IIF( nCont <= LEN( aDatos ), EVAL( bBlock ),) },;
                    {|| nCont := nCont + 1, IIF( nCont <= LEN( aDatos ), EVAL( bBlock ),) },;
                    {|| nCont := nCont - 1, IIF( nCont <= LEN( aDatos ), EVAL( bBlock ),) },;
                    {|| nCont > LEN( aDatos ) },;
                    {| aField,nCol | nCol := IIF( aField == "codigo"      , 1 ,;
                                             IIF( aField == "descripcion" , 2 ,;
                                             IIF( aField == "monto"       , 3 ,;
                                             IIF( aField == "tipo"        , 4 ,;
                                             IIF( aField == "referencia"  , 5 ,;
                                             IIF( aField == "edificio"    , 6 ,;
                                             IIF( aField == "inmueble"    , 7 , ))))))),;
                     aDatos[ nCont, nCol ] } )
*--
        // Master Detail
oPrn:SetUserDataSet("aFactu","concepto;factura;detalle;monto" ,;
                    {|| nReg := 1 },;
                    {|| nReg := nReg + 1 },;
                    {|| nReg := nReg - 1 },;
                    {|| nReg > LEN( aDetFact ) },;
                    {| aField,nLin | nLin := IIF( aField == "concepto" , 1 ,;
                                             IIF( aField == "factura"  , 2 ,;
                                             IIF( aField == "detalle"  , 3 ,;
                                             IIF( aField == "monto"    , 4 , )))),;
                     aDetFact[ nReg, nLin ] } )
*--

--
STATIC PROCEDURE DETALLAGASTOS( aDatos )
*--
LOCAL cClv := aDatos[1]
aDetFact := {}
ASCAN( aDetaMov, { | aVal | IIF( aVal[1] == cClv,;
       AADD( aDetFact,{ aVal[1],aVal[2],aVal[3],aVal[4] } ),) } )
RETURN
Harbour / Bcc / MinGW / Fwh 13.9
Posts: 1286
Joined: Mon Feb 25, 2008 02:54 PM
Re: FastReport - É possivel relacionar dois arrays?
Posted: Wed Aug 14, 2013 02:39 AM

Muito obrigado

ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin

Continue the discussion