Esse artigo faz parte da revista Clube Delphi Edição 68. Clique aqui para ler todos os artigos desta edição

imagem

Clique aqui para ler esse artigo em PDF.imagem_pdf.jpg

ReportBuilder

Criando relatórios profissionais com agrupamento, totalizações, cross-tab, client/server e para Web

 

A criação de relatórios é uma parte importante na elaboração de um sistema. Existem diversas ferramentas para Delphi que auxiliam a execução dessa tarefa, e uma das mais utilizadas é sem dúvida o ReportBuilder.

Esse conjunto de componentes tem como vantagens a quantidade de recursos disponíveis, a facilidade de utilização (tanto pelo desenvolvedor quanto pelo usuário final), a possibilidade de geração ou modificação de relatórios pelo próprio usuário (em runtime), entre outras.

Este artigo não tem a intenção de ser uma introdução sobre a ferramenta, isso pode ser visto no artigo da edição 25, mas mostrará como utilizar alguns recursos mais avançados,  de maneira a oferecer um pouco a mais nos programas que utilizam a ferramenta, como: relatórios mestre/detalhe, personalização do relatório usando programação RAP (uma “linguagem” própria do ReportBuilder),  relatórios CrossTab e relatórios Client/Server.

Nos exemplos do artigo foi utilizada a versão 9.0.2 Enterprise do ReportBuilder, que está disponível em www.digital-metaphors.com/download, onde você pode baixar versões de avaliação para Delphi 5 a 2005, nas versões Standard, Professional, Enterprise e Server.

 

Relatórios com totalizações

Um tipo de relatório muito comum é aquele em que os dados são organizados por algum campo e agrupados. Ao final de cada grupo, os dados são totalizados. Por exemplo, um relatório de vendas por cliente que, após a impressão dos dados do cliente mostra o seu total de vendas e, ao final, o total geral. Para elaborarmos um relatório desse tipo podemos usar o recurso de grupos.

No Delphi, crie um novo projeto e adicione um ClientDataset, um DataSource, um ppDbPipeline e um ppReport ao formulário (paleta RBuilder). O ppDbPipeline conecta-se ao DataSource e fornece os dados ao relatório ReportBuilder.

Clique com o botão direito no ClientDataset e selecione a opção Load from MyBase Table, carregando o arquivo orders.xml, que por padrão está em c:\Arquivos de Programas\Arquivos Comuns\Borland Shared\Data. Configure sua propriedade IndexFieldNames para “CustNo;OrderNo”, de maneira que os dados sejam classificados pelo código do cliente e, dentro desse, pelo número do pedido.

 

Nota: Aqui usaremos um ClientDataSet ligado a um arquivo local, mas lembre-se que o ReportBuilder pode ser usado com outros mecanismos de acesso a dados.

 

Ligue o DataSource ao ClientDataset, através da propriedade DataSet. Ligue o ppDBPipeline ao DataSource, através da propriedade DataSource. Finalmente, atribua à propriedade DataPipeline do ppReport para ppDbPipeline1, ligando-o assim à fonte de dados. Dessa maneira, os dados estão prontos para a elaboração do relatório.

Dê um duplo clique no ppReport para abrir seu editor (Figura 1). Observe que existem três sessões: o cabeçalho, o detalhe e o rodapé. Selecione a opção Visualizar|Barras de Ferramentas>Estrutura de Dados.

 

...

Quer ler esse conteúdo completo? Tenha acesso completo