Alain da Silva Posted June 17, 2016 Report Share Posted June 17, 2016 Boa noite Alessandro, eu baixei em dicas os relatórios em FR3 que vc postou. Estou querendo aprender como utilizar o fr3. Na minha atualização do five meus relatórios não funcionam mais. Teria como vc me mostrar como montar um relatório por exemplo o aFrRelatorioPadrao.fr3. Antes eu fazia assim: #include "FiveWin.ch" #include "Utilprn.ch" FUNCTION RELVEN() LOCAL OPRN,GRUA,SUBA,XLN,LN,oUtil,oFnt9,ofnt4,NGRU,NSUB,RFOR,CON,TREC DBCLOSEALL() IF ABRE6()=.F. MSGALERT("Não Foi Possível Abrir os Arquivos, Tente Novamente...","Mensagem") RETURN(.F.) ENDIF XXI := .T. NATUAL := 0 PRINTER OPRN NAME "RELATÓRIO DE VENDEDORES" PREVIEW MODAL IF GETPRINTDC() == 0 // Cancelar Impressão RETURN .F. ENDIF OPRN:SETPAGE(9) // OPRN:SETLANDSCAPE() // paisagem DEFINE FONT oFnt9 NAME "Arial" SIZE 0,-8 OF OPRN DEFINE FONT oFNT4 NAME "Arial" SIZE 0, -10 BOLD OF oPrn DEFINE PEN oPen WIDTH 3 COLOR CLR_BLACK DEFINE UTILPRN oUtil PEN oPen OF oPrn XLN := 4.6 LN := 26 SELE 6 GO TOP CURSORWAIT() PAG := 1 CABVEN(OPRN,PAG,oUtil) BEGIN SEQUENCE DO WHILE ! EOF() UTILPRN oUtil XLN,0.8 SAY STRZERO(ARQVEN->CODIGO,14) UTILPRN OUTIL XLN,4.8 SAY ARQVEN->NOME UTILPRN OUTIL XLN,14.3 SAY STR(ARQVEN->PERCENTUAL,5,2) XLN := XLN + 0.4 LN := LN + 1 IF LN >= 86 PAG := PAG + 1 ENDPAGE XLN := 4.6 LN := 26 CABVEN(OPRN,PAG,oUtil) ENDIF SKIP UNLOCK ENDDO END SEQUENCE IF LN <> 86 ENDPAGE ENDIF ENDPRINT OUTIL:END() OPEN:END() OFNT9:END() OPRN:END() CURSORARROW() GO TOP RETURN NIL **************************************** FUNCTION CABVEN(OPRN,PAG,oUtil) Local oBrush Local nColor := 15724527 DEFINE FONT oFont NAME "Arial" SIZE 0,-16 BOLD OF OPRN DEFINE FONT oFNT2 NAME "Arial" SIZE 0, -10 OF oPrn DEFINE FONT oFNT3 NAME "Arial" SIZE 0, -12 BOLD OF oPrn DEFINE FONT oFNT4 NAME "Arial" SIZE 0, -6.5 OF oPrn DEFINE BRUSH oBrush COLOR nColor PAGE UTILPRN oUtil BOX 0.35,0.5 TO 3,20.2 PEN oPen UTILPRN oUtil BOX 0.35,5 TO 3,15 PEN oPen UTILPRN oUtil 0.5,0.6 IMAGE "IMAGE\VALPANEMA.jpg" SIZE 4,2 JPG UTILPRN oUtil 0.5,16 IMAGE "IMAGE\TECMA.jpg" SIZE 4,2 JPG UTILPRN oUtil 1,7 SAY "VALPANEMA FLORESTAL LTDA" FONT ofnt4 UTILPRN oUtil 1.5,5.2 SAY "Rodovia Raposo Tavares KM 516,3 - Rancharia/SP - CEP 19.600-000 - Fone (18) 3265-8070" FONT ofnt4 UTILPRN oUtil 2,7 SAY "CNPJ 43.198.696/0004-68 - I.E. 570.006.243.110" FONT ofnt4 UTILPRN oUtil 2.5,8 SAY "Data: " + DTOC( Date() )+" - Hora: "+ Time() FONT ofnt4 UTILPRN oUtil 3.2,16.3 SAY "PAGINA NÚMERO : "+STRZERO(PAG,3) FONT ofnt2 UTILPRN oUtil SELECT ofnt2 UTILPRN oUtil SELECT ofnt4 UTILPRN oUtil SELECT oBrush UTILPRN oUtil MSG {"RELATÓRIO DE VENDEDOR/REPRESENTANTE"} TEXTFONT ofont AT 3.2,0.5 NOBOX UTILPRN oUtil BOX 4,0.5 TO 4.5,20.2 PEN oPen UTILPRN oUtil MSG {"CODIGO"} TEXTFONT OFNT2 AT 4.1,0.5 NOBOX UTILPRN oUtil MSG {"NOME"} TEXTFONT OFNT2 AT 4.1,4.5 NOBOX UTILPRN oUtil MSG {"COMISSÃO <%>"} TEXTFONT OFNT2 AT 4.1,14 NOBOX oBrush:End() RETURN(.T.) Eu cheguei a fazer assim: #include "FiveWin.ch" #include "report.ch" STATIC oReport Function RELCLI() LOCAL oFont1, oFont2, oFont3, oPen1, oPen2 DEFINE FONT oFont1 NAME "ARIAL" SIZE 0,-10 DEFINE FONT oFont2 NAME "ARIAL" SIZE 0,-10 BOLD DEFINE FONT oFont3 NAME "ARIAL" SIZE 0,-20 BOLD DEFINE FONT fTitulo NAME "Times New Roman" SIZE 0,-17 DEFINE PEN oPen1 WIDTH 1 DEFINE PEN oPen2 WIDTH 2 //______Carega configurações_____// if !CarregaConfig() // Funcoes_envio.prg Return Nil Endif SELE 1 DBSETORDER(2) DBGOTOP() //----------------------------------------------- //_______ INicio DO rELATÓRIO //----------------------------------------------- REPORT oReport TITLE "RELATÓRIO DE CLIENTE",m->hDados['Fantasia'],m->hDados['Endereco']; CAPTION "Relatório de Cliente" ; HEADER "Data da Emissão",DTOC(DATE()) RIGHT ; FOOTER "Página nº: "+str(oReport:nPage,3) CENTER; PEN oPen1, oPen2 ; FONT oFont1, oFont2, oFont3, fTitulo ; preview COLUMN TITLE "Código"; DATA arqcli->codigo * GRID * TOTAL ; * RIGHT ; * PICTURE "9,999,999"; * FONT 2 ; * SIZE 9 COLUMN TITLE "Nome/Razão Social","Endereço"; DATA SUBS(arqcli->razao,1,40),ALLTRIM(ARQCLI->ENDERECO)+","+ALLTRIM(ARQCLI->NUMERO) FONT 1; GRID COLUMN TITLE "Cidade","UF"; DATA SUBS(ARQCLI->CIDADE,1,20),ARQCLI->ESTADO; GRID COLUMN TITLE "Telefone"; DATA ARQCLI->TELEFONE; GRID ** SHADOW pinta * GROUP ON ARQCLI->ESTADO ; //--------- FAZER SOMAS * FOOTER "Total do Estado: "+oReport:aGroups[1]:cValue+ ; * " ("+ltrim(str(oReport:aGroups[1]:nCounter))+")" ; * FONT 2 ; * EJECT END REPORT oReport:oTitle:aFont[1]:= {|| 4 } // coloca a fonte no titulo maior oReport:CellView() ACTIVATE REPORT oReport ON STARTPAGE Bitmaps() oFont1:End() oFont2:End() oFont3:End() fTitulo:End() oPen1:End() oPen2:End() RETURN NIL STATIC Function Bitmaps() oReport:SayBitmap(.3,.3,"./report/logo.bmp",1.2,1.2) RETURN NIL Obrigado Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.