Páginas filhas
  • RPTMIG00019.1.1 - Executando Fórmulas onde Resultado deve ser Mostrado de Imediato

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Executando Fórmulas onde Resultado deve ser Mostrado de Imediato

Temos exemplos recorrentes de relatórios em formato de boleto, onde a Consulta SQL, vinculada a banda onde o controle de código de barras se encontra, recebe como parâmetro uma fórmula que gera o código de barras (diretamente ou através de uma expressão), fazendo com que o código de barra não gere corretamente.
 

Produto:

TOTVS Reports

Versões:

12.1.x

Ocorrência:

 

Ambiente:

 

Passo a passo:

Conteúdo


Índice
excludeConteúdo|Consulta SQL Vinculada a Bandas do Relatorio|Galeria Consulta SQL Vinculada a Banda|Galeria Consulta SQL Não Vinculada a Banda

Introduçã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:
 
Nome do ControleDescrição
1Parâmetros do RelatórioImage Removed
2Filtros

Image Removed

Image Removed

3Campo Texto (Vinculado a Campos de Tabela)Image Removed
Informações
titleObservação

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 vinculo com alguma banda do relatório, diversos controles podem ser utilizados como parâmetro:

Nome
1Parâmetros do Relatório
2Filtros
3Campo Texto (Vinculado a Campos de Tabela)
4Fórmula
5Expressão
6Campo Texto (Valor Fixo)
7Totalizador
8Variável
Informações
titleObservação

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 Vinculo entre uma Consulta SQL e uma Banda

 

Em alguns casos pode ser necessário retirar o vinculo 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.
Informações
iconfalse
titleExemplo
Galeria
columns2
excludeimage2016-7-27 15:20:22.png, image2016-7-27 15:18:50.png, image2016-7-27 15:16:51.png, image2016-7-27 15:14:46.png, image2016-7-27 16:59:56.png, image2016-7-27 17:1:39.png, image2016-7-27 16:59:16.png
titleGaleria Consulta SQL Vinculada a Banda

Galeria
columns2
excludeimage2016-7-27 15:20:22.png, image2016-7-27 15:18:50.png, image2016-7-27 15:16:51.png, image2016-7-27 15:14:46.png, image2016-7-27 16:59:56.png, image2016-7-27 17:3:30.png, image2016-7-27 17:0:24.png
titleGaleria Consulta SQL Não Vinculada a Banda

Executando Fórmulas onde Resultado deve ser Mostrado de Imediato


 

Existem diversos tipos de fórmulas, com diversos propósitos, vamos tratar, porém, de fórmulas, que necessitam do resultado imediato, para que o relatório apresente valores devidamente atualizados.

 

1.1 - Executando Fórmulas com Resultado Imediato (1180)


Vamos utilizar o relatório abaixo como exemplo:

OBS: A fórmula FRM003 atualiza a tabela "Histórico de Disciplinas Concluídas".

Image Added

Temos os campos necessários para a execução da Fórmula e para a execução da Consulta SQL vinculada a banda "Detalhe2".

Como na versão 1180 gera as informações sobre demanda, ou seja, prepara e executa os controles em um mesmo momento, a fórmula será executada, a tabela Histórico de Disciplinas Concluídas será atualizada, e consequentemente o relatório será gerado com as informações já atualizadas.

Image Added

 

 

Glossário

 

NomeDescriçãoLink Externo
1BandasRepresenta uma área especifica do relatório, usada para definir como renderizar os controles que pertencem a ela.Mais sobre bandas...
2DetalhesRepresenta um relatório detalhe, ou seja, anexo a um relatório mestre. Deve ser utilizado nos casos onde a fonte de dados do relatório implemente uma relação mestre-detalhe entre o objeto vinculado ao relatório mestre e o objeto vinculado ao relatório detalhe.Mais sobre detalhes...
3Membro de DadosObjetos vinculados as bandas do relatório que provem os dados a serem apresentados no mesmo. 
4Fase de Preparação dos Dados1 Fase do Reports. Se concentra em reunir todas as fontes de dados vinculadas aos controles do relatório e cria uma consulta única que será submetida ao banco de dados. 
5Fase de Execução e Impressão dos Controles2 Fase do Reports. Se concentra em preencher os valores dos controles a serem impressos e a apresenta-los em uma interface como formato de Relatório. 
6Fonte de DadosProvedores de Dados, assim como Tabelas do Banco, Consultas SQL, Providers. 
Informações
titleObservação
Os links externos disponibilizados acima estão em inglês e com teor técnico.

Observações: