Rave

Trabalhando com Global Pages

Muitos desenvolvedores que estão migrando para o Rave Reports, querem utilizar a técnica de herança visual, que o Quick Report possui, nos relatórios Rave. Até a presente versão o Rave não possui essa técnica explicitamente, mas podemos simulá-la utilizando Global Pages.

Nessa “página global” todos os componentes adicionados ficam disponíveis para todos os relatórios do projeto. Você pode utilizar esse recurso para definir templates, com cabeçalhos, rodapés e até mesmo páginas completas a serem compartilhadas por outros relatórios.

Assim, podemos criar uma Global Page que mostre no cabeçalho dos relatórios, por exemplo, os dados da empresa, assim como o logotipo da mesma, característica comum na maioria dos sistemas comerciais.

Criando uma Global Page

Abra o Rave Visual Designer (ambiente de desenvolvimento do Rave), através do menu Tools>Rave Designer do Delphi. Dentro do Rave Visual Designer, crie um novo projeto, através do menu File>New. Crie uma nova Global Page em File>New Global Page. Note que a “folha” é igual a de um relatório, onde vamos inserir normalmente os componentes.

Adicione na Global Page um Section (Standard) que servirá como um container para outros componentes (como Text, DataText etc). Dentro do Section adicione alguns Texts para digitar, por exemplo, nome da empresa, endereço, telefone. Adicione também um Bitmap (Standard) e carregue uma figura através da propriedade FileLink.

Veja como ficou nossa Global Page na Figura 1.

 

Figura 1. Adicionando componentes na Global Page

Poderíamos preencher esses dados com informações oriundas do banco. Para isso, bastaria criar um Database e um Driver Data View e vincular a componentes DataText.

Simulando herança visual

E agora, como iremos adicionar esses componentes em cada relatório, para que sejam mostrados no cabeçalho dos mesmos. Clique na aba Page1 para exibir o nosso relatório. Adicione um Region (Report) e redimensione-o para que preencha todo o relatório. Adicione um Band (Report) e dentro do Band1 adicione um DataMirrorSection (Report).

É através desse componente que faremos a ligação ao Section da Global Page. Redimensione o componente e acesse a propriedade DataMirror. No editor, clique em Add e em Mirror Section escolha GlobalPage1.Section1.

Nota: Veja que podemos ter vários Sections adicionados na Global Page e os mesmos será mostrados no Mirror Section.

Podemos indicar, através de uma condição, quando desejamos mostrar o Section da Global Page. Bastaria indicar um campo e valor em Field Value, mas no nosso caso, marque a opção Default para que sempre seja mostrado o componente (Figura 2).

 

Figura 2. Configurando e mostrando o Section em qualquer situação

Feita a configuração, clique em OK para fechar o editor. Rode o relatório (F9) e veja o cabeçalho sendo mostrado (Figura 3).

 

Figura 3. Mostrando o Section da Global Page no relatório

Para testar, adicione outro relatório e siga os passos, adicionando um DataMirrorSection e indicando o Section da Global Page. Qualquer alteração nos componentes da Global Pages será refletida nos relatórios.

Caso necessite fazer alguma codificação, por exemplo, para não mostrar o logotipo da empresa em determinada condição (eu tenho um campo nos meus sistemas que indica se o usuário deseja mostrar o logotipo no relatório), faça isso na Global Page, assim seu código fica centralizado e será refletido em todos os relatórios.

 

Um grande abraço a todos e até a próxima!