Tempo aproximado para leitura: 00:03:00 min
Dúvida
Como utilizar Controles Padrões e Controles Avançados, Fórmula, Expressão, Texto, Totalizador, Variáveis, como parâmetros em consulta SQL?
Ambiente
Cross Segmentos - TOTVS Backoffice (Linha RM) - RM BI - A partir da 12.1.5
Solução
Com o advento da migração do TOTVS Reports da versão 11.8x para as versões superiores a versão 12.1.4, muitas alterações foram feitas principalmente na geração sobre demanda dos dados vinculados a cada componente presente no relatório.
Em relatórios da versão 11.8x, por exemplo, a geração sobre demanda dos dados era realizada no momento da impressão de cada componente, ao contrário dos das versões mais atuais (12.1.5 ou superiores), onde a geração dos dados é feita através de apenas uma consulta SQL (Fase de Preparação), que é gerada a partir das tabelas e consultas SQL vinculadas ao relatório.
1 - Consulta SQL vinculada a Bandas do relatório
Ao se utilizar uma consulta SQL vinculada a Bandas do relatório, primeiro precisamos saber:
1.1 Parâmetros de uma Consulta SQL Vinculada a Bandas do Relatório
Os parâmetros utilizados na Consulta SQL podem ser vinculados aos seguintes controles:
Para uso de filtros que utilizam valores de data como parâmetros é necessário que a consulta SQL tenha um tratamento de conversão do parâmetro para correta execução. Mais detalhe sobre esta conversão acesse o link Utilização de Filtro como parâmetro em consultas SQL
Qualquer outro controle Fórmula, Expressão, Texto (Valor Fixo), Totalizador, Variáveis não funcionará ao servir de parâmetro para uma Consulta SQL vinculada a uma banda do relatório.
O motivo desse comportamento está explicitado na Introdução desse documento.
O Novo Reports foi reestruturado e com isso dividido em duas fases:
- Preparação dos dados
- Execução e Impressão dos Controles.
Na fase de Preparação dos dados, apenas os controles de [Campo Texto (Vinculado a Campos de Tabela), Filtros e Parâmetro do Relatório] estão com os valores preenchidos.
O Restante dos controles estarão preenchidos com os valores apenas na fase de Execução e Impressão dos Controles.
1.2 - Parâmetros de uma Consulta SQL Não Vinculada a Bandas do Relatório
Quando Adicionada uma Consulta SQL, como fonte de dados, onde essa consulta não tem qualquer vínculo com alguma banda do relatório, diversos controles podem ser utilizados como parâmetro:
Quando uma Consulta SQL não está vinculada a uma Banda do relatório, a mesma é utilizada apenas na 2 Fase (Execução), onde todos os controles já estão com seus devidos valores, diferentemente de uma consulta SQL vinculada a uma banda do relatório que é utilizada na 1 Fase (Preparação) onde apenas alguns controles foram preenchidos, como já citado no item 1.1 parâmetros de uma consulta SQL vinculada a Bandas do relatório.
1.3 - Tirando o Vínculo entre uma Consulta SQL e uma Banda
Em alguns casos pode ser necessário retirar o vínculo de uma Consulta SQL de uma banda. Quando se deve fazer isso?
Quando o controle a ser utilizado como parâmetro pela Consulta SQL não se encontra na lista de parâmetros de uma consulta SQL vinculada a Bandas do relatório.
Importante
A consulta SQL tendo como resultado mais de uma linha, na geração do relatório com a passagem de parâmetro recebendo um Controle, apenas uma linha da consulta SQL será apresentada, visto que ela não terá ligação com a Banda do relatório.
Saiba mais
Acesse o link Consulta SQL Vinculada a Bandas do Relatório para mais detalhes sobre esta funcionalidade.
0 Comentários