Customizando relatórios utilizando Report Builder

O Report Builder é uma ferramenta muito utilizada por desenvolvedores para edição e apresentação de relatórios. Um dos seus pontos principais é a facilidade de manuseio, levando em conta que a mesma é bem intuitiva.

Mostraremos a seguir, de forma bem prática, algumas funcionalidades bastante úteis que podemos encontrar na ferramenta. Abordaremos a formatação de campos utilizando o componente Rich Text, o tratamento diferenciado à determinados dados usando SubReport, explorando informações do sistema com o auxílio do componente System Variable, dentre outros recursos que podem nos ser úteis no desenvolvimento de relatórios utilizando Report Builder.

Rich Text (Texto formatado)

|74px;x74px;

Este componente nos permite formatar a apresentação do texto de diversas formas. Após adicioná-lo ao relatório, podemos selecionar a opção Editar, abrindo uma janela de edição. É possível adicionar o conteúdo de um campo da base de dados na própria janela e, formatá-lo utilizando os recursos que o componente oferece.

Figura 1: Adicionando o componente Rich Text e selecionando a opção Editar.

Para podermos ter acesso às informações contidas na base de dados, o checkbox “Mail Merge” deve estar ativo.

Figura 2: Formatando o texto.

Após salvarmos e fecharmos a janela de edição, visualizamos o relatório.

Figura 3: Visualizando relatório após formatação do texto.

Perceba que a propriedade “Ajustar”( Stretch ) deve estar selecionada para que o campo fique com tamanho dinâmico, assim como a estrutura na qual ele está contido. Essa propriedade também existe no componente Memo.

Figura 4: Propriedade Ajustar( Stretch ) selecionada.

SubReport

|62px;x62px;

Este componente é bastante utilizado para tratar com mais riqueza de detalhes determinados dados. Com ele podemos ilustrar dados de um relatório do tipo mestre-detalhe, e relacioná-los com o relatório principal ou até mesmo com outro sub-relatório, de forma que tenham a aparência de serem apenas um. É importante ressaltar que, devemos configurar a propriedade “DataPipeline” com a base dos dados que serão utilizados nesse sub-relatório.

Figura 5: Adicionando SubReport e configurando a propriedade DataPipeline.

No rodapé do relatório será criada uma nova aba referente ao sub-relatório que foi adicionado, todas as alterações serão feitas lá.

Figura 6: Editando sub-relatório.

Figura 7: Visualizando sub-relatório.

System Variable

|59px;x59px;

Este componente é utilizado para exibir alguns recursos como data e hora, número da página e contador de páginas. É necessário configurar o recurso desejado na propriedade “VarType”. Alguns exemplos de formatação podem ser encontrados na propriedade “DisplayFormat”.

|246px;x195px;

Figura 8: Opções da propriedade VarType.

Figura 9: Adicionando componente System Variable e suas propriedades.

Algumas propriedades são bastante utilizadas no Report Builder, tais como:

  • ParentHeight: deixa o componente em questão com a mesma altura do seu antecessor.

  • ParentWidth: deixa o componente em questão com a mesma largura do seu antecessor.

  • BottomOffset: reserva um espaço abaixo do componente.

  • WordWrap: quebra de linha automática do texto.

  • StretchWithParent: ajusta o componente de acordo com o seu antecessor.

  • ShiftRelativeTo: especifica o posicionamento vertical do componente.

    A estrutura do relatório também pode ser alterada através de algumas propriedades na aba Grupos, tais como: iniciar uma nova página na mudança de grupo, iniciar em página ímpar, reimprimir cabeçalho do grupo em página subsequente, dentre outros. Esta aba encontra-se no menu Relatório/Grupos.

|354px;x441px;

Figura 10: Aba Grupos.

Além dos recursos aqui demonstrados, ainda temos componentes capazes

de representar gráficos, código de barras, QRCode, imagens, entre outras opções.

Por fim, podemos concluir que o Report Builder é uma ferramenta interessante e merece ser testada, porém é importante ressaltar que apesar de possuir uma grande variedade de componentes para criação e edição de relatórios, ela peca em alguns detalhes importantes, como: atalhos que não funcionam, funções nativas limitadas para realização de cálculos e alinhamentos no relatório necessitam de esforço visual do usuário, pois não possui recurso de aproximação.