[RESOLVIDO] - Passar parâmetro na sc_ajax_message

Prezados e Prezadas.

Peço imensas desculpas se estou perguntando algo que já tenha ocorrido no Fórum, mas eu nao consigo andar com um erro na macro sc_ajax_message.

Como orientado pelo mestre Jailton anteriormente, estou tentando chamar através da macro o mesmo formulário se o registro já existir! Estou fazendo isso pelo evento ajax OnBlur. Entretanto nem no manual ou aqui no Fórum consegui literatura ou exemplo de como passar o parâmetro (que seria a PK cod_legislacao) e redirecionar o formulário para esse registro. Alguém poderia ajudar a identificar o meu erro?
Segue o código que está no evento OnBlur do Formulário.

sc_ajax_message(“Esta LEGISLACAO já existe! Você será redirecionado a ficha!”,“ATENÇÃO!”,“button=Y&button_label=Redirecionar&redir=form_TB_LEGISLACAO_NOVA.php&cod_legislacao=7764&redir_target=_blank”);

Coloquei o numero do registro do banco 7764 apenas por referencia, mas existe uma rotina SQL que traz esse número antes da macro, certinho.

Alguma ideia.

Um grande abraço a todos, obrigado e peço desculpas pela recorrência do tópico.

Leia com atenção a documentação da macro:

Prezado Haroldo. Obrigado pelo retorno. Há muito não nos falamos.
Amigo. Eu li e reli por várias vezes essa documentação e voce poderá perceber que ela nao é muito específica quando se refere a passagem de parâmetros para o redir.

Principalmente neste segmento:

sc_ajax_message("Esta LEGISLACAO já existe! Você será redirecionado a ficha!","ATENÇÃO!","button=Y&button_label=Redirecionar&**redir=form_TB_LEGISLACAO_NOVA.php&cod_legislacao='7764**'&redir_target=_parent");

Será que esta parte de passagem do parâmetro &cod_legislacao=7764 está correta? E o & comercial mesmo que colocamos? Tentei o ponto e virgula, a virgula e ele sempre me remete para o inicio do arquivo.

Esta é a minha dúvida! Por isso perguntei se alguém já havia feito tal procedimento. Me perdoa a insistência amigo, depender de documento incompleta ou nao conforme atrasa demais nossos processos, tempo e objetivos. Mas no Manual ele nao explica isso.

Um grande abraço, obrigado pela atenção mais uma vez.

Conforme documentação a passagem de parâmetros quando faz o redir na macro se dá no quarto parâmetro da macro.

sc_ajax_message(
“Esta LEGISLACAO já existe! Você será redirecionado a ficha!”
,“ATENÇÃO!”
,“button=Y&button_label=Redirecionar&redir=form_TB_LEGISLACAO_NOVA.php&redir_target=_blank”
,"cod_legislacao=7764");  //deve ser passado no quarto parâmetro

Olá Haroldo.
Obrigado pelo retorno.
Mas continua sem redirecionar. Fiz apenas uma pequena alteração no código, mas ele continua remetendo para o 1o registro do banco…

Segue o código do evento ajax OnBlur.

if(empty({NUMERO_LEGISLACAO})) {
sc_error_message(“Nº da legislação INVALIDO!”);
sc_set_focus(‘NUMERO_LEGISLACAO’);
sc_error_exit();
}

$str={NUMERO_LEGISLACAO};
$tipo_lei={COD_LEGISLACAO_TIPO_LEI};

/* VERIFICA SE TEM NR LEGISLACAO E TIPO LEGISLACAO*/
sc_lookup(meus_dados, "
SELECT
COD_LEGISLACAO,
NUMERO_LEGISLACAO,
COD_LEGISLACAO_TIPO_LEI
FROM TB_LEGISLACAO
WHERE
NUMERO_LEGISLACAO = ‘$str’ AND
COD_LEGISLACAO_TIPO_LEI=’$tipo_lei’");

if ({meus_dados} === false)
{
sc_error_message(“Ocorreu um erro no acesso ao banco de dados.”);
}
elseif (empty({meus_dados}))
{
sc_error_message(“Nenhum valor foi retornado pelo banco.”);
}
else
{
[glo_cod_legislacao_redir] = {meus_dados[0][0]};

sc_ajax_message(
“Esta LEGISLACAO”.[glo_cod_legislacao_redir].“já existe! Você será redirecionado a ficha!”,
“ATENÇÃO!”,
“button=Y&button_label=Redirecionar&redir=form_TB_LEGISLACAO_NOVA.php&redir_target=_blank”,
“cod_legislacao=”.[glo_cod_legislacao_redir]); //deve ser passado no quarto parâmetro
}

Obrigado mais uma vez pelo retorno, forte abraço.

Um pouco confuso isso aí.
Onblur??? Tenho minhas dúvidas.
Colocou em modo debug?

Sim. Coloquei e me parece tudo ok.
O motivo do OnBlur é para ele fazer essa crítica ao pressionar o ENTER ou e sair do campo para o próximo. Mas coloquei no Onchange e o problema é o mesmo.
Mas eu já estou partindo para um outro caminho. E se funcionar eu retorno aqui.
Muito obrigado, um abração.

Alguém está conseguindo passar parâmetros na função sc_ajax_message? Estou tentando, mas ele não está recebendo o parâmetro. Ele redireciona, mas não coloca o form naquela posição solicitada (id_usuario={valor}).

 sc_ajax_message(
 "CPF já cadastrado: $nome_usuario ($cod_usuario)", 
  "Ocorreu um erro",    
"modal=Y&button=Y&redir=form_usuario_externo.php&show_close=Y&body_icon=Y&button_label=Editar&toast=N&toast_pos=center&type=warning", 
"id_usuario=$cod_usuario");

Esse tópico já foi fechado, recomendo crair um novo, pro fórum ficarm lehor organizado.

1 Curtida

Está aprendendo direitinho com o “Mestre” Haroldo! Deixa o colega perguntar…

:thinking: Deixo sim, só recomendei. Sempre posto isso pois aumenta a visibilidade um post novo, alem de ficar mais organizado, mas deixo sim.
Se alguem colaborar aqui ta tudo certo também, só fica pior de achar no futuro…

2 Curtidas

Ninguém está impedindo do membro perguntar, então essa observação é totalmente sem propósito e impertinente.

Como é de praxe certos comentários por aqueles que pouco contribuem mas fazem questão de participar negativamente, em vez de interagir mais com ajudas efetivas, vem um para querer conturbar o que ultimamente vem evoluindo tão bem, que é a boa convivência no fórum. Ainda mais aqueles que escondem seus nomes e fotos de perfil.


Só postou para quebrar a harmonia.

Postar em um tópico RESOLVIDO ou antigo por demasiado e com dúvida que foge do propósito do tópico original só faz o solicitante ser desprezado em sua solicitação ou forçando o mesmo a repetir a mesma dúvida em tópicos diferentes (cross posting) justamente por não ser respondido na postagem de tópicos antigos ou resolvidos.

Vai se acostumando, @Costenaro.

2 Curtidas