Imprimir listado

Imprimir listado

Postby surGom » Fri Feb 20, 2015 12:18 am

Tengo un problema para generar un listado, el siguiente es el pdf de lo que me imprime

https://www.4shared.com/office/b4abO7NP ... iones.html

Que es el listado que quiero hacer pero el problema es que me imprime la primera página y en el preview dice que son dos y es real porque el listado es hasta diciembre del
2014.

el prg es el siguiente
Code: Select all  Expand view  RUN
#include "Fivewin.ch"
 


 function cashflow()
 local aResult := DEHASTA()
 local oCta
 local cMes
 local nTotal  := 0
 local aVerlo := Array(0)
 local z := 0
 local aNom := Array(0)
 local beval := { || aNom := BUSIMP(oCta:nimp), aNom[2] }
 local nField := 1
 local oprn
 local oFont
 LOCAL nrow := 3.1
 local oPen1
 local nMes := MOnth(aResult[1])
 local nYear := Year(aResult[1])




 If !pasaje("ctacimp"); return nil; endif

   DATABASE oCta
   oCta:setorder(3)
   oCta:ordScope( 0, aResult[1] )
   oCta:ordScope( 1, aResult[2] )





   Do

      if oCta:tipo != "1"
         AAdd(aVerlo,{oCta:fecha,Eval(beval),(alltrim(oCta:detalle) +" " + oCta:numero), oCta:importe})

      endif
      oCta:skip()

   until oCta:eof()

? Len(aVerlo)



PRINT oprn title "Cash flow importaciones"  PREVIEW
DEFINE FONT oFont NAME "ARIAL" SIZE 0,12 of oprn
DEFINE PEN oPen1 WIDTH 6 of oprn

   oprn:setup()
   //oPrn:SetLandscape()

   PAGEBEGIN()
   titulo(oprn, oPen1, oFont)


   for z = 1 to Len(aVerlo)
    if nMes = Month(aVerlo[ z,1 ]) .and. nYear = Year(aVerlo[ z,1 ])
      oprn:Cmsay( nrow, 1.5, transform(aVerlo[ z,1 ] ,"@d" ),oFont ,,,, 0 )
      oprn:Cmsay( nrow, 3.8, aVerlo[ z,2 ] ,oFont ,,,, 0 )
      oprn:Cmsay( nrow, 11.3, aVerlo[ z,3 ],oFont ,,,, 0 )
      oprn:Cmsay( nrow, 17.8, transform(aVerlo[ z,4 ] ,"99,999,999.99" ),oFont ,,,, 0 )
      nTotal += aVerlo[ z,4 ]

    else    //if nMes != Month(aVerlo[ z,1 ]) .and. nYear != Year(aVerlo[ z,1 ]) .or. z = Len(aVerlo)
     nrow += .4
     lineas( nrow, nrow, 0.5, 20.5, oPen1, oprn)
     nrow +=.4
     oprn:Cmsay( nrow,1.5, ("Total mes de " + cMonth(aVerlo[ z-1,1 ]) + " " + Str(Year(aVerlo[ z-1,1 ]))),oFont ,,,, 0 )
     oprn:Cmsay( nrow, 17.8, transform(nTotal ,"99,999,999.99" ),oFont ,,,, 0 )
     nrow += .4
     lineas( nrow, nrow, 0.5, 20.5, oPen1, oprn)
     nTotal := 0
     nrow += .4
     nMes := Month(aVerlo[ z,1 ])
     nYear := Year(aVerlo[ z,1 ])


   endif


    nrow  += .4
    IF  nrow > 25.5 .or. z = Len( aVerlo )
       oprn:endpage()

       if z < Len( aVerlo )
          oprn:Startpage()
          titulo(oprn, oPen1, oFont)
          nrow := 3.1
       endif
    endif
   next


   ENDPRINT


   oprn:end()




  CIERROALIAS(oCta:cAlias,oCta)
return nil

//////////////////////////////////////////////////////////////////////////////
static function titulo(oPrn, oPen1, oFont)

   oPrn:Cmsay( 1, 1, "Química Mega SA",oFont ,,,, 0 )
   oPrn:Cmsay( 1.5, 7, "Cash flow importaciones ",oFont ,,,, 0 )


   lineas( 2, 2, 0.5, 20.5, oPen1, oPrn )

   oPrn:Cmsay( 2.2, 2, "Fecha",oFont ,,,, 0 )
   oPrn:Cmsay( 2.2, 6, "Importador",oFont ,,,, 0 )
   oPrn:Cmsay( 2.2, 14, "Cobranza",oFont ,,,, 0 )
   oPrn:Cmsay( 2.2, 18, "Importe",oFont ,,,, 0 )

   lineas( 2.9, 2.9, 0.5, 20.5, oPen1, oPrn )


RETURN NIL
////////////////////////////////////////////////////////////////////////////////


En el preview me dice que hay 2 páginas me muestra la primera y si quiero ver la segunda no lo hace y para imprimir es necesario que se vea el total de último mes sino directamente no imprime.

El problema esta en el final de página pero no le encuentro la vuelta. En el caso que envío justo terminó en Agosto con el total, pero como dije mas arriba no imprime la segunda página.

Espero que sea entendible el problema que me surge, indudablemnete es un error de mi prg, pero no me doy cuenta de la solución


Muchas gracias por su atención


Luis
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Re: Imprimir listado

Postby Armando » Fri Feb 20, 2015 12:28 am

Luis:

Será que te falta un fin de página (oprn:endpage()) antes del ENDPRINT?
entiendo que el fin de página lo hace solo cuando llegó a pasar de 25.5.

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
User avatar
Armando
 
Posts: 3242
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Imprimir listado

Postby karinha » Fri Feb 20, 2015 12:31 pm

Code: Select all  Expand view  RUN

#include "Fivewin.ch"

function cashflow()

 local aResult := DEHASTA()
 local oCta
 local cMes
 local nTotal  := 0
 local aVerlo := Array(0)
 local z := 0
 local aNom := Array(0)
 local beval := { || aNom := BUSIMP(oCta:nimp), aNom[2] }
 local nField := 1
 local oprn
 local oFont
 LOCAL nrow := 3.1
 local oPen1
 local nMes := MOnth(aResult[1])
 local nYear := Year(aResult[1])

 If !pasaje("ctacimp"); return nil; endif

   DATABASE oCta
   oCta:setorder(3)
   oCta:ordScope( 0, aResult[1] )
   oCta:ordScope( 1, aResult[2] )


   Do

      if oCta:tipo != "1"
         AAdd(aVerlo,{oCta:fecha,Eval(beval),(alltrim(oCta:detalle) +" " + oCta:numero), oCta:importe})

      endif
      oCta:skip()

   until oCta:eof()

? Len(aVerlo)
   
   PRINT oprn title "Cash flow importaciones"  PREVIEW

   DEFINE FONT oFont NAME "ARIAL" SIZE 0,12 of oprn
   DEFINE PEN oPen1 WIDTH 6 of oprn

   oprn:setup()
   //oPrn:SetLandscape()

   PAGEBEGIN()

      titulo(oprn, oPen1, oFont)


      for z = 1 to Len(aVerlo)
       if nMes = Month(aVerlo[ z,1 ]) .and. nYear = Year(aVerlo[ z,1 ])
         oprn:Cmsay( nrow, 1.5, transform(aVerlo[ z,1 ] ,"@d" ),oFont ,,,, 0 )
         oprn:Cmsay( nrow, 3.8, aVerlo[ z,2 ] ,oFont ,,,, 0 )
         oprn:Cmsay( nrow, 11.3, aVerlo[ z,3 ],oFont ,,,, 0 )
         oprn:Cmsay( nrow, 17.8, transform(aVerlo[ z,4 ] ,"99,999,999.99" ),oFont ,,,, 0 )
         nTotal += aVerlo[ z,4 ]

       else    //if nMes != Month(aVerlo[ z,1 ]) .and. nYear != Year(aVerlo[ z,1 ]) .or. z = Len(aVerlo)

        nrow += .4
        lineas( nrow, nrow, 0.5, 20.5, oPen1, oprn)
        nrow +=.4
        oprn:Cmsay( nrow,1.5, ("Total mes de " + cMonth(aVerlo[ z-1,1 ]) + " " + Str(Year(aVerlo[ z-1,1 ]))),oFont ,,,, 0 )
        oprn:Cmsay( nrow, 17.8, transform(nTotal ,"99,999,999.99" ),oFont ,,,, 0 )
        nrow += .4
        lineas( nrow, nrow, 0.5, 20.5, oPen1, oprn)
        nTotal := 0
        nrow += .4
        nMes := Month(aVerlo[ z,1 ])
        nYear := Year(aVerlo[ z,1 ])

      endif

       nrow  += .4

       IF  nrow > 25.5 .or. z = Len( aVerlo )
          oprn:endpage()

          if z < Len( aVerlo )
             oprn:Startpage()
             titulo(oprn, oPen1, oFont)
             nrow := 3.1
          endif
       endif
      next

      ENDPAGE

   ENDPRINT


   oprn:end()


  CIERROALIAS(oCta:cAlias,oCta)
return nil

//////////////////////////////////////////////////////////////////////////////
static function titulo(oPrn, oPen1, oFont)

   oPrn:Cmsay( 1, 1, "Química Mega SA",oFont ,,,, 0 )
   oPrn:Cmsay( 1.5, 7, "Cash flow importaciones ",oFont ,,,, 0 )


   lineas( 2, 2, 0.5, 20.5, oPen1, oPrn )

   oPrn:Cmsay( 2.2, 2, "Fecha",oFont ,,,, 0 )
   oPrn:Cmsay( 2.2, 6, "Importador",oFont ,,,, 0 )
   oPrn:Cmsay( 2.2, 14, "Cobranza",oFont ,,,, 0 )
   oPrn:Cmsay( 2.2, 18, "Importe",oFont ,,,, 0 )

   lineas( 2.9, 2.9, 0.5, 20.5, oPen1, oPrn )


RETURN NIL
////////////////////////////////////////////////////////////////////////////////
 


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7872
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Imprimir listado

Postby surGom » Fri Feb 20, 2015 11:19 pm

Al poner endpage() me da error(6) deleting enchance. Error description.

Y me hace lo mismo que antes. Cuando hago en la vista previa mostrar dos páginas me las muestra correctamente en el margen, pero no en las paginas

https://www.4shared.com/photo/kKp-8ZKUce/preview.html

pero al querer imprimir me muestra el diálogo, fijense que en el rango dice de página 1 a 0

https://www.4shared.com/photo/AQ4UU6aBba/preview1.html

y no imprime nada con el cute y con el que viene enpdfcreator imprime pero solamente la primera.


Luis
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Re: Imprimir listado

Postby Armando » Sat Feb 21, 2015 12:48 am

Luis:

En mi opinión debes dejar el ENDPAGE antes del ENDPRINT, el error(6) es porque
tratas de imprimir más allá del fin de página sin saltar a una nueva.

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
User avatar
Armando
 
Posts: 3242
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Imprimir listado

Postby surGom » Sat Feb 21, 2015 10:27 pm

El error se produce en la línea de la clase rpreview

Code: Select all  Expand view  RUN
 
 ::oMeta1:SetFile( aFiles[ ::nPage ] )
 



Gracias

Luis
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Re: Imprimir listado

Postby Armando » Sun Feb 22, 2015 12:08 am

Luis:

Rizando el rizo :-) efectivamente !. el problema lo entiendo así

Al imprimir después del final de página el sistema trata de generar un
nuevo archivo, (entiendo que se crea un archivo EFM por cada página) pero
como no se realiza el fin/inicio de página el valor nPage no cambia e intenta
grabarse un archivo con el mismo número de página y desde luego ese
archivo ya existe provocándose el error porque no puede crear el nuevo archivo
porque el que ya existe aún esta abierto y ocupado por el mismo sistema.

error(6) deleting enchance

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
User avatar
Armando
 
Posts: 3242
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Imprimir listado

Postby FranciscoA » Sun Feb 22, 2015 3:58 pm

Hola surGom, ¿ya lo intentaste asi?... (al vuelo)
Code: Select all  Expand view  RUN

nrow  += .4

    IF  nrow > 25.5
       oprn:endpage()
       oprn:Startpage()
        titulo(oprn, oPen1, oFont)
        nrow := 3.1
    endif
   next

      ENDPAGE

   ENDPRINT
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Imprimir listado

Postby surGom » Sun Feb 22, 2015 11:41 pm

Francisco en este programa

Code: Select all  Expand view  RUN


   PRINT oPrn title "Impuesto iva compras" PREVIEW MODAL

   DEFINE FONT oFont NAME "arial" SIZE 0, 6  of oPrn
   DEFINE FONT oFont1 NAME "arial" SIZE 0, 9  of oPrn
   DEFINE FONT oFont2 NAME "arial" SIZE 0, 8  of oPrn
   DEFINE PEN oPen1 WIDTH 6


   oPrn:SetLandscape()
   oPrn:setup()


   PAGEBEGIN()

   titulo( oPrn, oFont, oFont1, cMes, cAnio )


   nrow := 3.0
   npercibe := 0
   FOR z = 1 TO Len( aVariable )
      npercibe := 0
      npercibe := aVariable[ z, 7 ] + aVariable[ z, 17 ] + aVariable[ z, 18 ]

      oPrn:Cmsay( nrow, 0.8, Transform( aVariable[ z,1 ],"@d" ), oFont,,,, 0 )                             //fecha
      oPrn:Cmsay( nrow, 2.3, aVariable[ z, 2 ], oFont2,,,, 0 )                                                     //nro factura
      oPrn:Cmsay( nrow, 4.6, SubStr( aVariable[ z,3 ],1,15 ), oFont2,,,, 0 )                                  // razón social
      oPrn:Cmsay( nrow, 7.3, aVariable[ z, 4 ], oFont,,,, 0 )                                                      //CUIT
      oPrn:Cmsay( nrow, 10.4, Transform( iif(aVariable[ z,14 ]  # "C",aVariable[ z,5 ], -aVariable[ z,5 ] ),"@e) 9,999,999.99" ), oFont,,,, 1 )         //neto
      oPrn:Cmsay( nrow, 12.4, Transform( iif(aVariable[ z,14 ]  # "C",aVariable[ z,6 ], -aVariable[ z,6 ] ),"@ze) 99,999.99" ), oFont,,,, 1 )            // exento
      oPrn:Cmsay( nrow, 13.8, Transform( iif(aVariable[ z,14 ]  # "C",npercibe, -npercibe ),"@ze) 999,999.99" ), oFont,,,, 1 )              // percepciones

      oPrn:Cmsay( nrow, 15.5, Transform( iif(aVariable[ z,14 ]  # "C",aVariable[ z,8 ], -aVariable[ z,8 ] ),"@ze) 99,999.99" ), oFont,,,, 1 )               //resolución
      oPrn:Cmsay( nrow, 17.1, Transform( iif(aVariable[ z,14 ]  # "C",aVariable[ z,9 ], -aVariable[ z,9 ] ),"@ze) 999,999.99" ), oFont,,,, 1 )              //impuesto iva 21
      oPrn:Cmsay( nrow, 19.3, Transform( iif(aVariable[ z,14 ] # "C",aVariable[ z,10 ], -aVariable[ z,10 ] ),"@ze) 999,999.99" ), oFont,,,, 1 )     //impuesto iva 10
      oPrn:Cmsay( nrow, 20.9, Transform( iif(aVariable[ z,14 ] # "C",aVariable[ z,11 ], -aVariable[ z,11 ] ),"@ze) 99,999.99" ), oFont,,,, 1 )      //impuesto iva 27
      oPrn:Cmsay( nrow, 22.7, Transform( iif(aVariable[ z,14 ] # "C",aVariable[ z,12 ], -aVariable[ z,12 ] ),"@ze) 99,999.99" ), oFont,,,, 1 )              //permuni
      oPrn:Cmsay( nrow, 23.8, Transform( iif(aVariable[ z,14 ] # "C",aVariable[ z,15 ], -aVariable[ z,15 ] ),"@ze) 99,999.99" ), oFont,,,, 1 )              //impuestos internos
      oPrn:Cmsay( nrow, 25.5, Transform( iif(aVariable[ z,14 ] # "C",aVariable[ z,16 ], -aVariable[ z,16 ] ),"@ze) 99,999.99" ), oFont,,,, 1 )              //operaciones no gravadas
      oPrn:Cmsay( nrow, 27.1, Transform( iif(aVariable[ z,14 ]  # "C",aVariable[ z,13 ],aVariable[ z,13 ] ),"@ze) 9,999,999.99" ), oFont,,,, 1 )        //total
      tneto += iif( aVariable[ z, 14 ] # "C", aVariable[ z, 5 ], -aVariable[ z, 5 ] )
      texe += iif( aVariable[ z, 14 ] # "C", aVariable[ z, 6 ], -aVariable[ z, 6 ] )
      timp +=  iif( aVariable[ z, 14 ] # "C", npercibe, -npercibe )
      tresgen += iif( aVariable[ z, 14 ] # "C", aVariable[ z, 8 ], -aVariable[ z, 8 ] )
      tiva21 += iif( aVariable[ z, 14 ] # "C", aVariable[ z, 9 ], -aVariable[ z, 9 ] )
      tiva10 += iif( aVariable[ z, 14 ] # "C", aVariable[ z, 10 ], -aVariable[ z, 10 ] )
      tiva27 += iif( aVariable[ z, 14 ] # "C", aVariable[ z, 11 ], -aVariable[ z, 11 ] )
      tpermuni += iif( aVariable[ z, 14 ] # "C", aVariable[ z, 12 ], -aVariable[ z, 12 ] )
      ttotal +=  iif( aVariable[ z, 14 ] # "C", aVariable[ z, 13 ], -aVariable[ z, 13 ] )
      tiinternos +=  iif( aVariable[ z, 14 ] # "C", aVariable[ z, 15 ], -aVariable[ z, 15 ] )
      topngrav += iif( aVariable[ z, 14 ] # "C", aVariable[ z, 16 ], - aVariable[ z, 16 ] )
      nrow += .4
      IF nrow > 18.2 .OR. z = Len( aVariable )
         ncol := 0.5
         nbot := 28.5
         nFil := nrow + .25
         nTop := nrow + .25
         aCoord1 := oPrn:Cmtr2Pix( @nFil, @ncol )
         aCoord2 := oPrn:Cmtr2Pix( @nTop, @nbot )
         oPrn:line( nFil, ncol, nTop, nbot, oPen1)
        // oPrn:Cmsay( nrow, .5, Replicate( "_",300 ) )
         nrow += .4
         oPrn:Cmsay( nrow, 3.8, "Totales:", oFont,,,, 0 )
         oPrn:Cmsay( nrow, 10.4, Transform( tneto,"@e) 9,999,999.99" ), oFont,,,, 1 )         //neto gravado
         oPrn:Cmsay( nrow, 12.4, Transform( texe,"@e) 999,999.99" ), oFont,,,, 1 )            // exento
         oPrn:Cmsay( nrow, 13.8, Transform( timp,"@e) 999,999.99" ), oFont,,,, 1 )              // impuesto percepciones distintas provincias
         oPrn:Cmsay( nrow, 15.5, Transform( tresgen,"@e) 99,999.99" ), oFont,,,, 1 )               //resolución
         oPrn:Cmsay( nrow, 17.1, Transform( tiva21,"@e) 999,999.99" ), oFont,,,, 1 )              //impuesto iva 21
         oPrn:Cmsay( nrow, 19.3, Transform( tiva10,"@e) 999,999.99" ), oFont,,,, 1 )              //impuesto iva 10
         oPrn:Cmsay( nrow, 20.9, Transform( tiva27,"@e) 99,999.99" ), oFont,,,, 1 )              //impuesto iva 27
         oPrn:Cmsay( nrow, 22.7, Transform( tpermuni,"@e) 99,999.99" ), oFont,,,, 1 )              //permuni
         oPrn:Cmsay( nrow, 23.8, Transform( tiinternos,"@e) 99,999.99" ), oFont,,,, 1 )              //impuestos internos
         oPrn:Cmsay( nrow, 25.5, Transform( topngrav,"@e) 99,999.99" ), oFont,,,, 1 )              //operaciones no gravadas
         oPrn:Cmsay( nrow, 27.1, Transform( ttotal,"@e) 9,999,999.99" ), oFont,,,, 1 )            //total
         nrow += .5
         ncol := 0.5
         nbot := 28.5
         nFil := nrow
         nTop := nrow
         aCoord1 := oPrn:Cmtr2Pix( @nFil, @ncol )
         aCoord2 := oPrn:Cmtr2Pix( @nTop, @nbot )
         oPrn:line( nFil, ncol, nTop, nbot, oPen1)
         //oPrn:Cmsay( nrow, .5, Replicate( "_",300 ) )
         oPrn:endpage()
         IF z  = Len( aVariable )
            EXIT
         ENDIF
         oPrn:StartPage()
         titulo( oPrn, oFont, oFont1, cMes, cAnio,oPen1 )
         nrow := 3.0
      ENDIF
   NEXT

   ENDPRINT
 


Disculpas por poner toda la impresión pero como ven es la misma estructura , que el primer prg que envié, y funciona perfecto

Pero ese pequeño programita me la esta haciendo difícil.
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Re: Imprimir listado

Postby Armando » Mon Feb 23, 2015 3:55 am

Luis:

Es lo mismo pero no es igual :) hay pequeñas diferencias:

Código que presenta el problema:
Code: Select all  Expand view  RUN

       IF  nrow > 25.5 .or. z = Len( aVerlo )
          oprn:endpage()

          if z < Len( aVerlo )
             oprn:Startpage()               // Esta línea esta dentro del IF Z < LEN (Aquí usas <)
             titulo(oprn, oPen1, oFont)
             nrow := 3.1
          endif
       endif
 


Código que no da problema:
Code: Select all  Expand view  RUN

         oPrn:endpage()
         IF z  = Len( aVariable )
            EXIT
         ENDIF
         oPrn:StartPage()         // la misma línea esta fuera del IF Z = LEN (Aquí usas =)
         titulo( oPrn, oFont, oFont1, cMes, cAnio,oPen1 )
         nrow := 3.0
 


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
User avatar
Armando
 
Posts: 3242
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Imprimir listado

Postby surGom » Mon Feb 23, 2015 12:25 pm

Armando lo hice así originalmente y daba el error por eso lo cambié y quedo así, dando el mismo error.

Luis
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Re: Imprimir listado

Postby karinha » Mon Feb 23, 2015 1:12 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7872
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Imprimir listado

Postby surGom » Mon Feb 23, 2015 2:20 pm

Gracias Karinha, pero el error no es error(6), ese error fue al probar una sugerencia de Armando, en cuanto al de kleyber tampoco ya que revisando el array que cargo es correcto, y cerré la base de datos antes de seguir a continuación la impresión, que creo era el problema de kleyber.

el error que encuentro es al ir a la última página salta en el renglón de la clase tpreview que envié anteriormente.

Lo voy a dejar por un tiempo y lo reescriberé nuevamente de 0 para ver que pasa, ya que tengo varios prg que estan en la estructura igual que este pero este, no funciona.


Gracias a todos por el interés dispensado

Luis
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Re: Imprimir listado Resuelto

Postby surGom » Mon Feb 23, 2015 11:53 pm

Bueno lo borré y lo programe nuevamente y ahora funciona

Code: Select all  Expand view  RUN

PRINT oprn title "Cash flow importaciones"  PREVIEW
DEFINE FONT oFont NAME "ARIAL" SIZE 0,12 of oprn
DEFINE PEN oPen1 WIDTH 6 of oprn



  // oPrn:SetLandscape()
   oprn:setup()


   PAGEBEGIN()

   titulo( oprn, oPen1, oFont )


   nrow := 3.5




   FOR z = 1 TO Len( aVerlo )


    if nMes = Month(aVerlo[ z,1 ]) .and. nYear = Year(aVerlo[ z,1 ])
      oprn:Cmsay( nrow, 1.5, transform(aVerlo[ z,1 ] ,"@d" ),oFont ,,,, 0 )
      oprn:Cmsay( nrow, 3.8, aVerlo[ z,2 ] ,oFont ,,,, 0 )
      oprn:Cmsay( nrow, 11.3, aVerlo[ z,3 ],oFont ,,,, 0 )
      oprn:Cmsay( nrow, 18.4, transform(aVerlo[ z,4 ] ,"99,999,999.99" ),oFont ,,,, 0 )
      nTotal += aVerlo[ z,4 ]

    else    //if nMes != Month(aVerlo[ z,1 ]) .and. nYear != Year(aVerlo[ z,1 ]) .or. z = Len(aVerlo)
     nrow += .4
     lineas( nrow, nrow, 0.5, 20.5, oPen1, oprn)
     nrow +=.4
     oprn:Cmsay( nrow,1.5, ("Total mes de " + cMonth(aVerlo[ z-1,1 ]) + " " + Str(Year(aVerlo[ z-1,1 ]))),oFont ,,,, 0 )
     oprn:Cmsay( nrow, 18.4, transform(nTotal ,"99,999,999.99" ),oFont ,,,, 0 )
     nrow += .4
     lineas( nrow, nrow, 0.5, 20.5, oPen1, oprn)
     nTotal := 0
     nrow += .4
     nMes := Month(aVerlo[ z,1 ])
     nYear := Year(aVerlo[ z,1 ])


   endif


      nrow += .4
      IF nrow > 25.5 .OR. z = Len( aVerlo )
          oprn:endpage()
         IF z  = Len( aVerlo )
            EXIT
         ENDIF
         oprn:StartPage()
         titulo( oprn, oPen1, oFont )
         nrow := 3.5
      ENDIF
    next

    ENDPRINT

   oFont:end()

return nil

//////////////////////////////////////////////////////////////////////////////
static function titulo(oPrn, oPen1, oFont)

   oPrn:Cmsay( 1, 1, "Química Mega SA",oFont ,,,, 0 )
   oPrn:Cmsay( 1.5, 7, "Cash flow importaciones ",oFont ,,,, 0 )


   lineas( 2, 2, 0.5, 20.5, oPen1, oPrn )

   oPrn:Cmsay( 2.2, 2, "Fecha",oFont ,,,, 0 )
   oPrn:Cmsay( 2.2, 6, "Importador",oFont ,,,, 0 )
   oPrn:Cmsay( 2.2, 14, "Cobranza",oFont ,,,, 0 )
   oPrn:Cmsay( 2.2, 18, "Importe",oFont ,,,, 0 )

   lineas( 2.9, 2.9, 0.5, 20.5, oPen1, oPrn )


RETURN NIL


Me parece que tenías razón Armando, en la diferencia que habías encontrado.

Un gran agradecimiento a Francisco, Armando y Karinha por el tiempo que me han dispensado, para poder solucionar el error


Luis
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 16 guests