TECNOLOGIA - Regra por Evento - Não é possível obter o valor do campo XX da tabela XX. Tabela não disponível
Incidente
No módulo de Cadastros, ao inserir uma regra por evento a uma tela, ao executar a regra ocorre a mensagem:
Não é possível obter o valor do campo XX da tabela XX. Tabela não disponível.
Causa
Este incidente ocorre, pois:
A tela em questão geralmente possui mais de uma guia e o sistema não sabe de onde buscar a informação; ou
Está sendo utilizada regra por evento Ao Abrir a Tela ou Ao Fechar a Tela, e nesta regra está sendo efetuado acesso ao banco de dados (exemplo: um select).
Solução
Para que a mensagem não seja apresentada nas questões relacionadas a Aba ativa, realize os passos a seguir:
1. Inclua na regra que está ligada ao evento a variável DescAbaAtiva do tipo alfa, conforme exemplo:
Definir Alfa DescAbaAtiva;
Se (DescAbaAtiva = "Dados Gerais")
xcodemp = E001TNS.CodEmp;
Senao
Se (DescAbaAtiva = "Dados Gerais 2")
xcodemp = E001TCP.CodEmp;
Observações
- A variável DescAbaAtiva contém a descrição da aba ativa no momento, ou seja, através dessa variável pode-se identificar de que aba da tela a regra foi chamada e então fazer a devida consistência somente para a guia desejada;
- Para saber qual é a tabela utilizada na guia, veja link do artigo TECNOLOGIA – Regra por Evento – Como saber qual tabela utilizar na regra por evento quando a tela tem mais de uma guia
Importante
No ponto de regra Ao Abrir a Tela, o DataSet da tabela ainda não foi aberto e Ao Fechar a Tela, ele já foi fechado. Assim, não é possível customizar uma regra que realize select na tabela nestes pontos.
Observação
Para maiores informações sobre Regra por Evento, verifique o artigo TECNOLOGIA - Regra por Evento - Onde é possível encontrar informações diversas sobre processo de Regra Por Evento (indice).