Páginas filhas
  • 10150772 DFWKTOOLS-3487 DT Ajuste automático de total de linhas em zoom Metadado carregado por função

01. DADOS GERAIS

Produto:

TOTVS Manufatura

TOTVS Backoffice

Linha de Produto:

Linha Logix

Segmento:

Tecnologia

Módulo:Framework
Função:Zoom Metadado - LZoomMetadata
Ticket:10150772
Requisito/Story/Issue (informe o requisito relacionado) :DFWKTOOLS-3487


02. SITUAÇÃO/REQUISITO

Ao acionar o programa FIN10019 (Configurador de arquivos digitais de cobrança padrão CNAB), quando usuário aciona o zoom da coluna Conteúdo, ao exibir os dados no zoom e tentar reordenar os dados apresentados, ocorre a seguinte falha:

array out of bounds  on ARRAYSORT(ARRAY.PRW) line : 82


03. SOLUÇÃO

Após análise do problema, foi identificado que a origem real do problema está no zoom metadado zoom_cre_cobr_escrit_conteudo que utiliza a funcionalidade de carga de dados do zoom utilizando a função fin10019_carrega_zoom_conteudo(). No entanto, esta função está retornando a contagem total de linhas do array com 81 linhas, sendo que o array está com 80 linhas.

A situação foi reportada para análise na rotina do FIN10019, no entanto foi implementada uma melhoria no Framework no componente LZoomMetadata e também nas funções utilitárias para variáveis do tipo array (ArraySort) para que a contagem de linhas seja ajustada automaticamente e desta forma não gerar mais a inconsistência reportada acima.

Desta forma, quando um zoom metadado, que faça uso da função de carga de dados, registrar número de linhas inválida, além de fazer o ajuste automático para o total correto de linhas, será registrado no LOG do AppServer uma mensagem de erro para alertar sobre a falha de contagem de linhas. Assim, ao menos existirá uma forma registrar uma falha que deve ser analisada na função de carga de zoom. A mensagem de erro registrada no LOG do Appserver será:

Exemplo da mensagem de erro registrada no LOG do AppServer


[LOGIX] ERRO: [LZOOMMETADATA] Função de carga fin10019_carrega_zoom_conteudo() registrou número de linhas para o zoom incorreto. (COUNT registrado = 81 / LEN array zoom = 80 )


Por fim, o zoom será carregado e poderá ser reordenado normalmente, sem que tenha os dados afetados e nem tampouco interrompido por mensagem de erro em caso de tentativa de reordenação dos dados, pois o metadado fez ajuste automático do total de linhas incorreto, sendo no caso do FIN10019, para 80 linhas.


IMPORTANTE!

Disponível a partir do pacote oficial 12.1.32 ou Framework Fix 12.1.29.(fix02)