FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Report linea de inicio
Posts: 104
Joined: Wed Mar 08, 2006 02:24 PM
Report linea de inicio
Posted: Mon Aug 28, 2017 12:17 PM

Hola Foro:
Dos consultas, quiero poner una imagen como encabezado de un reporte, pero se superpone sobre los header del reporte, hay alguna forma de indicar la posici贸n de inicio de los header del report o eliminar los header e indicar en donde comienza el report?

Y la segunda es porque no se me habilita la conversi贸n a excel en el report?

Estoy usando Fivewin de March 2017 con Bcc7 y xHarbourd
Gracias

Posts: 346
Joined: Mon Oct 05, 2009 03:35 PM
Re: Report linea de inicio
Posted: Mon Aug 28, 2017 01:59 PM
Esto es un extracto de una impresion, que utilizo, con el simbolo de "<<---" esta lo que preguntas.

Saludos!


Code (fw): Select all Collapse
STATIC FUNCTION InformCierre( oBrw, oGraph )
LOCAL oRpt, Fon1, Fon2, oPrn, Fon3, Fon4, aPos, aSiz, oDbf, k

SET 3DLOOK OFF
PRINTER oPrn 聽PREVIEW
IF EMPTY( oPrn:hDC )
聽 聽 RETURN NIL
ENDIF

aPos:=oPrn:Cmtr2Pix(1.50,11.5)
aSiz:=oPrn:Cmtr2Pix(12.5, 4.5)

oPrn:SetPage( 2 ) 聽 // 1=Papel Letter 8 1/2 x 11 in / 9=A4 210 x 297 mm

DEFINE FONT 聽Fon1 NAME "Consolas" 聽 聽SIZE 0,-10
DEFINE FONT 聽Fon2 NAME "Consolas" 聽 聽SIZE 0,-12 聽BOLD
DEFINE FONT 聽Fon3 NAME "Consolas" 聽 聽SIZE 0,-10 聽BOLD
DEFINE FONT 聽Fon4 NAME "Consolas" 聽 聽SIZE 0,-8

SELECT PA25 聽 聽 聽 聽 聽 聽 ; 聽 DBGOTOP()

REPORT oRpt TITLE 聽" "," ","INFORME PROCESO DE PACKING N掳 "+PA18->NPRO+" - "+DTOC(PA18->FECH),"EMPRESA 聽 : "+ALLTRIM(PA18->LOTE),"PRODUCTOR : "+ALLTRIM(PA18->CCSG)+"-"+ALLTRIM(PA18->NOMB),"ESPECIE 聽 : "+PA18->ESPE+"-"+ALLTRIM(PA18->NOME),"VARIEDAD 聽: "+PA18->VARI+"-"+ALLTRIM(PA18->ETIQ)," "," "," "," "," "," "," "," "," "," "," " LEFT ;
聽 聽 HEADER oGraph:Print(oPrn,aPos[1],aPos[2],aSiz[1],aSiz[2]), 聽SPACE(16)+oApp:cEmpresa, SPACE(16)+ALLTRIM(oApp:cDireccion)+" / "+ALLTRIM(oApp:cCiudad)+" / "+ ALLTRIM(oApp:cTelefono) 聽 ;
聽 聽 FOOTER ALLTRIM(oApp:cSigEmp)+" "+oApp:cRut+" P谩gina Nro : "+STR(oRpt:nPage,3,0)+" ( Fecha :"+DTOC(ServerDate())+" Hora : "+SUBSTR(ServerTime(),1,5)+" )",__MAIN+" "+__VERSION+oApp:cVersion+" Proc.: ["+MAINPRO+" ver."+VERSIONPRO+"]" CENTER ;
聽 聽 FONT 聽Fon1, Fon2, Fon3, Fon4 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 TO DEVICE oPrn 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 CAPTION "CierreProceso"

聽 聽 COLUMN TITLE "Lotes" 聽 聽 聽 聽 聽,"Procesados" 聽 聽 聽DATA "Lote : "+PA25->LOTE 聽 聽 聽 聽 聽 聽 聽 聽FONT 1 SIZE 20 CENTER GRID
聽 聽 COLUMN TITLE " " 聽 聽 聽 聽 聽 聽 聽,"Recepci贸n" 聽 聽 聽 DATA PA25->FECH 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽FONT 1 SIZE 12 CENTER
聽 聽 COLUMN TITLE "Total" 聽 聽 聽 聽 聽,"Bins" 聽 聽 聽 聽 聽 聽DATA PA25->ESTA PICTURE "@E 9,999.99" 聽 聽FONT 1 SIZE 12 TOTAL 聽GRID
聽 聽 COLUMN TITLE "Total" 聽 聽 聽 聽 聽,"Totems" 聽 聽 聽 聽 聽DATA PA25->MINU PICTURE "@E 9,999.99" 聽 聽FONT 1 SIZE 12 TOTAL 聽GRID
聽 聽 COLUMN TITLE "Kilos" 聽 聽 聽 聽 聽,"Vaciados" 聽 聽 聽 聽DATA PA25->TUN1 PICTURE "@E 99,999.99" 聽 FONT 1 SIZE 12 TOTAL 聽GRID
聽 聽 COLUMN TITLE " " 聽 聽 聽 聽 聽 聽 聽,"% PT&I" 聽 聽 聽 聽 聽DATA PA25->TUN3 PICTURE "@E 999.99" 聽 聽 聽FONT 1 SIZE 10 GRID
聽 聽 COLUMN TITLE " " 聽 聽 聽 聽 聽 聽 聽," " 聽 聽 聽 聽 聽 聽 聽 DATA PA25->ID 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽FONT 1 SIZE 聽1 GRID
聽 聽 COLUMN TITLE " " 聽 聽 聽 聽 聽 聽 聽,"Observaciones" 聽 DATA PA25->ID 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽FONT 1 SIZE 40 GRID

END REPORT

IF oRpt:lCreated
聽 聽 聽 聽oRpt:lJoin 聽 聽 聽 聽 聽 聽 聽:= .T.
聽 聽 聽 聽oRpt:lAutoland 聽 聽 聽 聽 聽:= .T.
聽 聽 聽 聽oRpt:lColTitleShadow 聽 聽:= .T.
聽 聽 聽 聽oRpt:nColTitleClrShadow := _CLRREPTX3
聽 聽 聽 聽oRpt:bInit 聽 聽:= {|| PA25->(dbGotop()) } 聽 聽 聽 聽 聽<<--- 聽 :bInit 聽con un valor se puede usar el boton para exportar a excel
聽 聽 聽 聽oRpt:SetPenColor( CLR_BLUE )
聽 聽 聽 聽oRpt:cGrandTotal 聽 聽 聽 聽:= "Integridad de Datos"
聽 聽 聽 聽oRpt:Stabilize()
ENDIF

ACTIVATE REPORT oRpt ON STARTPAGE 聽CabezeraProceso( oRpt ) 



STATIC FUNCTION CabezeraProceso( oRpt )
LOCAL cText := "", nLine, nStep, nTot, n, oBr

DEFINE BRUSH oBr COLOR nRGB(255,179,128)

oRpt:SayBitmap(0.30, 0.30,".\SYSTEM\RE000.Bmp") 聽 聽 <<---- 聽 聽imagen

nLine := 聽ROUND(( oRpt:oDevice:nVertRes() / 11 ),0)
nStep := 聽ROUND(( nLine / 6.90 ), 0)

nTot 聽:= {0,0,0,0,0,0}
n 聽 聽 := 聽Int( oRpt:oPenHorz:nWidth * 5 )
SetbkMode( oRpt:oDevice:hDCOut, 聽1 )

nTot[1] := ( oApp:aPorcen[2] / oApp:nSumas ) * 100
nTot[2] := ( oApp:aPorcen[5] / oApp:nSumas ) * 100
nTot[3] := 聽 oApp:nSumas - ( oApp:aPorcen[2] + oApp:aPorcen[5] )
nTot[4] := 聽 oApp:aPorcen[1] + oApp:aPorcen[4]
nTot[5] := ( nTot[3] / oApp:nSumas ) * 100
nTot[6] := nTot[1] + nTot[2] + nTot[5]

nLine 聽 += ( nStep * 5 )

oRpt:oDevice:FillRect( { nLine + n, oRpt:aCols[1] - 10, nLine 聽+ ( oRpt:nStdLineHeight * oRpt:nMaxTitle ) + n * 3 , oRpt:aCols[4] + oRpt:aColumns[4]:nWidth + 100}, oBr )
nLine 聽 += nStep
oRpt:oDevice:Line( nLine-60 , 470, nLine-60 , 3000 )
聽 聽 聽oRpt:Say( 聽3, "RESULTADO DE PROCESO", 2, RPT_CENTER, nLine ) ; 聽 nLine += nStep
聽 聽 聽oRpt:Say( 聽2, "Envases" 聽 , 3, RPT_CENTER , nLine )
聽 聽 聽oRpt:Say( 聽3, "Kilos" 聽 聽 , 3, RPT_CENTER , nLine )
聽 聽 聽oRpt:Say( 聽4, "%" 聽 聽 聽 聽 , 3, RPT_RIGHT 聽, nLine ) 聽 聽 聽 聽 聽; 聽 nLine += nStep
oRpt:oDevice:Line( nLine+20 , 470, nLine+20 , 3000 )
nLine += ( nStep / 2 )
聽 聽 聽oRpt:Say( 聽1, "Exportable", 1, RPT_LEFT 聽 , nLine ) 聽 聽 聽 聽 聽; 聽 oRpt:Say( 2,TRANSFORM(oApp:aPorcen[1],"@E 99,999"), 1, RPT_RIGHT, nLine) ; oRpt:Say( 3,TRANSFORM(oApp:aPorcen[2],"@E 99,999.99"), 1, RPT_RIGHT, nLine) ; oRpt:Say( 4,TRANSFORM(nTot[1],"@E 999.99"), 1, RPT_RIGHT, nLine) ; nLine += nStep
聽 聽 聽oRpt:Say( 聽1, "Comercial" , 1, RPT_LEFT 聽 , nLine ) 聽 聽 聽 聽 聽; 聽 oRpt:Say( 2,TRANSFORM(oApp:aPorcen[4],"@E 99,999"), 1, RPT_RIGHT, nLine) ; oRpt:Say( 3,TRANSFORM(oApp:aPorcen[5],"@E 99,999.99"), 1, RPT_RIGHT, nLine) ; oRpt:Say( 4,TRANSFORM(nTot[2],"@E 999.99"), 1, RPT_RIGHT, nLine) ; nLine += nStep
聽 聽 聽oRpt:Say( 聽1, "Mermas" 聽 聽, 1, RPT_LEFT 聽 , nLine ) 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ; oRpt:Say( 3,TRANSFORM(nTot[3] 聽 聽 聽 聽,"@E 99,999.99"), 1, RPT_RIGHT, nLine) ; oRpt:Say( 4,TRANSFORM(nTot[5],"@E 999.99"), 1, RPT_RIGHT, nLine) ; nLine += nStep
nLine += ( nStep / 2 )
oRpt:oDevice:Line( nLine 聽 聽 聽 , 470, nLine 聽 聽, 聽3000 )
oRpt:oDevice:Line( nLine+100 聽 , 470, nLine+100, 聽3000 )
oRpt:Say( 聽1, "Totales" 聽 聽 聽 聽, 3, RPT_LEFT 聽 , nLine ) 聽 聽 聽 聽 聽; 聽 oRpt:Say( 2,TRANSFORM(nTot[4] 聽 聽 聽 聽,"@E 99,999"), 3, RPT_RIGHT, nLine) ; oRpt:Say( 3,TRANSFORM(oApp:nSumas 聽 聽,"@E 99,999.99"), 3, RPT_RIGHT, nLine) ; oRpt:Say( 4,TRANSFORM(nTot[6],"@E 999.00"), 3, RPT_RIGHT, nLine) ; nLine += nStep
oRpt:Say( 聽6, "KILOS VACIADOS" , 2, RPT_LEFT 聽 , nLine )

oBr:End()

RETURN .T.


Resultado

SkyPe: armando.lagunas@hotmail.com

Mail: armando.lagunas@gmail.com
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Report linea de inicio
Posted: Mon Aug 28, 2017 02:19 PM

Impecable, muy bien

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 104
Joined: Wed Mar 08, 2006 02:24 PM
Re: Report linea de inicio
Posted: Mon Aug 28, 2017 03:44 PM

Gracias Armando, ya lo pruebo.

Continue the discussion