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