Jump to content
Fivewin Brasil

Fastreport co MySQL


SISCO

Recommended Posts

Não estou conseguindo gerar relatório apartir de um banco MySQL

Não encherga o banco no design do relatório

Acesso ao banco nativo do fivewin

    oRsPdvDetR      := ConectaBD():RowSet( "SELECT * FROM pdvdet WHERE id_pdvcab = " + AllTrim(Str(nId_PdvCab)))
    ConectaBD():Close()
    IF oRsPdvDetR == NIL .OR. oRsPdvDetR:EOF()
       MsgAlert("Verifique Pedido de Venda. Não foi encontrada","Atenção")
       Return .f.
    ENDIF

    cImagem1   := ".\bmp\logopdv.bmp"
    RepDir     := ".\REPORT\"
            oFrPrn := frReportManager():new()
            oFrPrn:SetIcon(1)                         //ícone da janela do FRH
//            oFrPrn:SetTitle( cTitulo     )            //título da janela do FRH
//            oFrPrn:SetTitle( cTipo       )            //título da janela do FRH
//            oFrPrn:SetTitle( cUSUARIO    )            //título da janela do FRH
            oFrPrn:SetTitle( cImagem1    )            //título da janela do FRH
            oFrPrn:LoadLangRes( 'brazil.xml')                     //arquivo de idioma
            oFrPrn:SetWorkArea("oRsPdvDetR", select("oRsPdvDetR"))
         oFrPrn:PreviewOptions:SetAllowEdit( .F. )
         oFrPrn:PreviewOptions:SetZoomMode(2)
         oFrPrn:PreviewOptions:SetOutlineExpand(.F.)
            oFrPrn:LoadFromFile(RepDir+"RELPDV.FR3")               // para leitura direta de arquivo FR3
            IF lDesig
                 oFrPrn:DesignReport() // Exibe estrutura do relatório para configurar
                 oFrPrn:ShowReport()
             ELSE    
//                oFrPrn:ShowReport()                            // aqui para gerar o preview do relatório.
            oFrPrn:PrintOptions:SetShowDialog(.F.) // .f. Direto na impressora
            oFrPrn:PrepareReport() //  Inicia um relatório sem janela de visualização
            oFrPrn:Print( .T. )
            ENDIF            
             oFrPrn:DestroyFR()
        
 

Link to comment
Share on other sites

Boa tarde,

Nunca usei o FastReport, mas gostaria de começar a usá-lo como principal "Gerador de meus relatórios", mas não faço a menor idéia de como começar. Este link "https://github.com/FastReports/FastReport", que o Kapiaba postou pergunto ?

1º - eu baixo o projeto do FastReport, depois tenho que compila-ló para ter um executável que possa chamar e começar a usar a plataforma e montar os *.frm que serão os guias dos meus relatórios é isso ?? Ou estou completamente errado ?? Não há como compilar ... Como se usa..

2º - Alguém tem algum exemplo com código fonte da montagem deste relatório

3º - Como incorporo o Fast report em meus projetos ??

Como observaram, não tenho nenhum conhecimento de como trabalhar o Fast Repor com o Xharbour ou Fivewin, se é possivel. Se puderem me auxiliar agradeceria muito.

Obrigado.

Link to comment
Share on other sites

Boa tarde, eu até tinha todo o material necessário para o seu aprendizado no meu ex 4shared.com, más um FDP deste forum, sujeito safado e sem noção,  me denunciou ao 4shared.com. e eu perdi tudo que tinha guardado lá(se o 4shared.com tivesse só excluído a parte do FAST, tudo bem, mas, excluiu foi tudo. Pense no prejuízo...); espero que alguém tenha guardado os exemplos e possa te enviar. Depois disso, desisti do FAST, e só uso os relatórios NATIVOS do fivewin. Mesmo porquê, quando baixei os demos e exemplos, o Author, antes de morrer, tinha liberado o uso da versão da DLL que eu tinha. Enfim, gente ruim, é que nem gente boa, só que ruim, mas, como diz um amigo, uma hora a casa dele vai cair. Eu creio. Abs.

Link to comment
Share on other sites

Bom dia

Obrigado a todos pela ajuda.

Eu já utilizo o Fast para alguns relatórios ele funciona normal para DBF e SQLRDD. Quanto ao nativo com MySQl não encontrei material da forma que eu gostaria de usar, acabei  gerando pelo Array que utilizo no xBrowse e ficou assim:

substitui essa linha oFrPrn:SetWorkArea("oRsPdvDetR", select("oRsPdvDetR"))

para

          X := 0
            ASORT(aPdvDet,,,{|x,y| (x[2]) < (y[2]) })
            oFrPrn:SetUserDataSet("aPdvDet", "id_produto;descpro;qtdpro;unidade;vlunitario;vltotpro", ;
                        {||x := 1}, ; //--> bGoTop
                        {||x := x + 1}, ;  //--> bSkipPlus
                        {||x := x - 1}, ;  //--> bSkipMinus
                        {||x > Len(aPdvDet)}, ;  //--> bCheckEOF
                        {|aField|nCol := IIF( aField == "id_produto" , 1,;
                                          IIF( aField == "descpro"        , 2,;
                                          IIF( aField == "qtdpro"       , 3,;
                                          IIF( aField == "unidade"      , 4,;
                                          IIF( aField == "vlunitario" , 5,;
                                          IIF( aField == "vltotpro"      , 6, 7 )))))), aPdvDet[x, nCol] } )

 

pedido.thumb.png.245af950634db05b3df1e9c36b133b1e.png

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...