Por que eu devo ler este artigo:Este artigo é útil para os desenvolvedores de software iniciantes e avançados que desejam apreender e aprimorar suas habilidades e conhecimentos na geração de relatórios sofisticados, de forma rápida e fácil, com a ferramenta geradora de relatórios SAP Crystal Reports e plataforma .NET. Este artigo faz uma abordagem introdutória em cima dos principais recursos da ferramenta SAP Crystal Reports, através dos recursos de seu IDE. Também será mostrado como criar relatório de listagem simples, campos calculados, subtotais, agrupamentos de campos, formatação de um relatório, relatório com parâmetro e por fim será criado um gerenciador de relatórios onde será feito uso da biblioteca de classes do SAP Crystal Reports disponível para o Visual Studio e a plataforma .NET.

Neste artigo falaremos de uma ferramenta muito produtiva e poderosa, o SAP Crystal Reports, que está no mercado há bastante tempo e desde sempre teve suporte para interagir com os principais kits de desenvolvimento de software da Microsoft. Esta ferramenta pode ser integrada facilmente ao Visual Studio, disponibilizando um template que permite a criação de relatório sintético e analítico dentro do próprio ambiente do Visual Studio, podendo ser atrelado às principias aplicações desenvolvidas com Windows Forms, WPF e websites com ASP.NET.

A ferramenta SAP Crystal Reports pode conectar-se a diversas fontes dados com uso de providers como SQL OLE DB, ODBC e outros. A partir de diversos SGBDs como o SQL Server, MySQL, DB2, Oracle e PostgreSQL, podemos gerar relatórios simples e complexos com recursos para exportação em PDF, Excel, CSV, dentre outros formatos.

Durante este artigo você terá uma base teórica e prática sobre as funcionalidades da ferramenta e posteriormente, no decorrer do assunto, faremos download do pacote SAP Crystal Reports para o Visual Studio 2012. Também veremos exemplos práticos de como listar dados em um relatório, agrupar campos, criar totalizadores, campos calculados, passagem de parâmetros para filtrar dados no relatório, formatação do relatório e outras funções importantes da ferramenta.

A parte prática conta com exemplos criados via interface gráfica do próprio SAP Crystal Reports, onde será feito o uso da biblioteca de classes do SAP Crystal Reports disponível para o Visual Studio e a plataforma .NET. Dessa forma temos a disponibilidade de chamar alguns recursos do relatório via código programação com a linguagem C#, o que nos dá mais flexibilidade para o desenvolvimento do relatório e torna a interação com o usuário mais rica e agradável.

Para tornar mais produtivos os exemplos deste artigo, criaremos um gerenciador de relatórios, para que à medida que formos criando os relatórios, possamos disponibilizar os mesmos de forma fácil e prática em uma aplicação Windows Forms. Através do gerenciador de relatórios, poderemos selecionar um dos relatórios criados e gerar o mesmo para visualização e navegação, podendo optar por exportar em diversos formatos através do Crystal Report Viewer.

Introdução a dados e relatório

Com o avanço da tecnologia, principalmente com novos recursos em hardware e software que possibilita a captura e armazenamento de dados de forma rápida e dinâmica, independentemente da posição geográfica em que os dados forem transmitidos e armazenados, o ato de transformar dados em informação para gerar conhecimento tornou-se cada vez mais necessário, pois as empresas e organizações necessitam guardar acontecimentos e fatos ocorridos ao longo de sua existência em repositórios de dados, como um sistema gerenciador de banco de dados. Não necessariamente os dados devem ser armazenados apenas em banco de dados, pois há situações em que não haverá recursos suficientes ou disponíveis para gravar os dados de forma mais precisa em uma base de dados. Desta forma, se faz uso de outros meios para gravar e armazenar estes dados, como em arquivos texto e XML, levando em consideração que em muitas situações é realmente necessário gravar dados em arquivos de deste tipo com um layout de gravação pré-defino, para que depois possa ser feita a transmissão destes dados via webservice ou serviços WCF (BOX 1) para uma base de dados na nuvem.

BOX 1. WCF

WCF ou Windows Communication Foundation é uma tecnologia de disponibilização de serviço inserida na plataforma .NET a partir do framework 3.0. Trata-se de uma solução que a Microsoft encontrou para unificar antigas tecnologias de serviços e troca mensagens, possibilitando trabalhar com protocolos diferentes. Com o WCF podemos construir de forma fácil e rápida aplicações distribuídas orientadas a serviço.

A demanda por relatórios em cima da área TI, por parte dos gestores em mais diversos níveis da hierarquia de uma empresa ou organização, está cada vez mais frequente e crescente. Dessa forma, é preciso ter profissionais especialistas em análise de dados e desenvolvimento de relatórios, para que se possa transmitir informação em forma de relatório aos mais diversos setores e níveis de uma empresa.

Para criar um relatório com informação de qualidade, ou seja, informação correta, precisa e organizada, não basta apenas jogar dados em forma de uma lista ou planilha, é necessário seguir algumas diretrizes para preparar a informação dentro de um relatório. Vejamos algumas boas práticas para se preparar um relatório:

  • Um relatório sempre deve ser composto por um cabeçalho, corpo e rodapé. Dependendo do relatório, o mesmo pode ter cabeçalho e rodapé de página, estas divisões no relatório são chamadas de sessões do relatório;
  • No cabeçalho podemos colocar algumas informações importantes para o mesmo, como as seguintes:
    • Título e subtítulo do relatório, caso seja necessário. Como exemplo, temos como título de um relatório: Relatório de Vendas; e subtítulo: Vendas por Cidade;
    • Logomarca da empresa e nome da filial ou matriz;
    • Data e hora em que o relatório foi gerado. Caso os dados sejam oriundos de base de dados com o objetivo de BI, pode ser importante colocar a data do último sincronismo da base de dados de BI com o banco de dados em produção;
    • Login do usuário que gerou o relatório;
    • Nome e versão do relatório. Neste caso seria a versão disponível na tela que se gera o relatório, geralmente a versão é exibida em aplicações de médio e grande porte, que seguem uma metodologia de desenvolvimento de software bem documentada, o que torna mais fácil o controle de versões. A medida que uma aplicação cresce, surgem novas necessidades para o software e principalmente para o desenvolvimento de novos relatórios, dessa forma, é uma ótima ideia realizar o controle de versões para os relatórios;
    • Lista dos parâmetros informados pelo usuário no momento que gerou o relatório, principalmente intervalos de datas, filtros e agrupamentos;
    • O cabeçalho de um relatório geralmente aparece apenas na primeira página do relatório. Caso o relatório tenha um cabeçalho de página, que é repetido em todas as páginas do relatório, o mesmo deve conter a numeração da página;
  • O corpo de um relatório é a parte mais importante do mesmo, pois é onde os dados serão apresentados. Aqui, torna-se importante ressaltar os seguintes detalhes:
    • O título de cada coluna representada no relatório deve ser compreensível. Devido ao espaço entre as colunas ser mínimo, é recomendável fazer abreviação de palavras, porém é de extrema importância realizar a abreviação das palavras de forma correta para que fique claro do que se trata.
    • Geralmente os títulos das colunas do relatório devem ser diferenciados, de forma a chamar atenção de quem for analisá-lo, assim, pode ser importante colocar em negrito, por exemplo.
    • Os campos que representam dados em formatos distintos, como data e moeda, devem receber a formatação correta. Por exemplo, valores monetários devem ter duas casas decimais (em casos em que a quantidade exata não é especificada para a situação) e a data deve respeitar o formato dia/mês/ano (que é o formato mais comum no Brasil, a menos que um formato específico seja solicitado).
    • Os dados em um relatório podem ser analíticos e sintéticos, dessa forma, podemos optar por realizar agrupamento de dados. Por exemplo, um relatório de vendas pode conter dois agrupamentos, o primeiro por vendedor e segundo por área ou região em que o mesmo realiza as vendas.
    • Quando um relatório mostra valores numéricos e de moeda, é importante colocar totais no final do relatório e subtotais para o agrupamento de uma determinada categoria.
    • Relatório com agrupamento pode conter totais de contagem, ou seja, um campo que conta a quantidade de registros em um determinado agrupamento.
    • Para melhorar a visualização e a estética de um relatório, podemos colocar uma linha para dividir partes do relatório.
    • Colocar dados em formato de tabela pode ser ideal em algumas situações. O relatório zebrado também é uma opção de destaque, ou seja, uma linha com cor de fundo e outra sem, para poder diferenciar uma linha da outra.
  • No rodapé do relatório podem ser repetidas algumas informações do cabeçalho, como a numeração de página. Também podemos colocar algumas observações ou mensagens para o usuário que irá analisar o relatório. É interessante colocar as informações de contato da software house que é proprietária ou que desenvolveu o produto de software em questão.

Conhecendo o SAP Crystal Reports

SAP Crystal Reports é uma ferramenta especializada em gerar relatórios simples ou complexos, podendo conectar-se a diversos bancos de dados populares disponíveis no mercado. O mesmo apresenta um IDE que facilita o desenvolvimento (valoriza o padrão de desenvolvimento RAD – BOX 2) e o designer do relatório, para que o usuário possa criar relatórios de forma simplificada, arrastando e solta ...

Quer ler esse conteúdo completo? Tenha acesso completo