Guia Delphi

Relatórios Dinâmicos com FastReport - Revista ClubeDelphi 150

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (8)  (0)

Nesse artigo abordaremos um recurso que é a utilização do FastReport não só na sua forma convencional, mas também podendo utilizar seu próprio editor em tempo de execução para ajustes simples, como no caso de posições de campos em um relatório.

Artigo do tipo Tutorial
Recursos especiais neste artigo:
Contém nota Quickupdate, Conteúdo sobre boas práticas.

FastReport - Runtime Designer
O FastReport é a nova ferramenta padrão para a criação de relatórios no Delphi XE, é muito utilizada e possui uma infinidade de recursos muitas vezes desconhecidos pela maioria dos desenvolvedores. Nesse artigo abordaremos um recurso que é a utilização do FastReport não só na sua forma convencional, mas também podendo utilizar seu próprio editor em tempo de execução para ajustes simples, como no caso de posições de campos em um relatório. No artigo será feito um exemplo onde, através desse recurso, o usuário poderá criar templates de impressão de cheques com posições variadas de campos para cada folha de cheque e de cada banco específico, utilizando como padrão o mesmo relatório do FastReport. Esse exemplo simples abrirá as portas para a sua criatividade, tornando infinitamente mais simples fazer determinadas tarefas que necessitam de dinamismo ou customização de relatórios.

Vale lembrar que esse recurso pode permitir até a criação de relatórios inteiros em tempo de execução e o armazenamento dos layouts dos mesmos em qualquer meio alternativo, como por exemplo arquivos xml ou melhor, em um banco de dados, facilitando e reduzindo muitos cuidados que devem ser considerados ao manter arquivos externos nos aplicativos.

Em que situação o tema é útil
O tema é útil para demonstrar uma saída viável para quando existe a necessidade de criar diversos templates para uma mesma impressão, onde o usuário poderá selecionar o template desejado para a impressão. Dessa forma, com apenas um relatório padrão será possível atender a várias peculiaridades principalmente no que se diz respeito à posição dos campos na impressão.

Quando desenvolvemos uma aplicação comercial, um fator que muitas vezes é determinante como um diferencial em relação a outras aplicações do mercado, pode ser a diversidade de relatórios disponíveis na aplicação. O cliente não deseja apenas o que é “padrão” no mercado, mas sim poder deixar aquela aplicação de acordo com o seu gosto, na medida do possível é claro. Normalmente o principal ponto onde podem ser observadas estas características, está nas mais diversas impressões que podem existir em um software, partindo desde o logotipo da empresa até a cor da fonte de determinado campo em um relatório.

Não só por ordem de customização, mas muitas vezes, existe a necessidade de fazer a impressão de um determinado item de várias formas possíveis e que não podem ser previstas com antecedência.

A modificação de um relatório pode ser um trabalho complicado e cansativo e a gerência dessas modificações merece atenção, principalmente em geradores que criam um arquivo de relatório para cada versão diferente do mesmo. Nesse artigo abordaremos esse assunto, como minimizar esse impacto criando um exemplo simples que permite a customização de um layout de relatórios, sem exigir a criação de vários arquivos modelo.

A versão 4 do FastReport traz consigo um recurso muito interessante que possibilita abrir um editor dentro de um simples TPanel, por exemplo. Isso é feito através do componente TfrxDesigner, que não é acessível na versão distribuída junto com o Delphi XE 2. Essa versão disponibilizada pela Embarcadero não possui todos os recursos da versão completa do FastReport.

O componente TfrxDesigner permite a utilização de vários recursos para a criação e manutenção de arquivos .fr3 que é a extensão dos arquivos de template dos relatórios do FastReport. Com esse componente é possível criar um editor completo, exatamente igual ao editor de relatórios que usamos sempre quando criamos um relatório pelo FastReport, já que o próprio editor do FastReport é um formulário feito em Delphi e que não depende de nenhuma biblioteca externa para funcionar.

Outro recurso interessante que será apresentado no artigo, é algo que permite armazenar as definições do relatório no próprio dfm do seu componente container, seja este um TForm ou um TDataModule, evitando assim a necessidade de criação de um arquivo .fr3 para o relatório que será criado. É um recurso muito interessante, quando não queremos manter arquivos externos para os relatórios do sistema.

Com a versão completa do FastReport 4 instalada no Delphi XE 2, criaremos um exemplo onde será possível a criação de modelos de cheques para impressão em diferentes tipos de folha de diversos bancos diferentes. Esse recurso poderá ser utilizado em uma situação real, onde é feita impressão de cheques a partir de alguma conta a pagar, por exemplo. Isso resolve um problema recorrente, onde cada cliente que utiliza o produto, faz uso de um banco diferente com folhas de cheques específicas. Essa situação é considerada um problema, pois, muitas vezes obrigaria o desenvolvedor a optar por tratar cada caso em particular, consequentemente gerando um retrabalho sempre que surgisse outro banco ainda não implementado. Vale lembrar, que além dos recursos vistos aqui, o FastReport ainda conta com uma gama de outros recursos interessantes como o FastScript e o FastReport Exports (Nota do DevMan 1).

Nota do DevMan 1

O FastReport possui uma vasta gama de recursos inexplorados pela maioria dos desenvolvedores, como por exemplo o FastScript, que permite a criação de scripts em várias linguagens de programação diferentes, tornando os softwares mais flexíveis. Outro recurso também interessante é o FastReport Exports, que permite a exportação de relatórios do FastReport para formatos como XLS, RTF, HTML, CSV entre outros. Na seção "

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?