Relatório rave
Manipulação de relatórios utilizando rave
- Adição de campos no Data View do Rave Reports
- Novo método - Adição de campos no Data View do Rave Reports
- Adição de campos na interface gráfica do Rave
- Commit de alterações no relatório
Adição de campos no Data View do Rave Reports
Neste capítulo será abordado todo o processo para a adição ou remoção de campos no Data View de um relatório RAVE
Passo 1: Localizar os componentes no formulário
Primeiramente, será necessário localizar o formulário que contém o relatório RvProject que será alterado (normalmente, estará localizado na tela de impressão do relatório). Após localizar o componente rave, será necessário localizar os componentes FDQuery que terão as querys responsáveis por carregar as informações do banco de dados que serão usadas no relatório.
Para localizar os FDQuerys do relatório, clique no componente RvDataSetConnection e verifique o componente apontado na propriedade "DataSet".
Utilize "F11" para acessar as propriedades dos componentes.
Alguns componentes podem estar "escondidos". Ajuste o tamanho do formulário, se necessário.
No exemplo acima, a query pode ser localizada através do caminho RVC_RELAT > CDS_RELAT > DSP_RELAT > QRELAT
Obs.: Guarde o nome do componente que está ligado ao DataSet do RvDataSetConnection, ele será usado posteriormente.
Em alguns casos, a query poderá estar ligada diretamente ao RvDataSetConnection.
Passo 2: Localizar, no código fonte, a montagem da query
Após localizar os TFDquerys, vimos que as querys que alimentam esse relatório são: QRelat e QEmpresa. Descoberto o nome das querys, busca-las dentro do código (utilizando Ctrl + F, por exemplo).
Adicionar ou remover os campos necessários no SELECT referente à query que será utilizada no relatório. Nesse exemplo, o campo "DeducoesServicoes" será incluído ao relatório.
Obs.: Podem existir mais lugares onde a query é montada. Alterar todos os trechos que forem necessários.
Passo 3: Incluir e configurar uma nova FDQuery e um FDConnection ao formulário
Para incluirmos o novo campo ao relatório, será necessário adicionar novos componentes FDQuery e FDConnection ao formulário (caso a lista de componentes não esteja aberta, pode ser encontrada através do menu View > Tool Windows > Tool Palette). Na propriedade "Connection" da nova FDQuery, atribua o novo FDConnection.
No novo FDConnection, realizar as seguintes configurações:
O parâmetro "Database" deve receber o caminho em que a base de dados .FDB está localizada.
Passo 4: Extrair do código a query-alvo completa
Localize o fim da montagem da query no código e adicione um breakpoint uma linha abaixo do fim da montagem. Execute o sistema até que chegue ao breakpoint adicionado e execute a função "MostraParams(NomeDaQuery)". Uma tela com a query será aberta no sistema.
IMPORTANTE: Por garantia, a query gerada deverá ter todos os campos do SELECT, sendo assim, os trechos de DLL deverão ser incluídos.
Copie todo o texto da query gerada, checando até o fim com Ctrl + End para que não fique trechos para trás.
Passo 5: Configurar a nova FDQuery utilizando a query extraída
No formulário, dar duplo clique na FDQuery para que o editor seja aberto. Cole a query copiada anteriormente na caixa "SQL Command" e clique em executar. Os campos gerados pela SQL deverão aparecer na aba "RecordSet". Verifique se todos os campos (inclusive o seu) foram gerados. Checado os campos, clique em "OK".
Com a FDQuery configurada, clique no componente "RvDataSetConnection" referente à query que está sendo trabalhada, e atribua na propriedade "DataSet" a nova FDQuery.
Passo 6: Incluir novo(s) campo(s) no Data View do Rave
Execute o sistema novamente até o breakpoint adicionado no passo 4. Com duplo clique no componente RvProject, abra o Rave Reports. No menu File > Open > Selecione o arquivo .rav do relatório-alvo na pasta do seu branch > Abrir. No menu lateral, localizar o View referente à query que está sendo trabalhada > Clique direito > Refresh.
CUIDADO: Caso alguma mensagem de aviso apareça na tela, consultar um dev antes de realizar o refresh para que nenhum campo seja apagado.
Após realizar o refresh, o novo campo deverá estar localizado dentro do componente view. Salve o relatório (Ctrl + S) e Interrompa novamente a execução do sistema.
Passo 7: Configurar os componentes para a inclusão do(s) novo(s) campos no relatório
No formulário, clique no componente RvDataSetConnection que foi utilizado para adição do(s) campo(s), e na propriedade "DataSet" atribua o componente que estava sendo usado antes.
Na propriedade "ProjectFile" do componente RvProject, atribua o caminho do relatório que foi aberto anteriormente no Rave. Dê um duplo clique no dlg da propriedade "StoreRAV", clique em "Load" para que as alterações sejam carregadas, depois "Close".
Abra o RvProject e cheque se o(s) novo(s) campo(s) está(ão) no Data View após carregar as informações. Feito isso, os novos componentes adicionados podem ser excluídos do formulário.
Novo método - Adição de campos no Data View do Rave Reports
Neste capítulo será abordado todo o processo para a adição ou remoção de campos no Data View de um relatório RAVE
Alterações do novo método encontram-se a partir do Passo 3
Passo 1: Localizar os componentes no formulário
Primeiramente, será necessário localizar o formulário que contém o relatório RvProject que será alterado (normalmente, estará localizado na tela de impressão do relatório). Após localizar o componente rave, será necessário localizar os componentes FDQuery que terão as querys responsáveis por carregar as informações do banco de dados que serão usadas no relatório.
Para localizar os FDQuerys do relatório, clique no componente RvDataSetConnection e verifique o componente apontado na propriedade "DataSet".
Utilize "F11" para acessar as propriedades dos componentes.
Alguns componentes podem estar "escondidos". Ajuste o tamanho do formulário, se necessário.
No exemplo acima, a query pode ser localizada através do caminho RVC_RELAT > CDS_RELAT > DSP_RELAT > QRELAT
Obs.: Guarde o nome do componente que está ligado ao DataSet do RvDataSetConnection, ele será usado posteriormente.
Em alguns casos, a query poderá estar ligada diretamente ao RvDataSetConnection.
Passo 2: Localizar, no código fonte, a montagem da query
Após localizar os TFDquerys, vimos que as querys que alimentam esse relatório são: QRelat e QEmpresa. Descoberto o nome das querys, busca-las dentro do código (utilizando Ctrl + F, por exemplo).
Adicionar ou remover os campos necessários no SELECT referente à query que será utilizada no relatório. Nesse exemplo, o campo "DeducoesServicoes" será incluído ao relatório.
Obs.: Podem existir mais lugares onde a query é montada. Alterar todos os trechos que forem necessários.
Passo 3: Incluir e configurar uma nova FDQuery, um FDConnection e um RvDataSetConnection ao formulário
Para incluirmos o novo campo ao relatório, será necessário adicionar novos componentes FDQuery, FDConnection (este copiaremos da unit (DMCONEXOES.pas) e um RvDataSetConnection ao formulário (caso a lista de componentes não esteja aberta, pode ser encontrada através do menu View > Tool Windows > Tool Palette).
Na propriedade "Connection" da nova FDQuery, atribua o CO_Principal.
Na propriedade "DataSet" do RvDataSetConnection1, atribua a nova FDQuery.
No novo CO_Principal, realize as alterações necessárias para apontar para o banco de dados conectado:
O parâmetro "Database" deve receber o caminho em que a base de dados .FDB está localizada.
Na propriedade "Active" da nova FDQuery, atribua True.
Passo 4: Monte a cláusula com os novos campos
Diferente do método anterior, neste é necessário adicionar apenas os campos desejados, podendo ser utilizado até mesmo CAST.
No formulário, dar duplo clique na FDQuery para que o editor seja aberto. Coloque a cláusula para gerar os campos desejados, clique em execute e verifique se trouxe os campos corretos, exemplo:
Passo 5: Adicionar a nova FDQuery temporariamente no relatório
Com duplo clique no componente RvProject, abrirá o Rave Reports. No menu File > Open > Selecione o arquivo .rav do relatório-alvo na pasta do seu branch > Abrir.
Vá em File > New Data Object. Selecione Direct Data View , clique em Next>
Caso apareçam Warnings, aperte ok em todos
Selecione o novo RvDataSetConnection1 na lista que aparecerá e aperte em Finish.
Nesse momento na lista de Data View Dictionary terá um novo objeto contendo somente os campos que deseja adicionar:
Passo 6: Mover novo(s) campo(s) do novo Data View para o Data View desejado
Com botão SHIFT selecione todos os campos, agora com botão CTRL pressionado, arraste para dentro do Data View desejado
Após mover, os campos poderão estar estranho como a imagem a seguir, basta clicar fora da região que normalizará:
Renomeie os novos Fields conforme o desejado/padrão.
Muito importante seguir corretamente os passos abaixo para não perder o trabalho feito.
Salve o relatório (Ctrl + S) e feche o Rave Report.
Apague os três componentes criados no passo 3,
Abra novamente o Rave Report clicando no RvProject.
Selecione o Data View criado no passo 5 e apague-o.
Salve o relatório (Ctrl + S) e feche o Rave Report.
Passo 7: Carregando as alterações para o dfm
Na propriedade "ProjectFile" do componente RvProject, atribua o caminho do relatório que foi aberto anteriormente no Rave caso não esteja. Dê um duplo clique no dlg da propriedade "StoreRAV", clique em "Load" para que as alterações sejam carregadas, depois "Close".
Abra o RvProject e cheque se o(s) novo(s) campo(s) está(ão) no Data View após carregar as informações.
Adição de campos na interface gráfica do Rave
Para realizar esse processo, é necessário ter os campos adicionados no Data View do relatório.
Nota: Cada relatório tem sua própria construção, o relatório usado nessa página servirá como exemplo.
Para que o campo adicionado no Data View seja exibido no relatório, será necessário adicioná-lo em suas respectivas regiões.
No exemplo a seguir, o campo "DeducoesServicos" será integrado ao relatório.
Localizar as regiões do relatório
Abra o Rave Reports e selecione o arquivo .rav que será alterado através do menu File > Open (caso o relatório já esteja aberto, não é necessário realizar esse passo).
O campo deverá ser adicionado em cada banda que for necessário. Nesse exemplo, o campo "DeducoesServicos" será adicionado nas bandas "bSubCabecalho" e "dbItens".
Adicionar componentes nas regiões
Expanda a banda e veja qual componente está sendo usado para os demais campos.
Nesse exemplo, o componente utilizado é um Memo component.
Ao adicionar o componente, o mesmo também deverá ser encontrado no menu lateral.
Configurar propriedades dos componentes
Mude as propriedades do componente de acordo com os demais.
A propriedade "FontMirror" receberá a família de componentes que ele pertence.
A propriedade "Name" receberá o nome do componente.
É vital que todos os componentes adicionados tenham o prefixo referente à sua região (nesse caso, "ttlt") e que tenha o mesmo nome (DeducoesServicos) em todas as outras regiões para que funcione corretamente.
Na propriedade "Text" é possível alterar o nome do campo que será exibido no relatório.
Campos Data
Na inserção de campos Data, clique em "..." no dlg > Selecione o Data View do campo (DV_Relat) > Selecione o Data Field do campo (DEDUCOESSERVICOS) > Insert Field > o campo deverá aparecer no Data Text > Ok.
Preencha as demais propriedades de acordo com outros componentes
Repare que apesar do prefixo ser diferente "dtlt", o nome do campo continua o mesmo "DeducoesServicos".
Após ter adicionado os campos necessários, salve o relatório.
Carregar alterações no relatório
No formulário (Delphi), dê F11 no componente RvProject e na propriedade "StoreRav" realize o load.
Após realizar o load, execute o sistema e abra o relatório. O novo campo já poderá ser visualizado.
Como mudar o nome do campo no 'Seleciona Campos' e o número de casas decimais exibidas no relatório
Caso o relatório utilize um "Seleciona Campos", o nome do campo que será exibido pode ser alterado através da propriedade "FullName" do campo no Data View do Rave. A propriedade "DisplayFormat" pode ser usada para definir o número de casas que serão exibidas no relatório.
Commit de alterações no relatório
Como realizar o commit do dfm das alterações feitas no Rave
Não esquecer de realizar o load das alterações do relatório no RvProject antes de commitar
As alterações realizadas no relatório ficarão no arquivo .dfm e no arquivo .rav
O arquivo .pas terá apenas as alterações realizadas no código.
No arquivo .dfm, deverá ser realizado apenas o commit do "RaveBlobNew", com exceção da situação que o "ProjectFile" não existe ou está desatualizado, conforme a imagem Exceção. Caso não haja alterações propositais no dfm, o restante pode ser revertido.
Imagem Exceção:
O arquivo .rav e .pas podem ser commitados normalmente