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”);
}