Histórico da Página
...
Produto: | TOTVS Reports | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Versões: | 12.1.x | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ocorrência: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ambiente: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Passo a passo: | Conteúdo
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 - Nomear / Renomear Controles
Ao se utilizar uma Consulta SQL vinculada a Bandas do Relatório, primeiro precisamos saber:nomear / renomear controles devemos nos atentar aos seguintes casos:
1.1 - Nome do Controle Igual ao Nome de uma Coluna de uma Fonte de DadosUtilizaremos o relatório abaixo (Relatorio_Teste), como exemplo:
Temos nesse relatório duas tabelas (TMOV e FCFO) e uma consulta SQL, como fonte de dados:
A estrutura dos controles do relatório é essa:
Observe que os controles IDMOV, CODCOLIGADA e CODCFO têm o mesmo nome das respectivas colunas das tabelas vinculadas ao relatório (TMOV e FCFO).
Com a nova estrutura proposta pelo TOTVS Reports, uma fonte de dados única é formada com os dados suficientes para a impressão dos valores. Como os dados são preenchidos por demanda, ou seja, depende de quais controles foram atrelados ao relatório, apenas algumas colunas da tabela master TMOV contém dados, como IDMOV e CODCOLIGADA. A coluna CODCFO, atrelada ao relatório, pertence a tabela FCFO, que não é a tabela master do relatório; Essa coluna foi adicionada a tabela TMOV com o nome de (CODCFO + _ + IdentificadorUnico). O Resultado é esse:
Com a explicação acima e com a notação de ordem de recuperação de valores para impressão conseguiremos entender o problema ao se nomear um controle com o mesmo nome de uma coluna de alguma fonte de dados presentes no relatório. 1.1.1 - Ordem de Recuperação de Valores para Impressão
Quando nomeamos um controle com o mesmo nome de uma coluna de alguma fonte de dados presente no relatório, desviamos o fluxo de recuperação de valores, do caminho 4 , para o caminho 3, fazendo com que o valor impresso seja a da coluna da fonte de dados vinculada ao detalhe (TMOV) em vez de recuperar o valor do controle em si, gerando um relatório com algumas informações faltantes. Exemplo:
1.2 - Solução (Renomear o controle com um nome diferente)
Ao renomearmos o controle CODCFO para CODCFO1, por exemplo, o caminho para recuperação dos valores passa a ser o 4, invés do 3, ou seja, o valor do controle é impresso ao invés do valor da coluna CODCFO da tabela TMOV.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Observações: |
|