Para el primer ejemplo tenés que hacer lo siguiente:
En tu programa generás una base con un campo numérico y usas el
siguiente código:
METHOD Aceptar( ) CLASS Numeracion
LOCAL oReport AS OBJECT
LOCAL nLazo AS FLOAT
LOCAL oNumeros AS OBJECT
IF SELF:oDCnDesde:Value=0 .OR.
SELF:oDCnHasta:Value=0
RETURN NIL
ENDIF
IF SELF:oDCnHasta:Value<SELF:oDCnDesde:Value
Infobox{SELF,"Verificación","Verifique
los valores ingresados."}:Show()
RETURN NIL
ENDIF
oNumeros:=Numeros{}
oNumeros:Zap()
FOR
nLazo=SELF:oDCnDesde:Value TO SELF:oDCnHasta:Value
oNumeros:Append()
oNumeros:NUMERO := StrZero(nLazo,8)
NEXT
oNumeros:Close()
oReport :=
RpReport{SELF,cPath+"Numeracion.rpt"}
IF oReport:IsValid
oReport:Connect2Source()
IF oReport:ShowPrintDlg()
oReport:Print("Numeración
de hojas",,"NUMERACION","Imprimiendo Listado...")
//,,SW_SHOWMAXIMIZED,ZOOM_PAGE_WIDTH)
ENDIF
oReport:Close()
ELSE
Infobox{SELF,"Informe de
errores","El Reporte no puede
imprimirse."+CHR(10)+"Verifique el estado de la
impresora."}:Show()
ENDIF
RETURN SELF
En el reporte la banda Page Header la dejás en cero y en el Page
Body agregás el campo numérico de la base que creaste.
En el segundo ejemplo es un poco más complicado.
Fijate el siguiente código:
aTablas:={{"IvaComp",
oGvar:cPath+"IvaComp",oGvar:cPath+"IvaComp",
"Fecha" , "DBFCDX"},;
{"PorcIVA",
oGvar:cPath+cBase ,oGvar:cPath+cBase , "PorcIVA",
"DBFCDX"}}
oReport:= RpReport{SELF,oGvar:cUnidadInstala+"IVA Libro
Compras.RPT" ,,aTablas}
oReport:SetFilterExpression("(Month(IvaComp.FeComp_Com)=Val(Left(cPeriodo,2))
.and. "+;
"Year(IvaComp.FeComp_Com)=Val(Right(cPeriodo,4))
)")
oReport:Connect2Source()
IF oReport:IsValid
//Standard 1
oReport:SetVariableValue("nHojaNr1"
, SELF:oDCnHojaNr1:Value, 1)
IF SELF:oDCCB_Previsualiza:Checked
oReport:PrintPreview("Libro IVA Compras",,"Libro IVA
Compras","Imprimiendo Libro...")
//,,SW_SHOWMAXIMIZED,ZOOM_PAGE_WIDTH)
ELSE
IF
oReport:ShowPrintDlg()
oReport:Print("Libro
IVA Compras",,"Libro IVA Compras","Imprimiendo
Libro...") //,,SW_SHOWMAXIMIZED,ZOOM_PAGE_WIDTH)
ENDIF
ENDIF
IF SELF:oCCRB_Final:Pressed
SELF:oDCnHojaNr1:Value+=oReport:GetVariableValue("nHojaNr1_Final")
ENDIF
//Graba los Nº de páginas
IF
SELF:oCCRB_Final:Pressed
SELF:oDb_Parametros:LICNSU_PMT
:= SELF:oDCnHojaNr1:Value
SELF:oDb_Parametros:LICHOJ_PMT
:= SELF:oDCnHojaNr2:Value
SELF:oDb_Parametros:Commit()
ENDIF
ELSE
Borrar_Cancelar{
,;
{"El
Reporte no puede imprimirse."+CHR(10)+"Verifique el estado de la
impresora.",; //Mensaje de texto
"" ,; //
"Libro IVA Compras",; //Caption
FALSE ; //Visualiza CANCELAR?
} }:Show()
ENDIF
oReport:Close()
El comando SELF:oDCnHojaNr1:Value envía al reporte el número de
hoja con que debe comenzar a numerar.
En el reporte tenés que utilizar dos variables la primera (nHojaNr1)
recibe el valor que le envía el programa, la segunda (nHojaNr1_Final) tenés que
ponerle el comando PgNo() en Expression.
Luego en el reporte en el Page Header generás un campo que
muestre:
StrZero(PgNo()+nHojaNr1,8)
Si te fijás en el código más arriba verás que luego de emitir el
reporte toma el valor de la variable nHojaNr1_Final y lo almacena en una base
de datos.
Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina
Mail: gjbiagiotti@...
MSN: gerardo_biagiotti@...
gjbiagiotti@...
gjbiagiotti@...
De:
guvoaII@... [mailto:guvoaII@...] En nombre de AdeSistemas
Enviado el: Lunes, 12 de Febrero de 2007 08:12 a.m.
Para: guvoaII@...
Asunto: [guvoaII] report pro
Si,
perfecto, lo que me decis. Ahora como hago lo siguiente:
tengo
que imprimir 100 hojas del numero 1 al 100 y teniendo una bases de datos
cualquiera, vacia, me imprime solamente 1 hoja con el numero de pagina 1 y si
le pongo que me haga copias me sigue tirando siempre numero de pagina 1, como
puede resolver esto.
Segundo,
como hago para pasar en el titulo del listado una variable con un numero,
EJEMPLO:
LISTADO DE REGISTRO NRO. (aca cada listado de 1 a 100 hojas lleva un numero
distinto), como paso ese numero ingresado antes de hacer el listado.
Espero
me entiendam
Muchas
gracias
Luengo
Sergio
Analista de Sistemas
General Pico - La Pampa
----- Original Message -----
From: Gerardo J. Biagiotti
To: guvoaII@...
Sent: Friday, February 09, 2007 7:13 PM
Subject: RE: [guvoaII] VO 2.7b y Report Pro 3.x
Siempre te pide una base de datos, ponele cualquiera total no la vas a usar.
Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - ArgentinaMail: gjbiagiotti@...
MSN: gerardo_biagiotti@...
gjbiagiotti@...
gjbiagiotti@...De: guvoaII@... [mailto:guvoaII@...] En nombre de AdeSistemas
Enviado el: Viernes, 09 de Febrero de 2007 06:38 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] VO 2.7b y Report Pro 3.xEstimados colegas:
Tengo un problema con un listado, mas que problema me gustaria que me orientaran como hacerlo,
necesito hacer un listado solamente con el encabezado, sin utilizar ninguna base de datos,
Ej: Registro de compras como titulo y a su vez necesito que me tome el numero de pagina a partir del que yo necesite. Con el report pro siempre me pide una base de dato, entonces que otra opcion hay o si tiene el reportpro alguna opcion que desconozco.
espero que me entiedan.
Muchas gracias.
Luengo Sergio
Analista de Sistemas
General Pico - La Pampa
__________ Información de NOD32, revisión 2054 (20070212) __________
Este mensaje ha sido analizado con NOD32 antivirus system
part000.txt - Esta correcto
part001.htm - Esta correcto
http://www.nod32.com