Páginas filhas
  • 9678754 DFWKTOOLS-3201 DT Propriedade ITEM_SELECT (GRID) com valor inválido no evento BEFORE_DELETE (FIN30057)


01. DADOS GERAIS

Produto:

TOTVS Manufatura

Linha de Produto:

Linha Logix

Segmento:

Tecnologia

Módulo:Framework
Função:Grid Metadados - LBrowseEx
Ticket:9678754
Requisito/Story/Issue (informe o requisito relacionado) :DFWKTOOLS-3201


02. SITUAÇÃO/REQUISITO

Em uma tela metadado, quando a partir da edição de dados um GRID, for adicionada uma linha no final do GRID e quando o usuário tenta retornar para a linha acima, se esta nova linha não tiver nenhum dado preenchido o metadado deveria acionar os seguintes eventos:

1) Eliminar a linha nova do GRID que não tem dados preenchidos, invocando nesta ação os respectivos eventos de BEFORE_REMOVE_ROW_EVENT e AFTER_REMOVE_ROW_EVENT.

2) Reposicionar o cursor para a linha anterior do GRID.

PROBLEMA: Durante a execução de uma função 4GL definida para o evento BEFORE_REMOVE_ROW_EVENT, ao tentar recuperar o número da linha corrente do GRID, utilizando para isso a propriedade ITEM_SELECTED ou ROW_SELECTED, o retorno está com o número da linha da nova linha reposicionada após a exclusão, sendo que o correto seria retornar o número da linha que está sendo eliminada, já que o evento em execução é o REMOVE_ROW.




Esta situação foi identificada na execução do programa FIN30057 ao realizar a baixa de um adiantamento, quando é emitida a mensagem: "Adiantamento não encontrado!". provocado no momento em que o usuário, na tela de tipos de valores, avança com o cursor para uma nova linha no GRID, criando uma nova linha, e depois retorna para a linha acima, onde esta nova linha em branco é apagada, provocando o problema com os dados da linha acima que tem os dados preenchidos.






03. SOLUÇÃO

Ajuste do comportamento de exclusão de linhas vazias, recém adicionadas em um GRID, para que os eventos invocados durante esta ação consigam recuperar corretamente o número da linha que está sendo excluída, sem afetar o evento posterior que é mudança do foco para a próxima linha após a exclusão.


IMPORTANTE!

Disponível a partir do pacote oficial 12.1.31 ou Framework Fix 12.1.29.(fix01)