Como hacer esto

Como hacer esto

Postby JoseGS » Wed Dec 15, 2010 10:42 pm

Hola amigos del foro
La funcion que incluyo la utilizo para imprimir una lista de transacciones contables comprendidas entre una fecha de inicio y una final. Pero antes de iniciar la impresion quiero que en la primera linea del informe me aparezca el saldo de la cuenta hasta la fecha de inicio... Todo funciona bien siempre que en el periodo comprendido entre las fechas existan transacciones, en caso contrario, el programa me presenta el saldo hasta la fecha de inicio pero al no tener transacciones para imprimir, las lineas finales del informe salen escritas sobre el valor que intento presentar... He intentado utilizar oReport:NewLine() para que haya una separacion entre la cifra y las lineas pero no sucede nada...

La pregunta es como puede hacer para insertar una linea en blanco entre la linea del HEADER y las lineas de totales...
Espero haberme hecho entender.

Gracias por sus sugerencias

FUNC REPCTA(dF1,dF2)
LOCAL R:=TRANSAC->(RECNO()),nSAL:=0
SELE TRANSAC
DBGOTOP()
DO WHILE !EOF()
IF FIELD->FECHA<dF1
nSAL+=FIELD->DEBITO-FIELD->CREDITO
ENDIF
SKIP
ENDDO
DBGOTOP()
REPORT oReport TITLE aConfig[5],'Listado de cuenta contable #'+ALLTRIM(CODIFIC->COD_CUENT)+' '+ALLTRIM(CODIFIC->NOM_CUENT),'Desde :'+DTOC(dF1)+' Hasta: '+DTOC(dF2) PREVIEW FONT oFont8,oFont10,oFont12,oFont14 PEN oPen1 HEADER "Pagina No. "+STR(oReport:nPage,3) RIGHT CAPTION 'Cuenta contable' FOOTER WHO()
COLUMN TITLE "#DOCUMENTO" DATA FIELD->NUMDOCU FONT 1
COLUMN TITLE "FECHA" DATA FIELD->FECHA FONT 1 CENTER
COLUMN TITLE "DEBITOS" DATA FIELD->DEBITO FONT 1 TOTAL PICTURE "99999,999.99"
COLUMN TITLE "CREDITOS" DATA FIELD->CREDITO FONT 1 TOTAL PICTURE "99999,999.99"
COLUMN TITLE "SALDO" DATA FIELD->SALDO FONT 1 PICTURE "99999,999.99"
COLUMN TITLE "COMENTARIO" DATA MEMOLINE(FIELD->COMENTARIO,50,1) FONT 1
GROUP ON .T. HEADER "Saldo inicial al "+DTOC(dF1)
IF(lCUADRIC,oReport:CellView(),)
END REPORT
oReport:lPageTotal:=.F.
ACTIVATE REPORT oReport FOR FIELD->FECHA>=dF1 .AND. FIELD->FECHA<=dF2 ON INIT (oReport:Say(5,TRANSFORM(nSal,'99999,999.99'),2,2))
TRANSAC->(DBGOTO(R))
RETU[]
JoseGS
 
Posts: 205
Joined: Wed Sep 02, 2009 3:11 am

Re: Como hacer esto

Postby ricardog » Thu Dec 16, 2010 2:43 am

Intenta asi


Code: Select all  Expand view
Activate Report oRep WHILE ... ;
                ON STARTGROUP (oRep:NewLine(),;
                               oRep:EndLine(),;
                               oRep:Say(0,"Cliente: "+cCliente,2,,oRep:nRow))



Saludos
ricardog
 
Posts: 158
Joined: Tue Oct 11, 2005 3:10 pm

Re: Como hacer esto

Postby jllinas » Thu Dec 16, 2010 3:38 am

Amigo,

El truco está en incluir la instrucción oReport:EndLine(). Probablemente deba estar después del SAY en GROUP. Prueba varios escenarios.

Suerte,
Julio Llinás
Visita mi Blog en http://mangucybernetico.blogspot.com/
xHarbour 1.1.0 + FWH810 + Borland 5.5.1
User avatar
jllinas
 
Posts: 189
Joined: Fri Oct 14, 2005 12:33 am
Location: Santo Domingo, Dominican Republic

Re: Como hacer esto

Postby JoseGS » Fri Dec 17, 2010 3:26 am

Gracias voy a probar...
JoseGS
 
Posts: 205
Joined: Wed Sep 02, 2009 3:11 am

Re: Como hacer esto

Postby JoseGS » Fri Dec 17, 2010 3:52 am

En efecto, funciono con EndLine() despues del SAY y por medio del ON INIT

Gracias de nuevo
JoseGS
 
Posts: 205
Joined: Wed Sep 02, 2009 3:11 am


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 84 guests