Page 1 of 1

Problemas con Report

Posted: Wed Nov 21, 2007 2:54 am
by un_jeepero
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