FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Un problema con Report bPostEnd
Posts: 464
Joined: Tue Mar 21, 2006 07:30 PM
Un problema con Report bPostEnd
Posted: Mon Jan 18, 2010 11:11 AM

Hola a todos
Tengo un problema en un reporte. En un diálogo solicito al usuario que me indique un mes para hacer un listado de todas las facturas de ese mes. Al final del listado y con la función bPostEnd, sitúo un pie de página con la suma de las bases imponibles de las facturas listadas, una línea por cada tipo de iva. En todos los meses el listado sale perfecto excepto en uno, que me da el error 6 deleted enhanced metafile. Supongo que el problema de ese mes es que coincide el final de página con el inicio del pie, y al no poder escribirlo me produce ese error.
¿Hay alguna manera de saber si la nueva linea (del pie) sobrepasa el final de página y hacer un salto de página, escribiendo el pie en una nueva página?. Y cómo hacerlo, claro

Muchas gracias a todos

Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Un problema con Report bPostEnd
Posted: Mon Jan 18, 2010 02:26 PM
Pedro:

Dale una mirada a este código

Code (fw): Select all Collapse
oReporte:StartLine()
oReporte:EndLine()
oReporte:NeedNewPage()      // Esta línea puede ser tu solución
oReporte:EndPage()
oReporte:StartPage()


Saludos
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: 464
Joined: Tue Mar 21, 2006 07:30 PM
Re: Un problema con Report bPostEnd
Posted: Mon Jan 18, 2010 04:13 PM
Hola Armando, gracias por contestar.
No se me ha solucionado, persiste el error, y cosa curiosa, antes me daba un error 6 por cada linea del bPostEnd ahora solo me da una vez, además de que me coloca una línea de fin de página al final de la página de los datos y me monta las lineas que debería ir como pie de página en la siguiente página.
Este es el código donde se produce el error, pero ¡¡¡¡OJO!!! ese error sólo lo produce en uno de los meses listados, en el resto de los meses no se produce, y el reporte sale correcto.

Code (fw): Select all Collapse
          
.........
       COLUMN TITLE "TOTAL     " ;
          DATA (cAlias)->total;
          PICTURE "999,999.99";
          TOTAL ;               
          FONT 2  ;
          GRID 2   
                         
  END REPORT
  
  oReport:bPostEnd :={|| DatosFin( oReport, aBases ) }
  
  ACTIVATE REPORT oReport
     oFont1:End()
     oFont2:End()
     
     oPen1:End()
     oPen2:End()
     
 RETURN NIL
*-------------------------------------------------------------------------------        
Function DatosFin(oReport,aBases)
*-------------------------------------------------------------------------------
    oReport:lGrid  := .f.

    oReport:NewLine()
    If oReport:NeedNewPage()
*       oReport:EndPage()
       oReport:StartPage()
    EndIF
    oReport:lGrid  := .f.
    If aBases[1] <> 0
       oReport:Say(5,"Base Imponible al 16 %"+"   "+Transform(aBases[1],"999,999.99"))
       oReport:NewLine()
    EndIf

    If aBases[2] <> 0
       oReport:Say(5,"Base Imponible al 4 %"+"   "+Transform(aBases[2],"999,999.99"))
       oReport:NewLine()
    EndIf

    If aBases[3] <> 0
       oReport:Say(5,"Base Imponible al 7 %"+"   "+Transform(aBases[3],"999,999.99"))
       oReport:NewLine()
    EndIf

    If aBases[4] <> 0
       oReport:Say(5,"Base Imponible al 1 %"+"   "+Transform(aBases[4],"999,999.99"))
       oReport:NewLine()
    EndIf

    If aBases[5] <> 0
       oReport:Say(5,"Base Imponible al 4 %"+"   "+Transform(aBases[5],"999,999.99"))
       oReport:NewLine()
    EndIf

    If aBases[6] <> 0
       oReport:Say(5,"Base Imponible al 0,5 %"+"   "+Transform(aBases[6],"999,999.99"))
       oReport:NewLine()
    EndIf           

    If aBases[7] <> 0
       oReport:Say(5,"Base Imponible exenta"+"   "+Transform(aBases[7],"999,999.99"))
    EndIf

Return nil
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Un problema con Report bPostEnd
Posted: Mon Jan 18, 2010 07:37 PM
Pedro:

Efectivamente el problema se produce cuando pretendemos imprimir alguna línea que queda sobre o pasa el fin de formulario. Algunas veces ese error lo he solucionado dando más márgen en el pie de página. Tal vez una chapuza pero funciona.

Code (fw): Select all Collapse
oReporte:nDnMargin := 400


Saludos
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: 464
Joined: Tue Mar 21, 2006 07:30 PM
Re: Un problema con Report bPostEnd
Posted: Mon Jan 18, 2010 08:38 PM

Pues si tu lo has solucionado así, alucina, porque yo solamente he tenido que disminuir el pen que usaba. Estaba en 3 y con situarlo en 2 ha bastado... Curioso, pero bueno

Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO

Continue the discussion