Manipulação de campos no 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".
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
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, atribuir 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
6. Rode Localize o fim da montagem da query no código e adicione um breakpoint uma linha abaixo do fim da montagem. Execute o sistema comaté umque chegue ao breakpoint emadicionado ume ponto onde toda a query já foi montada.
7. Utilizarexecute a função "Mostraparams"MostraParams(NomeDaQuery)". paraUma extrairtela com a Queryquery montada.
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.
8. Copiar a query COMPLETA gerada.
Uma parte Copie todo o texto da query podegerada, estarchecando oculta. Checar todoaté o trechofim com Ctrl + End.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".
9.
Colar e executar Com a QueryFDQuery configurada, clique no componente "RvDataSetConnection" referente à query que está trabalhada, e atribua na propriedade "DataSet" a nova FDQuery adicionado anteriormente > OK. Interromper o processo do sistema.
10. Atribuir na propriedade "DataSet" do RvDataSetConnection a nova FDQuery.
11. Rodar o sistema novamente até o breakpoint adicionado anteriormente. Abrir com duplo clique o componente RvProject. Através do menu File > Open > Selecionar o arquivo .rav do relatório-alvo > Abrir. No menu lateral, localizar o view da query-alvo > clique direito > Refresh
Caso alguma mensagem de aviso apareça na tela, consultar um dev antes de realizar o refresh.
Após realizar o refresh, o campo poderá ser localizado expandindo o componente view.