Utilizando fastreport é possível relacionar 2 arrays?
utilizando tabela faço assim:
oFast:SetMasterDetail( 'cliente', 'cidade', { || cliente->cidade } )
mais e com array?
Utilizando fastreport é possível relacionar 2 arrays?
utilizando tabela faço assim:
oFast:SetMasterDetail( 'cliente', 'cidade', { || cliente->cidade } )
mais e com array?
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] } ),) } )
RETURNMuito obrigado