Loop con clase Report

Loop con clase Report

Postby gdeteran » Thu Oct 05, 2006 3:17 pm

Este proceso lee correctamente el primer registro y luego repite el mismo registro eternamente. He hecho todo tipo de cambios y el error persiste.

Agradezco de antemanos a quien me pueda dar una luz.

Code: Select all  Expand view
Function ImprimeIngresos( aVars )
*-------------------------------
   (cPAGMOV)->(DbSeek("IN" + DTOS(dFecIni) + "000000", .T. ))

   REPORT oInforme CAPTION "Ingresos en Caja" ;
      TITLE " ", " ", "Ingresos desde "+DTOC(dFecIni)+" al "+DTOC(dFecFin);
      HEADER  "COMERCIAL NITOBEL LTDA." + SPACE(100) + "Fecha : "+DTOC(DATE());
      FOOTER "Pagina : "+STR(oInforme:nPage,3) CENTER ;
      PREVIEW

                  COLUMN TITLE "Tipo"        ;
                  DATA (cPAGMOV)->Tipo

                  COLUMN TITLE "Numero"      ;
                  DATA (cPAGMOV)->Numero

                  COLUMN TITLE "Fecha"       ;
                  DATA (cPAGMOV)->Fecha

                  COLUMN TITLE "Monto"       ;
                  DATA (cPAGMOV)->Pagado ;
                  PICTURE "@E 9,999,999"     ;
                  TOTAL ;
                  GRID

   END REPORT

   ACTIVATE REPORT oInforme  ;
          WHILE  .NOT.(cPAGMOV)->(EOF()) .AND. (cPAGMOV)->Tipo = "IN" ;
          FOR (cPAGMOV)->Fecha >= dFecIni .AND. (cPAGMOV)->Fecha <= dFecFin
               
Saludos,
Gonzalo
Puerto Montt - CHILE
FWH 22.12 - Harbour 3.2.0dev (r2008190002) - Borland/Embarcadero C++ 7.0(32-bit)
User avatar
gdeteran
 
Posts: 115
Joined: Fri Oct 14, 2005 7:10 pm
Location: Puerto Montt - CHILE

Postby Armando » Thu Oct 05, 2006 4:52 pm

gdeteran:

Yo simplemente lo haría así:


ACTIVATE REPORT oInforme FOR (cPAGMOV)->Fecha >= dFecIni .AND. (cPAGMOV)->Fecha <= dFecFin .AND. (cPAGMOV)->Tipo = "IN";
WHILE ! EOF()

Probar no cuesta

Saludos, Armando
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3184
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Loop con clase Report

Postby gdeteran » Thu Oct 05, 2006 9:58 pm

Armando :

Desgraciadamente persiste el error.

Uso CDX, no se si el RDD este con error.

Gracias
Saludos,
Gonzalo
Puerto Montt - CHILE
FWH 22.12 - Harbour 3.2.0dev (r2008190002) - Borland/Embarcadero C++ 7.0(32-bit)
User avatar
gdeteran
 
Posts: 115
Joined: Fri Oct 14, 2005 7:10 pm
Location: Puerto Montt - CHILE

Postby Armando » Thu Oct 05, 2006 10:50 pm

Gonzalo:

No creo que sea el RDD, yo tambien uso CDX y no he tenido problemas, por no dejar quita el WHILE ! EOF()

Saludos, Armando
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3184
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Loop con clase Report

Postby wmormar » Sat Oct 07, 2006 6:31 pm

gdeteran wrote:Armando :

Desgraciadamente persiste el error.

Uso CDX, no se si el RDD este con error.

Gracias


Si se trata de probar,

Code: Select all  Expand view
oRpt:bSkip := {|| cAlias->(DBSkip()) }


Saludos
William, Morales
Saludos

méxico.sureste
User avatar
wmormar
 
Posts: 1074
Joined: Fri Oct 07, 2005 10:41 pm
Location: México

Postby gdeteran » Tue Oct 10, 2006 2:42 pm

Gracias William,

Con bskip funcionó perfecto, me encantaria saber porque sucede, tengo otros informes que funcionan sin bSkip.

Gracias Armando por tu ayuda.
Saludos,
Gonzalo
Puerto Montt - CHILE
FWH 22.12 - Harbour 3.2.0dev (r2008190002) - Borland/Embarcadero C++ 7.0(32-bit)
User avatar
gdeteran
 
Posts: 115
Joined: Fri Oct 14, 2005 7:10 pm
Location: Puerto Montt - CHILE

Postby Mike Serra » Fri Oct 20, 2006 5:29 pm

Hola gdeteran:

Creo que el problema que tienes en los otros archivos es porque habrá seleccionado otro alias. A mi me pasaba lo mismo y lo arregle poniendo la siguiente línea antes del report :

select <tabla dbf del informe>

en tu caso seria

select (cpagmov)



Function ImprimeIngresos( aVars )
*-------------------------------


sele (cpagmov) <------------- AQUI POR EJEMPLO


(cPAGMOV)->(DbSeek("IN" + DTOS(dFecIni) + "000000", .T. ))

REPORT oInforme CAPTION "Ingresos en Caja" ;
TITLE " ", " ", "Ingresos desde "+DTOC(dFecIni)+" al "+DTOC(dFecFin);
HEADER "COMERCIAL NITOBEL LTDA." + SPACE(100) + "Fecha : "+DTOC(DATE());
FOOTER "Pagina : "+STR(oInforme:nPage,3) CENTER ;
PREVIEW

COLUMN TITLE "Tipo" ;
DATA (cPAGMOV)->Tipo

COLUMN TITLE "Numero" ;
DATA (cPAGMOV)->Numero

COLUMN TITLE "Fecha" ;
DATA (cPAGMOV)->Fecha

COLUMN TITLE "Monto" ;
DATA (cPAGMOV)->Pagado ;
PICTURE "@E 9,999,999" ;
TOTAL ;
GRID

END REPORT

ACTIVATE REPORT oInforme ;
WHILE .NOT.(cPAGMOV)->(EOF()) .AND. (cPAGMOV)->Tipo = "IN" ;
FOR (cPAGMOV)->Fecha >= dFecIni .AND. (cPAGMOV)->Fecha <= dFecFin







Powered
Mike Serra
 
Posts: 297
Joined: Fri Apr 14, 2006 5:52 pm
Location: Córdoba (España)


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 58 guests