Autor Tópico: ** RESOLVIDO ** Como fazer link em campo, criar var.global e chamar outra apl?  (Lida 2415 vezes)

rrma

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 816
  • Quem com porcos se mistura tanto bate até que fura
    • Email
Olá a todos,

Gostaria de uma ajuda numa consulta simples (grid), onde preciso criar um link em um dos campos, e como ação do clique, preciso colocar o conteúdo do campo numa variável global e chamar um menu tipo árvore.

Alguém me dá uma força?

Obrigado.

Rodrigo Araújo
« Última modificação: Janeiro 22, 2010, 11:33:58 am por Rodrigo Lins »
Rodrigo Araújo

robsonsilva

  • Visitante
Re: Como fazer link em campo, criar var.global e chamar outra apl?
« Responder #1 Online: Janeiro 20, 2010, 11:28:17 pm »
Rapaz.. tu continua por aqui é? hehehe

Quanto a fazer a ligação e chamar o menu árvore, dá pra fazer uma ligação de "campo" pra chamar esse menu...

Mas pra gravar o valor em sessão não consegui pensar em nada "prático" aqui...  dava pra criar uma função e chamar no evento onclick de um novo campo criado, que seria um "clone" do valor do campo que vc deseja mostrar, mas com um link "adaptado", algo do tipo:

{campo_novo} = "<a href='#' onclick='javascript:nome_da_funcao(\"".{campo_original}."\")'>".{campo_original}."</a>";

e a função iria pegar o valor passado como parâmetro, gravar em sessão e redirecionar pro menu... Bizarro não? nada prático... outra forma que pensei agora foi criar uma aplicação "intermediária" entre a grid e o menu, já que o menu árvore não trabalha "nativamente" com variáveis globais...

Por exemplo, criar uma aplicação Blank que iria receber o valor como parâmetro pela grid, gravá-lo em sessão e redirecionar pro menu árvore... ficaria algo assim:

//     Evento OnExecute - Aplicação blank
//         $campo = nome da var global que será criada
//         [valor] = valor que será passado pela grid
//         apl_menu = nome da apl menu árvore
$campo = [valor];   
sc_set_global($campo);
sc_redir(apl_menu);

Depois só precisaria criar a ligação de campo normalmente, apontando pra essa aplicação Blank e passando o campo pra global [valor]..

Com certeza existem formas melhores pra fazer isso, mas enquanto não descobrimos o jeito é quebrar o galho com umas adaptações hehehe

Abraços,
Robson

robsonsilva

  • Visitante
Re: Como fazer link em campo, criar var.global e chamar outra apl?
« Responder #2 Online: Janeiro 20, 2010, 11:39:10 pm »
Ah, Rodrigo...

talvez isso até funcione no próprio menu árvore... no onLoad, coloque algo parecido com o que citei pra apl blank... só não sei se na hora de fazer a ligação, o sc vai interpretar que precisa de um parâmetro.. mas acho que sim.. tenta aí hehe

// Evento onload - Menu árvore
$campo = [valor];   
sc_set_global($campo);

Depois, quando for criar a ligação da grid pro menu, veja se aparece a opção de passar algo como parâmetro pra global [valor]..

Abraços,

Robson

rrma

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 816
  • Quem com porcos se mistura tanto bate até que fura
    • Email
Re: Como fazer link em campo, criar var.global e chamar outra apl?
« Responder #3 Online: Janeiro 20, 2010, 11:42:57 pm »
E aí cabra!

Rapaz, até tinha feito a ligação de campo pra chamar o menu como vc falou, mas pra criar a variável global antes não consegui. Vou tentar a segunda opção que vc falou, com a apl blank.

Com relação à sua segunda resposta, o SC não habilita envio de parâmetro quando o destino é apl menu...
Vou tentando aqui...
Valeu a força!
Rodrigo
Rodrigo Araújo

rrma

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 816
  • Quem com porcos se mistura tanto bate até que fura
    • Email
Re: Como fazer link em campo, criar var.global e chamar outra apl?
« Responder #4 Online: Janeiro 21, 2010, 12:24:01 am »
Robson,

Eu consegui de um jeito meio troncho! Não fiz exatamente como queria, mas parece que vai funcionar.
Usei apl de controle pra selecionar o registro desejado e no onValidate coloquei o seguinte:

$var_matricula = {lote};   lote é um campo da apl de controle
sc_set_global($var_matricula);
sc_redir(treemenu_GerenciadorLotes);


Agora, na apl de menu, eu não consegui exibir a variável $var_matricula como label, mas sei que é possível, pois vi o Rodrigo Lins fazer, só que agora falhou a memória aqui...
Vc sabe como fazer? Já tentei {}, [] e não aparece...

Valeu!
Rodrigo
Rodrigo Araújo

rrma

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 816
  • Quem com porcos se mistura tanto bate até que fura
    • Email
Re: Como fazer link em campo, criar var.global e chamar outra apl?
« Responder #5 Online: Janeiro 21, 2010, 12:32:27 am »
Consegui!

Tava errando em dois pontos:

sc_set_global($var_matricula);  Tinha que tirar o $
No menu usei: "Lote: [var_matricula]"

Valeu!
Rodrigo
Rodrigo Araújo