Autor Tópico: ** RESOLVIDO ** No filtro, ao escolher ir a outra aplicação  (Lida 8553 vezes)

ramosinfo

  • Intermediário
  • ***
  • Mensagens: 149
** RESOLVIDO ** No filtro, ao escolher ir a outra aplicação
« Online: Janeiro 15, 2010, 12:40:25 pm »
Criei uma consulta que inicia pelo filtro, onde não tem nenhuma regra de filtro, apenas lista em um Select os dados cadastrados numa tabela. Isso tá feito.

Agora preciso que, quando o usuário selecionar um dos itens listados, vá para outra aplicação. E também gravar a variável Global para o restante da aplicação. Esta parte que não sei.

Para exemplificar melhor vou descrever o requisito: O usuário deverá escolher qual o concurso que deseja, escolhido o concurso é aberto a página do concurso escolhido, uma vez que as etapas dos concursos são iguais, mudando apenas o concurso.

Alguém tem alguma sugestão?
« Última modificação: Janeiro 22, 2010, 11:39:55 am por Rodrigo Lins »

ramosinfo

  • Intermediário
  • ***
  • Mensagens: 149
Re: No filtro, ao escolher ir a outra aplicação
« Responder #1 Online: Janeiro 15, 2010, 12:48:47 pm »
Continuo sem saber....

Criei um botão de acessar aplicação, mas ele entra na consulta, não quero que entre na consulta, quero que saia do filtro direto para uma nova aplicação.

ramosinfo

  • Intermediário
  • ***
  • Mensagens: 149
Re: No filtro, ao escolher ir a outra aplicação
« Responder #2 Online: Janeiro 15, 2010, 01:06:39 pm »
Resolvi parte.

No filtro não tem como criar botões, então, fui em APLICAÇÃO e em NAVEGAÇÃO na URL de Saida defini a aplicação que queria e mudei o label do botão de sair, para acessar. rs.

Agora, onde definir nesta parte de filtro uma variável global, do tipo: sc_set_global([COD_PROCESSO]);
?

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: No filtro, ao escolher ir a outra aplicação
« Responder #3 Online: Janeiro 18, 2010, 09:40:07 am »
Ramos,

Toda vez que precisar de um formulário que não seja baseado em uma tabela, use uma aplicação controle.

Faça um controle com uma select com lookup dos concursos. No evento onChange da select use por exemplo a macro sc_redir() passando como parâmetro o ID do concurso para a outra aplicação/página que precisa. Vc pode também utilizar o código no onValidate do controle que terá o mesmo efeito, porém, redirecionando após clicar em OK.
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

ramosinfo

  • Intermediário
  • ***
  • Mensagens: 149
Re: No filtro, ao escolher ir a outra aplicação
« Responder #4 Online: Janeiro 18, 2010, 07:50:06 pm »
Ok, estou tentando agora no controle. No onValidate coloco o sc_redir() conforme no Help. Mas como faço pra pegar o valor do item selecionado, numa variável global pra abrir a aplicação, já passando o valor do item selecionado?

Tipo, o campo é COD_PROCESSO_SELETIVO e a variável global será COD_PROCESSO.

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: No filtro, ao escolher ir a outra aplicação
« Responder #5 Online: Janeiro 18, 2010, 09:15:13 pm »
Explica melhor a sua implementação!!!

Vou imaginar um cenário:
Vc tem uma tabela que guarda os processos
Processo_ID
Processo_Descricao

Numa select no controle chamada COD_PROCESSO_SELETIVO vc monta uma SQL:
SELECT Processo_ID, Processo_Descricao FROM tab_Processo ORDEM BY Processo_Descricao

No SC uma select sempre grava o primeiro campo e mostra o último. Na sc_redr() voce passa {COD_PROCESSO_SELETIVO} como parâmetro para a variável na aplicação chamada na redir. Neste caso o valor de {COD_PROCESSO_SELETIVO} vai ser o valor do campo Processo_ID.

Não me lembro bem agora mas acho que o parametro fica assim: COD_PROCESSO={COD_PROCESSO_SELETIVO}
« Última modificação: Janeiro 18, 2010, 09:20:12 pm por Cleyton Euler »
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

ramosinfo

  • Intermediário
  • ***
  • Mensagens: 149
Re: No filtro, ao escolher ir a outra aplicação
« Responder #6 Online: Janeiro 19, 2010, 12:49:26 pm »
Bom, criei aqui o controle, em campos, criei um campo chamado "Escolha" do tipo Select, em lookup de edição criei o SQL:

SELECT COD_PROCESSO_SELETIVO, DESCRICAO
FROM processo_seletivo
ORDER BY DESCRICAO

E no evento onValidade:
sc_redir(form_pagina_principal, COD_PROCESSO={COD_PROCESSO_SELETIVO});

Coloco a aplicação para rodar, seleciono um item e clico em OK, e dá a mensagem:

Falta definição das seguintes variáveis globais: COD_PROCESSO;

E apresenta o botão de "Retornar". Mas antes dessa mensagem de erro, aparece o erro a seguir rapidamente redirecionando para esse outro erro que já apresentei:

ERRO    
Undefined variable: COD_PROCESSO_SELETIVO

É isso.

Já tentei criar a variável de sessão e de saída colocando sc_set_global(COD_PROCESSO); mas continua não funcionando.
« Última modificação: Janeiro 19, 2010, 12:51:18 pm por ramosinfo »

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: No filtro, ao escolher ir a outra aplicação
« Responder #7 Online: Janeiro 19, 2010, 01:03:52 pm »
Bom, criei aqui o controle, em campos, criei um campo chamado "Escolha" do tipo Select, em lookup de edição criei o SQL:

SELECT COD_PROCESSO_SELETIVO, DESCRICAO
FROM processo_seletivo
ORDER BY DESCRICAO

E no evento onValidade:
sc_redir(form_pagina_principal, COD_PROCESSO={COD_PROCESSO_SELETIVO});

Coloco a aplicação para rodar, seleciono um item e clico em OK, e dá a mensagem:

Falta definição das seguintes variáveis globais: COD_PROCESSO;

E apresenta o botão de "Retornar". Mas antes dessa mensagem de erro, aparece o erro a seguir rapidamente redirecionando para esse outro erro que já apresentei:

ERRO    
Undefined variable: COD_PROCESSO_SELETIVO

É isso.

Já tentei criar a variável de sessão e de saída colocando sc_set_global(COD_PROCESSO); mas continua não funcionando.

Testa o sc_redir com um valor fixo no parametro.
sc_set_global($COD_PROCESSO) -> Acho que é a sintaxe correta.
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

ramosinfo

  • Intermediário
  • ***
  • Mensagens: 149
Re: No filtro, ao escolher ir a outra aplicação
« Responder #8 Online: Janeiro 19, 2010, 04:21:07 pm »
Troquei:

sc_redir(form_pagina_principal, COD_PROCESSO={COD_PROCESSO_SELETIVO});

Por:

sc_redir(form_pagina_principal, COD_PROCESSO='2');

Nem tá pegando o valor 2 pra passar pra variável do outro formulário.

To completamente perdido.

E no Help diz:

sc_redir(aplx.php, parm1={clienteid}; parm2="xxx");

Mas ele não pega e nem tá criando uma variável global que pegue o COD_PROCESSO_SELETIVO selecionado do select do controle e passando para outro formulário.

ramosinfo

  • Intermediário
  • ***
  • Mensagens: 149
Re: No filtro, ao escolher ir a outra aplicação
« Responder #9 Online: Janeiro 20, 2010, 09:38:10 am »
Não seria, por acaso, o mesmo que um multi-empresa?

Mas nos tópicos sobre multi-empresa, o link para download do exemplo não funciona. Teria como alguém enviar pro meu e-mail este exemplo?

Obrigado.

robsonsilva

  • Visitante
Re: No filtro, ao escolher ir a outra aplicação
« Responder #10 Online: Janeiro 20, 2010, 01:04:47 pm »
Ramos,

Acho que é mais simples criar uma "Ligação" do tipo "Aplicação", apontando pra outra apl e passando o valor do campo pra global de lá... não funciona assim?

Att.
Robson

ramosinfo

  • Intermediário
  • ***
  • Mensagens: 149
Re: No filtro, ao escolher ir a outra aplicação
« Responder #11 Online: Janeiro 20, 2010, 03:31:02 pm »
Acho que a questão é:

Como definir uma variável global de sessão, pegando o dado de um lookup com select de um banco de dados para passar ao outro formulário?

robsonsilva

  • Visitante
Re: No filtro, ao escolher ir a outra aplicação
« Responder #12 Online: Janeiro 20, 2010, 03:38:24 pm »
Ramos,

Quando a variável global já está definida (sendo "solicitada") na aplicação de destino, o sc já lhe dá a opção de selecionar qual campo será passado como parâmetro pra outra aplicação na hora de fazer a ligação...

Mas se preferir manualmente, dá pra usar a macro sc_set_global (como foi citado pelo Cleyton) no evento onvalidate por exemplo.. ficaria algo assim:

$COD_PROCESSO = {COD_PROCESSO_SELETIVO};
 sc_set_global($COD_PROCESSO);

Desta forma, será criada uma variavel em sessão chamada COD_PROCESSO, com o conteúdo do campo {COD_PROCESSO_SELETIVO}.. Assim, basta utilizar [COD_PROCESSO] no sql da próxima aplicação (destino)...

Note que se vc tentar este mesmo processo num botão PHP, o valor do campo não será gravado em sessão, pois o mesmo precisaria ser gravado em sessão antes da execução do botão..

Tente verificar na aplicação de "destino", em Aplicações -> Variáveis Globais, se a variável global está sendo "requisitada"... e defina ela como variável de Sessão e de Entrada.

Espero ter ajudado.

Att.
Robson

ramosinfo

  • Intermediário
  • ***
  • Mensagens: 149
Re: No filtro, ao escolher ir a outra aplicação
« Responder #13 Online: Janeiro 20, 2010, 03:55:45 pm »
Então só pode ser erro no ScriptCase, porque fiz exatamente isso que vc falou, mas continua não funcionando.

Não era para aparecer em "Aplicações/Variáveis Globais" essa variavel Global criada no evento onChange? Utilizando:

$COD_PROCESSO = {COD_PROCESSO_SELETIVO};
 sc_set_global($COD_PROCESSO);

Se era pra aparecer, não aparece. Não tem como configurar essa variável global criada no controle, dentro do evento onChange. Já tentei isso muitas e muitas vezes. E não aparece.

Já o formulário de destino, tá tudo ok, tem a variável, é saida, é de sessão. Só o controle, que é o incial, é que não tem a varável, porque o ScriptCase não o cria com o sc_set_global lá.

robsonsilva

  • Visitante
Re: No filtro, ao escolher ir a outra aplicação
« Responder #14 Online: Janeiro 20, 2010, 04:00:35 pm »
Ramos,

Só vai aparecer em "Aplicação -> Variáveis globais" no formulário de Destino, e não no controle... e lá tem que configurar esta variavel como de Entrada.. tenta mudar pra ver se funciona...

Att.
Robson