Help Urgente

Já reportei esse problema mas até o momento sem solução. Vou explicar detalhadamente.

Tenho uma aplicação Controle, cujo objetivo é vincular um rádio a um veículo. No campo {id_veiculo} no evento Ajax onBlur ele pesquisa na minha tabela e traz os dados ali cadastrados, até aí ok. Possuo duas variáveis globais uma que armazena o identificador caso seja localizado na tabela para repassar para outro controle (tipo saída) e outra variavel que armazena “ok” indicando que foi localizado o registro ou em branco caso não seja para exibir ou não um botão do Controle.

Ocorre que após digitar o valor no campo e executar o onBlur a pesquisa é feita, os dados exibidos, jogo o valor na variavel exibo o valor no controle, mas quando passo para o outro controle onde está com o tipo entrada ele não passa o parametro e nem exibe o botão. Quando visualizo os dados em sessão a variável está nula, em branco. O que pode ser?

Detalhe é que tenho o mesmo código em outro campo e tudo ocorre normalmente.

Segue o código:

//Pesquisa os dados na tabela

$check_sql = “SELECT evento.nome,circuito.nome,area.nome,posto.nome,veiculo.id_efetivo,efetivo.nome, efetivo.cargo, veiculo.id”
. " FROM veiculo,efetivo,area,circuito,evento,posto"
. " WHERE (circuito.id_evento = evento.id) AND
(area.id_circuito = circuito.id) AND
(posto.id_area = area.id) AND
(veiculo.id_posto = posto.id) AND
(veiculo.id_efetivo = efetivo.id) AND
(veiculo.nome = ‘" . {id_veículo} . "’)";

sc_lookup(rs, $check_sql);

if (isset({rs[0][0]}))     
 // Se os dados forem encontrados exibe os campos, os blocos e exibe o valor da variavel [idveiculo] no campo {teste}

{

{evento} = {rs[0][0]};
{circuito} = {rs[0][1]};
{area} = {rs[0][2]};
{posto} = {rs[0][3]};
{matricula} = {rs[0][4]};
{nome} = {rs[0][5]};
{cargo} = {rs[0][6]};	
[veiculook]="ok";	[b]// Essa variável está perdendo o valor não passa para outro controle e na sessão fica como nula [/b]
[idveiculo] = {rs[0][7]}; [b]// Essa variável está perdendo o valor não passa para outro controle e na sessão fica como nula[/b]
sc_block_display(blveiculo, on);
sc_block_display(blmotorista, on);
{teste} = [idveiculo];

}
else
{

{evento} = '';
{circuito} = '';
{area} = '';
{posto} = '';
{matricula} = '';
{nome} = '';
{cargo} = '';
sc_reset_global([veiculook],[idveiculo]);
sc_alert ("Veiculo não encontrado, verifique os dados");
sc_set_focus('id_veiculo');
sc_block_display(blveiculo, off);
sc_block_display(blmotorista, off);
sc_btn_display("vincular", "off");
sc_btn_display("mot", "off");

}

if ([veiculook] == “ok”) // Show buttons
{
sc_btn_display(“mot”, “on”);
sc_btn_display(“vincular”, “on”);

}
else
{
sc_btn_display(“mot”, “off”);

}

if ([veiculook] == “ok” and [radiook]==“ok”) // Show buttons
{
sc_btn_display(“vincular”, “on”);

}
else
{
sc_btn_display(“vincular”, “off”);

}

Olá,

Essas variáveis estão configuradas como de saída?

Você a forçou como variável em sessão?

Ë um controle que chama outro?

Desde já grato pelo apoio. Tulio a variavel [idveiculo] é que será passada para o outro controle e está como tipo saída e no outro como entrada. A variável [veículook] não será passada para outro controle e está como entrada. Haroldo já forcei em sessão e nada. Outro detalhe interessante é que tem um bloco que um botão aparece e outro não.

if ([veiculook] == “ok”) // Show buttons
{
sc_btn_display(“mot”, “on”); //Esse botão aparece.
sc_btn_display(“vincular”, “on”); //Esse botão Não aparece.

}

Há como relacionar eventos em botão? Acho que só via programação não é?

A outra coisa interessante a lógica toda estava funcionando até que eu resolvi alterar o Tema do projeto. Será que a mudança do tema pode influenciar? De qualquer sorte coloquei um tema padrão do scriptcase pra ver e o problema persiste. Já não sei mais o que fazer, meu projeto tá parado e o cliente cobrando.

O problema do botão pode ser a configuração dele na barra de tarefas.

Faça um teste de passagem de parametros. Execute isoladamente (diretamente) a aplicação para verificar se ela pede a variável idveiculo. Caso positivo, talvez um link manual resolva seu problema.

Outra coisa, eu evito usar variavel de sessão com ajax, isso costuma dar problemas.

Ok Tulio vou verificar. Tem como eu executar o código na saída do campo sem Ajax? Tem algum evento? Javascript? Desculpe minha ignorância é pq sou iniciante.

Valeu

Olá,

Fique tranquilo, o reaprendizado em TI é uma constancia.

Tente executar esses procedimento na validação do controle.

Bom quase resolvido. retirei as variáveis de entrada que não passaria como parametro e fiz os testes do botão com os campos (varáveis locais) está funcionando blz. O único problema é que não consigo passar o parametro de um controle para outro. Não funfa. Outra coisa é quando exibo os dados em sessão ele mostra variaveis que não são de sessão, são locais. O que pode ser?

Utilize a macro sc_redir para mudar de controle com passagem de parametros. No help tem exemplos.

Valeu Túlio já usei a sc_redir mas a variavel fica nula. Nao sei mais o que fazer. Vou ter de adquirir uns tikets de suporte pra ver se a netmake resolve. Continuarei tentando. Abraço.