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