Page 1 of 1

Problemas con report group y arrays

Posted: Wed Mar 11, 2009 1:11 am
by Marco Augusto
TENGO UN REPORTE SOBRE UN ARREGLO
Y CUANDO UTILIZO LA OPCION GROUP ME MANDA UN ERROR
FUNCIONA OK SIN LA CLAUSULA GROUP ON

Application
===========
Path and name: C:\GPM\SISTEMA\WGPM.exe (32 bits)
Size: 2,893,312 bytes
Time from start: 0 hours 0 mins 16 secs
Error occurred at: 03/09/2009, 20:57:06
Usuario : MARCO / Marco Augusto Rodriguez Manzo
Error description: Error BASE/1132 Bound error: array access
Args:
[ 1] = A { ... }
[ 2] = N 178

Stack Calls
===========
Called from: cmov9.prg => (b)RGASCOMP(640)

EL CODIGO ES EL SIGUIENTE:

AREP2:=ASORT(AREP,,,{|X,Y| X[7]<Y[7]})
DEFINE FONT oFont1 NAME "TAHOMA" SIZE 0,-8 BOLD
DEFINE FONT oFont2 NAME "TAHOMA" SIZE 0,-8
DEFINE FONT oFont3 NAME "TAHOMA" SIZE 0,-12
DEFINE FONT oFont4 NAME "TAHOMA" SIZE 0,-10 BOLD
I:= 1 ; nHasta := LEN(AREP)
REPORT oReport TITLE TIT1,TIT2,TIT3 HEADER X_CIA CENTER ;
FOOTER "PAGINA: "+TRANS(oreport:npage,"999")+SPACE(40)+;
"FECHA : "+TRANS(FECHASIS,"@E") CENTER ;
FONT oFont1,oFONT2,oFONT3,oFONT4 FROM USER PREVIEW
GROUP ON AREP2[I,7] FOOTER " " HEADER " "
COLUMN TITLE "RESPON" DATA AREP2[I,7] GRID
COLUMN TITLE "NUMERO" DATA CIZQ(AREP2[I,1],8) GRID
COLUMN TITLE "NUMSOL" DATA IIF(AREP2[I,2]=0,' ',CIZQ(AREP2[I,2],8)) SIZE 10 GRID
COLUMN TITLE "FECHA" DATA TRANS(AREP2[I,3],'@E') GRID
COLUMN TITLE "ASUNTO" DATA TRANS(AREP2[I,4],'@X') SIZE 40 GRID
COLUMN TITLE "IMPORTE SOLICITUD" DATA AREP2[I,5] PICTURE "999,999,999.99" TOTAL GRID
oReport:oHeader:afont[1]:={||3}
oReport:oTITLE:afont[1] :={||4}
oReport:oTITLE:afont[2] :={||4}
oReport:oFOOTER:afont[1]:={||2}
oReport:CELLVIEW()
oReport:bWhile := { || I <= nHasta }
IF oReport:lCreated
oReport:bSkip := { | | I++}
ENDI
END REPORT
ACTIVATE REPORT oReport
oFont1:End()
oFont2:End()
oFont3:End()
oFont4:End()

Re: Problemas con report group y arrays

Posted: Wed Mar 11, 2009 1:31 am
by Daniel Garcia-Gil
Marco ya has abierto un tema al respecto y te lo ha respondido FranciscoA

http://forums.fivetechsupport.com/viewt ... 740#p76740

Re: Problemas con report group y arrays

Posted: Thu Mar 12, 2009 1:08 am
by Marco Augusto
GRACIAS A FRANCISCOA

PERO EL ERROR CONTINUA
ES UN ERROR EL LA CLASE TRGROUP
DA LA IMPRESION QUE ESTA CLASE NO CONTROLA EL FIN DEL ARRAY
HICE UNA PRUEBA RESTANDO UN NUMERO AL TAMAÑO DEL ARREGLO
Y FUNCIONO, PERO OBVIAMENTE FALTA UN REGISTRO EN EL REPORTE

COMO PODRIA CORREGIR ESTA CLASE ?

Re: Problemas con report group y arrays

Posted: Thu Mar 12, 2009 11:58 pm
by derpipu
Hola yo uso la Clase TArray, que ya se encuentra en las contribuciones de este foro, y los reportes me salen OK, con agrupaciones y todo, si gustas un ejemplo contactame a mi correo privado y te paso un ejemplo..

Saludos

habra alguna solucion

Posted: Sat Mar 14, 2009 12:33 am
by Marco Augusto
??????

Re: Problemas con report group y arrays

Posted: Mon May 11, 2009 2:10 am
by cmarucco
Marco: Tal lo enviado a tu correo se me ocurrio esto .....
a mi me pasaba lo mismo se me ocurrio algo e hice la siguiente introduccion en MI codigo de programa

aTabla:= Asort( aTabla ,,, { |X,Y| (x[1]+x[2] ) < (y[1]+y[2] ) } )

AAdd(aTabla,{"9999" ,;
"99" ,;
0 ,;
" " } )

Es decir ... que despues que ternino de procesar el archivo y cargandolo en el array y despues de clasificarlo para poder hacer los grupos ... le agrego un registro con cualquier valor a la ultima posicion de la tabla ... como no la va a imprimir .... listo ...!!!!!!!!

Group oGrupo1 on (aTabla[nField][4]) ;
Header "Localidad: " + ( oReport:aGroups[ 1 ]:cValue );
Footer "Total Localidad: " + ( oReport:aGroups[ 1 ]:cValue );
FONT 3

oReport:bSkip := {|| nField++}
oReport:cGrandTotal := "Total General "
oReport:cPageTotal := "Total Parcial Pagina: "
oReport:nTitleUpLine := RPT_SINGLELINE
oReport:nTitleDnLine := RPT_SINGLELINE
oReport:nGroupLine := RPT_NOLINE


END REPORT

ACTIVATE REPORT oReport WHILE (nField + 1) <= Len(aTabla);
on POSTgroup (oReport:Newline())


Espero que te sea de utilidad .....

Carlos Gustavo Marucco
Patagonia Argentina .