Gerando relatórios com o FlexReport – Parte 3 (Screencast)

Depois do primeiro artigo sobre o FlexReport e do primeiro screencast sobre o assunto, recebi vários comentários (tanto através dos comentários no blog quanto via e-mail/listas de discussão) dizendo que seria interessante mostrar como fazer relatórios mais elaborados.

Atendendo a todos esses pedidos elaborei este segundo screencast, que é focado em como organizar o layout do relatório gerado com o FlexReport, aproveitando todos os conceitos do screencast anterior.

Espero que sirva para sanar as dúvidas que apareceram desde o último artigo, e continuarei aguardando os comentários de vocês!

Veja esta aplicação funcionando (Use “View Source” para visualizar o código fonte).

#Edit @07/jun/2010
Aqui está um artigo sobre a lib do FlexReport para Flex 4!


Poderia avaliar este artigo, por favor?

1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas
Loading ... Loading ...

Posts relacionados

  • Bit

    kra muito show to gostando! parabens pelo sc muito bem elaborado e explicado.

  • Bit

    kra muito show to gostando! parabens pelo sc muito bem elaborado e explicado.

  • Pingback: Gerando relatórios com o FlexReport - Parte 2 (Screencast) | Elvis Fernandes

  • Daniel

    Ótimo screencast. Seus tutoriais estão ficando cada vez melhores, continue assim.
    Você sabe me dizer se tem como ao invés de exibir um preview gerar um PDF diretamente? É que estou interessado em trabalhar com FlexReport em uma aplicação AIR, por isso acredito que ficaria melhor exibir diretamente em PDF utilizando o componente de exibição de PDF do AIR.
    Um abraço,

    • http://www.elvis.eti.br/ Elvis Fernandes

      #Daniel,

      Neste caso, acho que você nem vai precisar usar o FlexReport. Você pode usar o AlivePDF, que gera arquivos em PDF tanto no cliente quanto no servidor.

      Obrigado pelo comentário!

  • Daniel

    Ótimo screencast. Seus tutoriais estão ficando cada vez melhores, continue assim.
    Você sabe me dizer se tem como ao invés de exibir um preview gerar um PDF diretamente? É que estou interessado em trabalhar com FlexReport em uma aplicação AIR, por isso acredito que ficaria melhor exibir diretamente em PDF utilizando o componente de exibição de PDF do AIR.
    Um abraço,

    • http://www.elvis.eti.br Elvis Fernandes

      #Daniel,

      Neste caso, acho que você nem vai precisar usar o FlexReport. Você pode usar o AlivePDF, que gera arquivos em PDF tanto no cliente quanto no servidor.

      Obrigado pelo comentário!

  • Daniel

    Mas quase utilize apenas o AlivePDF quais componentes eu poderei usar para que haja controle de quebra de páginas e a visualização seja agradável quando impresso?

  • Daniel

    Mas quase utilize apenas o AlivePDF quais componentes eu poderei usar para que haja controle de quebra de páginas e a visualização seja agradável quando impresso?

  • Daniel

    *caso

  • Daniel

    *caso

  • http://www.atitudetreinamentos.com.br/william William

    Muito bom o seu Screencast. Parabéns! Vc poderia disponibilizar o projeto pára nós.?

  • http://www.atitudetreinamentos.com.br/william William

    Muito bom o seu Screencast. Parabéns! Vc poderia disponibilizar o projeto pára nós.?

  • Marcos Antunes

    Muito bom.Faltou habilitar o “View Source”.
    Grato.

  • Marcos Antunes

    Muito bom.Faltou habilitar o “View Source”.
    Grato.

  • http://www.atitudetreinamentos.com.br/william William
  • http://www.atitudetreinamentos.com.br/william William
  • http://www.elvis.eti.br/ Elvis Fernandes

    #Pessoal,

    Desculpe a demora para responder os comentários, estava migrando o server … sabe como é …

    #Daniel,

    O AlivePDF é específico para geração de PDFs, ele não tem a mesma “facilidade” que o FlexReport. Acho que vale a pena uma boa olhada na documentação do AlivePDF

    #Marcos Antunes,

    Desculpe, eu habilitei a opção, mas não sei porque cargas d’água subi o swf errado (é, eu consegui). Já atualizei o swf.

    #Willian,

    É isso aí. Agora a app está com “View Source” habilitado, que leva pra esse mesmo endereço que você passou. Obrigado pela força!

    #Todos,

    Abraços!

  • http://www.elvis.eti.br Elvis Fernandes

    #Pessoal,

    Desculpe a demora para responder os comentários, estava migrando o server … sabe como é …

    #Daniel,

    O AlivePDF é específico para geração de PDFs, ele não tem a mesma “facilidade” que o FlexReport. Acho que vale a pena uma boa olhada na documentação do AlivePDF

    #Marcos Antunes,

    Desculpe, eu habilitei a opção, mas não sei porque cargas d’água subi o swf errado (é, eu consegui). Já atualizei o swf.

    #Willian,

    É isso aí. Agora a app está com “View Source” habilitado, que leva pra esse mesmo endereço que você passou. Obrigado pela força!

    #Todos,

    Abraços!

  • Piero Brito

    Muito bom o screencast! To fazendo aqui um gerador de relatório no meu sistema e esse screencast me tirou muitas dúvidas.

    Valeu

  • Piero Brito

    Muito bom o screencast! To fazendo aqui um gerador de relatório no meu sistema e esse screencast me tirou muitas dúvidas.

    Valeu

  • http://www.alternativoweb.com.br/ Piero

    Estou com um problema, baixei seu projeto e testei aqui na minha maquina e o único problema que ta dando é que não ta imprimindo o conteudo do quadro ‘Resumo’ eu tentei aqui no meu projeto e também não consegui. Fiza aparecendo assim: undefined

  • http://www.alternativoweb.com.br Piero

    Estou com um problema, baixei seu projeto e testei aqui na minha maquina e o único problema que ta dando é que não ta imprimindo o conteudo do quadro ‘Resumo’ eu tentei aqui no meu projeto e também não consegui. Fiza aparecendo assim: undefined

  • http://www.taticasolution.com.br/ Adriano

    Elvis, muito legal os videos que vc fez!
    Vc poderia dar um exemplo de um relatório com header/datails, por exemplo: listar os dados do pedido e embaixo os respectivos itens.
    é possível fazer isso com o FlexReport?
    Valeu!

    • http://www.taticasolution.com.br/ Adriano

      ah! esqueci de um detalhe, imprimir vários pedidos no mesmo pdf e cada um em uma folha, e sempre pulando as páginas pares para que seja possível imprimir frente e verso.

  • http://www.taticasolution.com.br Adriano

    Elvis, muito legal os videos que vc fez!
    Vc poderia dar um exemplo de um relatório com header/datails, por exemplo: listar os dados do pedido e embaixo os respectivos itens.
    é possível fazer isso com o FlexReport?
    Valeu!

    • http://www.taticasolution.com.br Adriano

      ah! esqueci de um detalhe, imprimir vários pedidos no mesmo pdf e cada um em uma folha, e sempre pulando as páginas pares para que seja possível imprimir frente e verso.

  • Emerson Mota

    Elvis, tod relatório que coloco um DataGrid, apareceu uma area preta na impressão, no formato de um retangulo, alem disso, gera uma segunda pagina em branco, tem ideia do que pode está acontcendo?

    abraços,

    Emerson Mota.

  • Emerson Mota

    Elvis, tod relatório que coloco um DataGrid, apareceu uma area preta na impressão, no formato de um retangulo, alem disso, gera uma segunda pagina em branco, tem ideia do que pode está acontcendo?

    abraços,

    Emerson Mota.

  • Carol

    Olá Elvis,

    Com ajuda dos seus screencast consegui utulizar o FlexReport, porém não consigo visualizar nada quando estou no windows! Sabe o que pode ser ?

    Obrigada

  • Carol

    Olá Elvis,

    Com ajuda dos seus screencast consegui utulizar o FlexReport, porém não consigo visualizar nada quando estou no windows! Sabe o que pode ser ?

    Obrigada

  • Paulo Gouvêa

    Caro Elvis,

    Gostei muito do seu sc. Me foi muito util. No entanto estou tendo um problema que não consigo entender!!! Na janela de preview não é mostrado o relatório, enquanto que a miniatura da página que é mostrada a esquerda, exibe os detalhes da pagina.

    já revisei tudo e não acho o problema. Confesso já
    estou começando a achar que não vai rolar o uso do componente. Não gostaria de desistir agora, portanto peço a sua ajuda para entender o que está ocorrendo.

    abços.

    Paulo.

    • http://www.elvis.eti.br/ Elvis Fernandes

      Olá, Paulo!

      Provavelmente você está colocando no seu template um componente que está ultrapassando os limites do relatório. Por exemplo, pode ter um componente que está mais largo que o seu relatório.

      Não se esqueça que alguns componentes podem se redimensionar automaticamente dependendo do conteúdo, como os Labels, por exemplo. Certifique-se de que nenhum dos teus componentes está extrapolando o tamanho do relatório.

      Obrigado pelo comentário!

  • Paulo Gouvêa

    Caro Elvis,

    Gostei muito do seu sc. Me foi muito util. No entanto estou tendo um problema que não consigo entender!!! Na janela de preview não é mostrado o relatório, enquanto que a miniatura da página que é mostrada a esquerda, exibe os detalhes da pagina.

    já revisei tudo e não acho o problema. Confesso já
    estou começando a achar que não vai rolar o uso do componente. Não gostaria de desistir agora, portanto peço a sua ajuda para entender o que está ocorrendo.

    abços.

    Paulo.

    • http://www.elvis.eti.br Elvis Fernandes

      Olá, Paulo!

      Provavelmente você está colocando no seu template um componente que está ultrapassando os limites do relatório. Por exemplo, pode ter um componente que está mais largo que o seu relatório.

      Não se esqueça que alguns componentes podem se redimensionar automaticamente dependendo do conteúdo, como os Labels, por exemplo. Certifique-se de que nenhum dos teus componentes está extrapolando o tamanho do relatório.

      Obrigado pelo comentário!

  • Jackson Barcellos

    Excelente Tutorial, gostaria de tirar uma duvida porque o export to pdf não funciona? Como faço para funcionar ou desabilitar, deixar sem visibilidade?

    • jonh

      Excelente Tutorial,

      No preview do componente tem como visualizar e imprimir com a orientação em landscape?

  • http://... Jackson Barcellos

    Excelente Tutorial, gostaria de tirar uma duvida porque o export to pdf não funciona? Como faço para funcionar ou desabilitar, deixar sem visibilidade?

    • jonh

      Excelente Tutorial,

      No preview do componente tem como visualizar e imprimir com a orientação em landscape?

  • Jackson Santos

    Olá Elvis,

    Gostaria de parabenizar pelos Screencast’s bastantes simples e fáceis para o entendimento, e perguntar se há possibilidade de demonstrar como poderíamos trabalhar com agrupamento de informações e seus respectivos totais.

  • Jackson Santos

    Olá Elvis,

    Gostaria de parabenizar pelos Screencast’s bastantes simples e fáceis para o entendimento, e perguntar se há possibilidade de demonstrar como poderíamos trabalhar com agrupamento de informações e seus respectivos totais.

  • Leonardo

    Ótimo tutorial, me ajudou muito cara.
    Mas como seria para fazer um relatório com quebra/agrupamento? Tipo, uma listagem de Cidades com quebra por Estado…

  • Leonardo

    Ótimo tutorial, me ajudou muito cara.
    Mas como seria para fazer um relatório com quebra/agrupamento? Tipo, uma listagem de Cidades com quebra por Estado…

  • Leonardo

    Opa…
    E daria pra fazer um relatorio com quebra/agrupamento por algum campo, como por exemplo uma listagem de todas as cidades brasileiras com quebra por Estado, ou ainda, todas os bairros com quebras por cidade?

  • Leonardo

    Opa…
    E daria pra fazer um relatorio com quebra/agrupamento por algum campo, como por exemplo uma listagem de todas as cidades brasileiras com quebra por Estado, ou ainda, todas os bairros com quebras por cidade?

  • Paula Rodrigues

    Muito Bom o Tutorial… Só tenho uma pergunta!
    do lado do botao de impressão tem um com o logo da adobe. como faço ´para aquele botão funcionar normalmente e exportar para PDF

  • Paula Rodrigues

    Muito Bom o Tutorial… Só tenho uma pergunta!
    do lado do botao de impressão tem um com o logo da adobe. como faço ´para aquele botão funcionar normalmente e exportar para PDF

  • Gralak

    Elvis como eu faço pra colocar uma imagem do tipo <mx:image no relatório recebendo um caminho de imagem que vem pelo banco de dados, como por exemplo seu fosse imprimir um cadastro de produto com imagem …
    Como faria ????

  • Daniele

    Elvis preciso saber como faço pra imprimir em landscape com o FlexReport

  • Rogerio

    Olá Elvis, o tutorial que criou ajudou bastante.
    Estou com um problema.
    Criei os templates e dataproviders conforme o exemplo que você criou mas estou tendo problemas no momento da visualização da impressão
    o programa não está criando uma segunda página

    <PrintComponent width=”100%”>
    <mx:Label text=”Gleba selecionada:” fontWeight=”bold” fontSize=”14″/>
    </PrintComponent>

    <ReportDataGrid id=”glebaSelecionada_reportDG”
    width=”100%” height=”50″>
    <columns>
    <mx:DataGridColumn id=”glebaSelecionada_identificacao_columnDG”
    headerText=”Identificação”
    dataField=”nome”
    width=”{this.glebaSelecionada_identificacao_columnDG.headerText.length}”/>
    <mx:DataGridColumn id=”glebaSelecionada_municipio_columnDG”
    headerText=”Município”
    dataField=”municipioNome”
    width=”{this.glebaSelecionada_municipio_columnDG.headerText.length + 5}”/>
    <mx:DataGridColumn id=”glebaSelecionada_siglaUF_columnDG”
    headerText=”UF”
    dataField=”municipioSiglaUF”
    width=”{this.glebaSelecionada_siglaUF_columnDG.headerText.length + 1}”/>
    <mx:DataGridColumn id=”glebaSelecionada_area_columnDG”
    headerText=”Área(ha)”
    dataField=”area”
    width=”{this.glebaSelecionada_area_columnDG.headerText.length}”/>
    <mx:DataGridColumn id=”glebaSelecionada_classetextural_columnDG”
    headerText=”Classe textural do solo”
    dataField=”classeTexturalNome”
    width=”{this.glebaSelecionada_classetextural_columnDG.headerText.length}”/>
    </columns>
    </ReportDataGrid>

    <mx:Label text=”Dados da gleba selecionada:”
    fontWeight=”bold”
    fontSize=”14″
    width=”100%”/>

    <ReportDataGrid id=”recomendacaoGleba_reportDG”
    width=”100%” height=”50″>
    <columns>
    <mx:DataGridColumn id=”recomendacaoGleba_culturapretendida_columnDG”
    headerText=”Cultura pretendida”
    dataField=”culturaPretendidaNome”
    width=”{this.recomendacaoGleba_culturapretendida_columnDG.headerText.length}”/>
    <mx:DataGridColumn id=”recomendacaoGleba_expecProdutividade_columnDG”
    headerText=”Expectativa de produtividade”
    dataField=”expectativaProdutividade”
    labelFunction=”{Formatos.FormataSeparadorDecimal}”
    width=”{this.recomendacaoGleba_expecProdutividade_columnDG.headerText.length}”/>
    <mx:DataGridColumn id=”recomendacaoGleba_datacriacao”
    headerText=”Registro da recomendação”
    dataField=”dataCriacao”
    width=”{this.recomendacaoGleba_datacriacao.headerText.length}”
    labelFunction=”{Formatos.FormataData}”/>
    </columns>
    </ReportDataGrid>

    <mx:Label text=”Dados da análise do solo:”
    fontWeight=”bold”
    fontSize=”14″/>

    <mx:Label id=”analise_metodoextracao_label”/>

    <mx:Tile direction=”horizontal”
    width=”100%”
    height=”100″>
    <mx:Label id=”analise_saturacao_label”/>
    <mx:Label id=”analise_ctc_label”/>
    <mx:Label id=”analise_classe_label”/>
    <mx:Label id=”analise_fosforo_label”/>
    <mx:Label id=”analise_potassio_label”/>
    <mx:Label id=”analise_mo_label”/>
    <mx:Label id=”analise_teorargila_label”/>
    </mx:Tile>

    <mx:Label text=”"/>

    <mx:Label text=”Dados da cultura:”
    fontWeight=”bold”
    fontSize=”14″/>

    <mx:VBox width=”100%”>
    <mx:Label id=”analise_culturapretendida_label”/>
    <mx:Label id=”analise_expectativaprodutividade_label”/>
    <mx:Label id=”analise_prntcalcario_label”/>
    </mx:VBox>

    <mx:Label text=”"/>

    <mx:Label text=”Interpretação do solo a partir dos dados inseridos:”
    fontWeight=”bold”
    fontSize=”14″/>

    <mx:Tile direction=”horizontal”
    width=”100%”>
    <mx:Label id=”interpretacao_saturacaoporbases_label”/>
    <mx:Label id=”interpretacao_fosforoP_label”/>
    <mx:Label id=”interpretacao_potassioK_label”/>
    </mx:Tile>

    <mx:Label text=”"/>

    <mx:Label text=”Recomendação de calagem a partir dos dados inseridos:”
    fontWeight=”bold”
    fontSize=”14″/>

    <mx:Tile direction=”horizontal”
    width=”100%”>
    <mx:Label id=”recomendacao_dosecalcario_label”/>
    <mx:Label id=”recomendacao_prntcalcario_label”/>
    </mx:Tile>

    <mx:Label text=”"/>

    <mx:Label text=”Recomendação de adubação a partir dos dados inseridos:”
    fontWeight=”bold”
    fontSize=”14″/>

    <mx:Label id=”recomendacao_nitrogenio_label”/>

    <mx:Label id=”recomendacao_fosforo_label”/>

    <mx:Label id=”recomendacao_potassio_label”/>

    <mx:Label text=”"/>

    <mx:Label text=”Recomendação em doses de formulações comerciais:”
    fontWeight=”bold”
    fontSize=”14″/>

    <mx:Label id=”formulacaonenhuma_label”
    text=”Nenhuma formulação compatível foi encontrada.”
    fontWeight=”bold”
    color=”#0000FF” enabled=”false”/>

    <ReportDataGrid id=”recomendacaoDose_reportDG”
    width=”100%”>
    <columns>
    <mx:DataGridColumn/>
    <mx:DataGridColumn/>
    </columns>
    </ReportDataGrid>
    </Body>

  • Pingback: FlexReport com o Flex4! | Elvis Fernandes

  • Reginaldo

    elvis primeiramente quero agardecer sua iniciativa seu Screencast me ajudou bastante ,entretanto no meu projeto é nessesario colocar no relatorio uma imagen (foto 3X4 e seu endereço é ariginado do banco de dados ai meu amigo o trem travou aqui ja fiz de tudo e nada da foto aparecer só da certo quando coloco a foto statica vc tem alguma dica pra isso ???
    desde ja grato Reginaldo !!!

  • Cribeiro Uerj

    Tenho que imprimir um relatorio com quebra agrupamento e algo mais…
    Exemplo :
    no datagrid

    Região UF texto
    SUDESTE RIO DE JANEIRO Viagei a passeio
    SUDESTE SÃO PAULO Viagei congresso
    NORDESTE CEARÀ Viagei para comprar bala
    NORDESTE PARAIBA Viageis kjkjjk kjkjkjk jkjkjkj jkljljlkjl lklklklkl lkl klklkl lk lk lk lk kh jh kg khg hjg hjghghygfgygfy ygygygygy
    jhjhj hhkjhkjkjkjk kjkjkjkjk kjkjkjkjkjkjkjkjk jkjkj kjkjk jkjkjk NESTE CAMPO PODE SER VARIAS PÁGINAS.
    jhjhj hhkjhkjkjkjk kjkjkjkjk kjkjkjkjkjkjkjkjk jkjkj kjkjk jkjkjk NESTE CAMPO PODE SER VARIAS PÁGINAS.
    jhjhj hhkjhkjkjkjk kjkjkjkjk kjkjkjkjkjkjkjkjk jkjkj kjkjk jkjkjk NESTE CAMPO PODE SER VARIAS PÁGINAS.

    O CAMPO TEXTO TEM LIMITE DE 5000 CARACTERES.

    Preciso imprimir assim:

    1.SUDESTE
    1.1 RIO DE JANEIRO Viagei a passeio
    1.2 SÃO PAULO Viagei congresso

    2.NORDESTE
    2.1 CEARÀ Viagei para comprar bala
    2.2 PARAIBA Viageis kjkjjk kjkjkjk jkjkjkj jkljljlkjl lklklklkl lkl klklkl lk lk lk lk kh jh kg khg hjg hjghghygfgygfy ygygygygy
    jhjhj hhkjhkjkjkjk kjkjkjkjk kjkjkjkjkjkjkjkjk jkjkj kjkjk jkjkjk NESTE CAMPO PODE SER VARIAS PÁGINAS.
    jhjhj hhkjhkjkjkjk kjkjkjkjk kjkjkjkjkjkjkjkjk jkjkj kjkjk jkjkjk NESTE CAMPO PODE SER VARIAS PÁGINAS.
    jhjhj hhkjhkjkjkjk kjkjkjkjk kjkjkjkjkjkjkjkjk jkjkj kjkjk jkjkjk NESTE CAMPO PODE SER VARIAS PÁGINAS.

    Consigo fazer assim? Tenho que a numeração no Array? O FlexReport vai quebrar página, imprimir cabeçalho quando o do campo TEXTO ocupar diversas páginas?

    Obrigado.
    Claudio Ribeiro
    UERJ

    • Anônimo

      Cláudio,

      O FlexReport não vai fazer nenhum tipo de “subtotalização” pra você. Você
      terá que fazer tudo na mão mesmo.

  • Varlues

    Olá Elvis .. Gostaria de uma sugestão sua. Tenho um objeto Cliente com uns 10 atributos e outro objeto Compra com uns 30 atributos. Como eu faria para mostrar todos estes atributos num relatório?

    • Anônimo

      Olá, Varlues!

      Você vai mesmo usar o FlexReport? Há muito tempo ele foi abandonado pelo autor do projeto.

      Sugiro que você procure outra solução para gerar os relatórios.

      2011/12/13 Disqus