Prezado Joelton,
Em complemento ao meu email sobre possivel BUG entitulado:
SC9.4 Formulario Unico Variavel campo Where
Vou tentar passar o máximo de informações e fotos possiveis.
Descrição geral do ambiente e do possivel BUG:
Trata-se de apenas 4 aplicacoes bem simples:
- formulario para entrada de login
- menu arvore
- formulario para atualizacao de dados pessoais
- formulario para alteracao de enderecos.
Uma vez efetuado o login correto, este formulario de login que recebe um campo matricula acessa uma tabela
utilizando esse campo matricula para obter o valor correspondente da chave principal das tabelas a serem
usadas nos outros 2 formularios (dados pessoais e enderecos). A chave é sede_id.
Em seguida na opcao onvalidate desse formulario, é criada e gravada a variavel [glo_socio_id] com o valor
da chave socio_id.
Continuando, o formulario passa o controle via ligacao para a aplicacao de menu_arvore passando ainda o parametro
matricula_socio para o menu_arvore que a utiliza co o nome de [glo_matricula] para exibir no cabecalho da aplicacao menu.
A aplicacao menu no evento on_execute obtem o valor da chave socio_id atraves do comando $socio_id=$_SESSION[‘glo_socio_id’];
No menu, ao ser selecionado a opcao de atualizacao de endereco e contatos, será chamada no evento onexecute do menu a aplicacao
formulario de atualizacao de enderecos, atraves da macro sc_redir, sendo passado o parametro p_socio_id=$socio_id.
Na aplicação de formulario de atualizacao de endereco, na sessao SQL -> no campo where consta socio_id=[p_socio_id].
Assim, o formulario de atualizacao de endereco consegue concluir o sql e exibir os valores dos campos do endereco para atualizacao.
Todos esses passos ocorrem de maneira correta no ambiente de desenvolvimento. Entretanto, quando colocado em produção, este ultimo passo
acusa erro pois a variavel [p_socio_id] não é capturada e o sql do formulario de atualizacao de endereco fica incorreto.
Observacoes importantes:
-
Com certeza a variavel [glo_socio_id] criada pelo formulario de login foi lida corretamente pelo menu_arvore pois fiz um teste (desenvolvimento e
producao) para exibir o valor dessa variavel no evento onload do menu com o comando echo e tambem exibindo esse valor colocando [glo_socio_id] no
cabecalho do menu_arvore;
-
Já fiz o teste substituindo no campo where do formulario a variavel passada pelo sc_redir do menu: socio_id=[p_socio_id] … pela variavel
global: socio_id=[glo_socio_id] … continua funcionando no ambiente de desenvolvimento mas continua dando o mesmo erro em producao, ou seja,
o formulario não está conseguindo ler nem a [glo_socio_id] nem a [p_socio_id];
-
Essas aplicacoes funcionam desde a versao SC6, sendo migradas para a 9.3 acho que em meados de marco de 2019 e estavam funcionando perfeitamente
até ontem, quando precisei fazer uma simples alteracao do nome de label de um dos campos do formulario de atualizacao de endereco, ja no ambiente
SC9.4.10, e testada nesse ambiente de desenvolvimeto OK, mas ao publicar esta aplicacão, a mesma passou a acusar o referido erro em produção.
IMPORTANTE: Embora não tenha efetuado nenhuma alteracao no outro formulario (atualizacao de dados pessoais), nem tão pouco republicado esse
formulario, o mesmo passou a apresentar o mesmo erro que o formulario de enderecos que foi atualizado (Erro no where da sql … identico).
Já instalei o prod da SC9.4.10 no ambiente producao mas o erro continua.
///////////////////
Seguem 14 fotos imagens com as telas ambiente de desenvolvimento e do ambiente de produção (estas com o erro exibido) e outras
fotos com codigos de eventos das aplicacoes e a tela de variaveis globais do formulario de atualizacao de enderecos.
Estao em ordem … foto1 ate foto15 (esta é a do erro em producao).
Necessitando de mais alguma informação pode pedir.
Obrigado pela atenção.