Skip to main content

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.

image-1622049529709.png

No exemplo acima, a query pode ser localizada através do caminho RVC_RELAT > CDS_RELAT > DSP_RELAT > QRELAT

image-1622049640256.png

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. 

image-1622051469729.png

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.

image-1622050347673.png

        No novo FDConnection, realizar as seguintes configurações: 

image-1622050579269.png

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.

image-1622052160887.png

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.

image-1622052366197.pngimage-1622052160887.png

8. Copiar a query COMPLETA gerada. 

image-1622052366197.png

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.

image-1622052739889.png

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.

image-1622052739889.png

10. Atribuir na propriedade "DataSet" do RvDataSetConnection a nova FDQuery.

image-1622053072383.png

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 

image-1622054363567.png

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.

image-1622054545273.png