Produto: | TOTVS Reports | ||||||
Versões: | 12.1.1x | ||||||
Ocorrência: | ConteúdoMigração 1180 x 12.1O 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.
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: 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: |
|