FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Loop con clase Report
Posts: 115
Joined: Fri Oct 14, 2005 07:10 PM
Loop con clase Report
Posted: Thu Oct 05, 2006 03: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.

 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)
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Loop con clase Report
Posted: Thu Oct 05, 2006 04: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
Posts: 115
Joined: Fri Oct 14, 2005 07:10 PM
Loop con clase Report
Posted: Thu Oct 05, 2006 09: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)
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Loop con clase Report
Posted: 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
Posts: 1076
Joined: Fri Oct 07, 2005 10:41 PM
Re: Loop con clase Report
Posted: Sat Oct 07, 2006 06: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,

oRpt:bSkip := {|| cAlias->(DBSkip()) }


Saludos
William, Morales

Saludos



méxico.sureste
Posts: 115
Joined: Fri Oct 14, 2005 07:10 PM
Loop con clase Report
Posted: Tue Oct 10, 2006 02: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)
Posts: 297
Joined: Fri Apr 14, 2006 05:52 PM
Loop con clase Report
Posted: Fri Oct 20, 2006 05: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

Continue the discussion