Introdução

Produto:

TOTVS Reports

Versões:

12.1.1x

Ocorrência:

Conteúdo


Migração 1180 x 12.1


O motor de execução do Reports a partir da versão 12.1.5 foi refeita (reescrita), para que diversas inconsistências relatadas fossem devidamente tratadas, o que inclui [Performance, Execução de Controles, como Totalizadores no Rodapé, entre outras melhoras.].

O antigo motor do Reports na versão 1180, não era performática devido a sua estrutura baseada em execução por demanda onde cada controle vinculado ao relatório era executado por demanda, ou seja, cada controle tinha seu valor processado e impresso somente na hora da impressão do controle no relatório.

 

Pontos PositivosPontos Negativos
1Execução IndependenteExecução Nada Performática

 

A cada impressão dos controles do relatório, através da execução por demanda, (lembrando que esses controles podem ser impressos diversas vezes), eles executariam, por exemplo, a consulta sql ou a procedure ou a fórmula vinculada a ele, diversas vezes, tornando a execução do relatório nada performática.

O Reports da 12.1.5 em diante usa a nova "engine", que é dividido em duas partes:
- Preparação
- Execução

Na Fase de Preparação: ele recupera todas as fontes de dados do relatório (tabelas, consultas SQL, providers) e cria uma única fonte de dados (consulta SQL) que engloba todas as fontes citadas anteriormente.

Na Fase de Execução: Ele preenche os componentes visuais com os seus devidos valores, provenientes dessa fonte única de dados, e as imprime no relatório.

Pontos negativos: Execução dependente. A Fase de Execução é fortemente dependente da Fase de Preparação. É necessário primeiramente o agrupamento dos dados das diferentes fonte de dados para depois os dados serem impressos no relatório.

Pontos positivos: Execução performática. A consulta SQL gerada na fase de preparação é submetida ao banco de dados apenas uma vez, seus dados são postos na memória; Ao ser impresso o valor já está disponivel, não sendo necessário realizar uma requisição ao banco de dados toda vez que imprimir o componente.

 

 

Ambiente:

 

Passo a passo:

 

Observações: