Versões comparadas

Chave

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

...

Produto:

TOTVS Reports

Versões:

12.1.1x

Ocorrência:

Conteúdo


Índice
excludeConteúdo|Nomear / Renomear Controles|Galeria Consulta SQL Vinculada a Banda|Galeria Consulta SQL Não Vinculada a Banda

Introdução

Migração 1180 x 12.1


A "engine" 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çao de Controles, como Totalizadores no Rodapé, entre outras melhoras.].

O Reports na versão 1180 tinha uma funcionalidade nada performática chamada LoadDemand onde a execuçao de cada controle era por demanda, ou seja, na hora da impressão do controle no relatório seu valor é processado e impresso.

Pontos positvos: Execução independente.

Pontos negativos: Execuçao nada performática.

A cada impressão dos controles do relatório, através do LoadDemand (lembrando que esse controle pode ser impresso diversas vezes), ele executaria, por exemplo, a consulta sql ou a procedure ou a fórmula vinculada a ele, diversas vezes, tornando a execuçao do relatório nada performático.

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: