JavaScript não funciona

Bom dia pessoal,

Estou com um problema (o Robert estava a me dar um auxilio, mais ele ta muito enrolado esta semana), é o seguinte, tenho um formulário de vendas e neste tenho um campo chamado “desconto” e neste meu formulário quando eu executo o mesmo (de forma isolada) ele executa um procedimento javascript que abre uma janela modal pedindo o usuário e senha do administrador, até ai tudo bem, só que quando executo o mesmo através do menu (abrindo a aplicação pelo login, etc, etc.) ele não solicita o modal e ainda libera para desconto, alguem poderia me ajudar a resolver ?

Na aplicação de login no OnValidate esta assim:

[code]$slogin = sc_sql_injection({login});
$spswd = sc_sql_injection(md5({pswd}));

$sql = “SELECT
priv_admin,
active,
name,
email
FROM seg_users
WHERE login = $slogin
AND pswd = “.$spswd.””;

sc_lookup(rs, $sql);

if(count({rs}) == 0)
{
sc_log_add(‘login Fail’, {lang_login_fail} . {login});
sc_error_message({lang_error_login});
sc_error_exit();
}
else if({rs[0][1]} == ‘Y’)
{
$usr_login = {login};
$usr_priv_admin = ({rs[0][0]} == ‘Y’) ? TRUE : FALSE;
$usr_name = {rs[0][2]};
$usr_email = {rs[0][3]};
$verifica_adm = {rs[0][0]};
sc_set_global($usr_login);
sc_set_global($usr_priv_admin);
sc_set_global($usr_name);
sc_set_global($usr_email);
sc_set_global($verifica_adm);
}
else
{
sc_error_message({lang_error_not_active});
sc_error_exit();
}[/code]

No meu form de vendas as rotinas são essas:

Evento Ajax chamado desconto_onFocus:

if ([verifica_adm] == 'N') {sc_ajax_javascript('overlay');}

E tenho um metodo JavaScript chamado de overlay que esta assim:

el = parent.document.getElementById("overlay"); el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible"; if (sair != "S") { parent.document.getElementById('id_sc_field_desconto').focus(); }

no evento javascript criou o parâmetro" overlay" no botão (fx)?

Sim

O interessante Fernando é que se eu executar somente o form ele mostra o modal com o usuario e senha, agora se eu abrir o form pela aplicação completa (executando o login, clicando no meu, etc.) ele não faz

Só uma pergunta meio estranha mas, o usuário que você esta usando para testar a aplicação completa tem privilégios de administrador?

pode ser meio estranho, mas esta passando a variável entre aspas duplas já tentou passar sem as aspas?

já tentou comentar tudo e colocar somente um alert para saber se entra no javascript?

Tem sim Saulo, agora aik é que está o que pretendo da aplicação, caso não seja admin ai ele tera que habilitar o javascript e solicitar a senha para que seja liberado.

Fernando ainda não testei o que vc passou, vou testar e aviso.

Fernando usei sem aspas e nada, usei um echo e ele abre o java script conform tela abaixo:

Estou pra desistir pois quando executo pelo SC o form vendas e clico no campo desconto ele abre show como abaixo:

Agora se eu publico ou executo a aplicação app_login ele processa e fica como a tela abaixo, quando clico no campo desconto:

E agora pessoal como solucionar isso ?

Valter, porque você não altera a lógica, permita que o vendedor defina o desconto porém ele não consegue efetivar a venda antes que o administrador faça a liberação, essa liberação você pode listar as vendas bloqueadas aguardando desconto em um grid e usar um botão Run para o administrador liberar as vendas, coloca um identificador de liberado ou não na sua tabela de controle e pronto.

Saulo sou leigo em programação mais no “fritar dos ovos” não vai dar no mesmo ? deixa eu ver se entendi o que vc falou, vou liberar o campo desconto e todos os vendedores vão poder digitar ali, a diferença seria tipo quando o vendedor clicar no botão salvar ele vai verificar se o campo desconto está preenchido e em caso positivo ele ira solicitar a senha de um administrador para poder gravar, é isso ?

Não se aquele usuário não for administrador ou não puder dar desconto, ou se ele definir um desconto acima do que esta liberado para ele a venda fica bloqueada aguardando liberação por parte de um administrador, aí o administrador vai logar no sistema e vai listar as vendas que precisam de liberação aí ele decide quais vendas ele quer liberar.

kkkkkkkk, Saulo agora ferrou mais ainda pra fazer no sc, + blz mano vou ver por aqui o que faço :wink:

Mano 10 minutos que eu olhar isso ai eu resolvo, mas to sem tempo pra acessar remotamente, pelo que eu vi é a variável global que não está assumindo o valor na hora do login.

Eu sei disso mano, vc ta ajudando e muito, sei que tas enrolado d+, é que tinha que ter entregue esse modulo de vendas a 1 semana e nada, mais de boa vei, agradeço a vc e a todos aqui que tem ajudado, é que o pior de tudo é que sou totalmente leigo em programação e por isso to apanhando para fazer, e como também neste momento to sem tempo de tentar aprender php (claro que em 1º lugar tem a logica) ai ferra tudo.

Eu vejo só um problema na implementação do Valter, pelo que vi o output esta trazendo o ‘N’, porém o que ele quer fazer é que apareça um um form para o cara digitar uma senha para liberação da venda, bem algumas perguntas:

[ul][li]Se o cara digitar apenas uma senha essa senha estará armazenada onde para comparação com a senha digitada?[/li]
[li]Se a intenção é utilizar a senha de um usuário do sistema de segurança padrão como filtrar apenas a senha? Será necessário um login para que o sistema não traga usuários com as senhas iguais…[/li]
[li]Após digitar os dados para liberação, como retornar ao script anterior para continuar com a efetivação da venda?[/li][/ul]

Por isso que a ideia que eu dei acho mais rápida e viável, o gerente lista as vendas de acordo com a regra de negócio definida, entra na venda e verifica se a venda poderá ser finalizada e efetivada, aí daria baixa no estoque ou direcionaria para expedição, etc…etc…etc

Foi a aplicação que eu criei Saulo, é bem simples ele só quer que apareça a tela e trave a continuação do procedimento, travando a continuação só uma senha de administrador que libera o formulário.

Saulo o form vendas ja está fazendo tudo isso, quando clico no campo desconto ele abre uma modal que contem dois campos (usuário e senha) que são verificados na tabela de usuários e se o usuario for admin ele fecha o modal e retorna ao campo desconto para que seja digitado o valor do mesmo e dai segue normalmente a venda.

O problema esta quando eu executo a aplicação inteira (usando a pagina principal que é a app_login) na qual me mostra todos os menus, forms, grid, etc, quando através deste clico no menu vendas (que consequentemente abre o form de vendas) e clico no campo desconto ele não mostra o modal.

E isso Saulo, ta fazendo mais so quando executo pelo SC o form

http://www.netmake.com.br/forum/index.php/topic,6021.msg27481.html#msg27481

No meus projetos já tenho isso funcionando, mas por algum motivo lá no Valter não está funcionando.

Ahhh bom então o Robert já fez isso funcionar.!!! Então o problema pode ser ambiente, ou os malditos cache´s do navegador, javascript sofre com isso.