Problemas con Report
Posted: Wed Nov 21, 2007 2:54 am
Hola amigos, haber si a alguien le ha ocurrido.
Genero un reporte desde un array y necesito poner los datos de un campo memo final del reporte, luego de mostrar los totales.
este es el código actual, que funciona especificando la posición.
METHOD Impnota() CLASS FT617Add
LOCAL oRte, acol,nFor
nFor := 1
nSaldo := 0
Report oRte;
Title "***INFORME CLIENTE***" ,;
"Número : " + ::vGet[03] ,;
"Nombre : " + ::vGet[01] + " Rut : "+ Trans(::vGet[02], "@R 99,999,999-!") CENTER;
Header "Razón social : ", "Rut : " , "Página :" + Trans( oRte:nPage, "99" ) Left;
Caption "CLIENTES" Footer "Elaborado por:";
Font oFont1, oFont2;
Preview
Column Title "Descripción" DATA AR_DATOS[nFor][VD_DESPRO] size 35
Column Title "Total" DATA AR_DATOS[nFor][VD_SUBTOT] size 10 TOTAL PICTURE "999,999,999"
END REPORT
oRte:bSkip := {|| nFor++}
oRte:bEnd := { || ::NuevosDatos( oRte ) }
Activate Report oRte WHILE Len( AR_DATOS ) >= nFor;
ON STARTPAGE StartPage()
RETURN NIL
METHOD NuevosDatos(oRte)
LOCAL x, nCanlin, nRow := 0
oRte:oDevice:cmSay( 10 ,01, MemoLine( ::vGet[22],40,1 ) ,oRte:aFont[01],,)
nRow++
nCANLIN := MLCOUNT (::vGet[22],40)
IF nCANLIN > 1
FOR X := 2 TO nCANLIN
oRte:oDevice:CmSay( (10 + nRow ),01, MemoLine( ::vGet[22],40,x ),oRte:aFont[01],, )
nRow++
NEXT
ENDIF
RETURN NIL
¿como se si los reportes estan en centimetros o milimetros? por que los datos se muestranen la posicion que especifique, pero muy distante una linea de otra.
de ante mano gracias
salu2
Mauro
Genero un reporte desde un array y necesito poner los datos de un campo memo final del reporte, luego de mostrar los totales.
este es el código actual, que funciona especificando la posición.
METHOD Impnota() CLASS FT617Add
LOCAL oRte, acol,nFor
nFor := 1
nSaldo := 0
Report oRte;
Title "***INFORME CLIENTE***" ,;
"Número : " + ::vGet[03] ,;
"Nombre : " + ::vGet[01] + " Rut : "+ Trans(::vGet[02], "@R 99,999,999-!") CENTER;
Header "Razón social : ", "Rut : " , "Página :" + Trans( oRte:nPage, "99" ) Left;
Caption "CLIENTES" Footer "Elaborado por:";
Font oFont1, oFont2;
Preview
Column Title "Descripción" DATA AR_DATOS[nFor][VD_DESPRO] size 35
Column Title "Total" DATA AR_DATOS[nFor][VD_SUBTOT] size 10 TOTAL PICTURE "999,999,999"
END REPORT
oRte:bSkip := {|| nFor++}
oRte:bEnd := { || ::NuevosDatos( oRte ) }
Activate Report oRte WHILE Len( AR_DATOS ) >= nFor;
ON STARTPAGE StartPage()
RETURN NIL
METHOD NuevosDatos(oRte)
LOCAL x, nCanlin, nRow := 0
oRte:oDevice:cmSay( 10 ,01, MemoLine( ::vGet[22],40,1 ) ,oRte:aFont[01],,)
nRow++
nCANLIN := MLCOUNT (::vGet[22],40)
IF nCANLIN > 1
FOR X := 2 TO nCANLIN
oRte:oDevice:CmSay( (10 + nRow ),01, MemoLine( ::vGet[22],40,x ),oRte:aFont[01],, )
nRow++
NEXT
ENDIF
RETURN NIL
¿como se si los reportes estan en centimetros o milimetros? por que los datos se muestranen la posicion que especifique, pero muy distante una linea de otra.
de ante mano gracias
salu2
Mauro