Envio de parâmetro de Grid para Controle

Boa pessoal
Em uma Grid:
Funcionando-><a href='../minha_app_control/index.php?num_ordem_servico=$ordemServico&idempresa=$idEmpresa&data_ordem_servico=$dataEntradaOsBanco&vr_tt_ordem_serv=$vr_tt_ordem_serv&status_pg=$status_pg&status_os=$status_os'>
Não Funciona->sc_link(meu_campo,minha_app_control.php,num_ordem_servico=$ordemServico;idempresa=$idEmpresa;data_ordem_servico=$dataEntradaOsBanco;vr_tt_ordem_serv=$vr_tt_ordem_serv;status_pg=$status_pg;status_os=$status_os, "Lança Exame OS.","modal",600,600);
Inspecionando os elementos está assim:

<a class="scGridFieldOddLink 
   css_cad_os_grid_line" style="" 
      onmouseout="nm_apaga_hint()" 
      onmouseover="nm_mostra_hint(this, event, 'Lança Exame OS.')" 
      href="javascript:nm_gp_submit5('/scriptcase/app/NOME_PROJETO/minha_app_control/', 
      '/scriptcase/app/NOME_PROJETO/minha_grid/', 
      '@SC_par@3687@SC_par@minha_grid@SC_par@770720e10fb90cc6cce05ff24859a524', 
      'modal', 
      '', 
      '600', 
      '600')
    ">
</a>

Erro apresentado:
Undefined variable: num_ordem_servico
Undefined variable: idempresa
Undefined variable: data_ordem_servico
Undefined variable: vr_tt_ordem_serv
Undefined variable: status_pg
Undefined variable: status_os

Quando eu uso <a href=’…/minha_app… funciona normalmente os dados são transferidos.
Quando eu uso sc_link(meu_campo,minha_app_control.php, aparece o erro acima citado.

As variáveis estão sendo inicializadas em que evento?

onRecord da grid.

Bom dia Sr. Celso,

Referente ao problema, na verdade não é um bug.
O senhor deve usar variáveis globais para resgatar o valor dos parâmetros da macro sc_link.
​ex: [num_ordem_servico];

Ótimo dia.


Atenciosamente,
Equipe Netmake

Sr. [size=1em][font=verdana]Artur Oliveira
Estou utilizando a mesma app em ambos os casos com as mesmas variáveis.
Essa sua informação achei um pouco obscura.
Em minha app de controle recupero as informações via $_GET
[/font][/size] if(isset($_GET['num_ordem_servico'])){ $num_ordem_servico = $_GET['num_ordem_servico']; } [size=1em][font=verdana]
No aguardo.[/font][/size]

Essa macro, só aceita parâmetros como variáveis globais ou {campo_da_grid} como parâmetros, como você mesmo colocou essas variáveis $locais não aceitou.

Exemplo corrreto para uso:
if ({tp_cli} == “F”) {
sc_link (tpcli, fisica.php, empresa=[glo_emp]; cpf={cpf}," Pessoa Física “, “modal”, 500, 700);
} else{
sc_link (tpcli, juridica.php, empresa=[glo_emp]; cnpj={cnpj},” Pessoa Jurídica ", “iframeR”);
}

[font=verdana]Caro Jailton Bom dia.[/font]
[font=verdana]Muito bem observado e agradeço muito.[/font]
[font=verdana]Com base nisso em minha app consulta fiz assim:[/font]

...
[var_01_s]=$var_01;
[var_02_s]=$var_02;
[var_03_s]=$var_03;
[var_04_s]=$var_04;
[var_05_s]=$var_05;
[var_06_s]=$var_06;
...
sc_link(cad_os,control_minha_app.php,var_01=[var_01_s];var_02=[var_02_s];var_03=[var_03_s];var_04=[var_04_s];var_05=[var_05_s];var_06=[var_06_s], "Lança OS.","modal",600,600);

[font=verdana]Nos nomes das variáveis são meramente ilustrativos.[/font]
[font=verdana]Nessa consulta as variáveis globais [xxx_xx_s] estão como saída.[/font]
[font=verdana]Ficando assim minha app de controle:[/font]

...
$var_01=[var_01_s];
$var_02=[var_02_s];
$var_03=[var_03_s];
$var_04=[var_04_s];
$var_05=[var_05_s];
$var_06=[var_06_s];
...

[font=verdana]Nessa app de controle as variáveis globais [xxx_xx_s] estão como entrada.[/font]

[font=verdana]Ainda não consigo capturar os dados que vem da grid com essa configuração.[/font]

Se mesmo fazendo assim não deu certo, próximo passo: bugs@netmake.com.br

O erro ocorre na aplicação de consulta ou na que você está se referenciando?

O erro ocorre em desenvolvimento ou em produção?

1o. Estou em uma grid que chama um controle.
2o. Esse controle não recebe os dados que vem da grid.
3o. Desenvolvimento.
4o. Suspeito que seja no controle por não receber os dados que vem da grid.

Como informei no post anterior a macro sc_link passa os parâmetros via variável global.

Definindo os parâmetros na consulta como mostra abaixo:
$valor_1 = 1;
sc_link(ligacao,control_scLink.php,parametro_1=$valor_1;parametro_2={cityid});

os valores da variável local $valor_1 e do campo {cityid} será armazenado em 2 variáveis globais: parametro_1 e parametro_2.
Esse é o funcionamento da macro, recupera os valores informado e armazena em variáveis globais.
Não necessariamente o senhor deve informar variáveis globais na macro, ex: sc_link(ligacao,blank_scLink.php,parametro_1=[valor_1]);
pode passar qualquer valor, tanto variável local, global, campos ou ate mesmo um valor direto na macro ex: sc_link(ligacao,blank_scLink.php,parametro_1=1 ; parametro_2=“valor do paramtro 2”);

para recuperar o valor basta acessar a variável global parametro_1 e parametro_2 na aplicação controle:
echo [parametro_1];
echo [parametro_2];

Espero ter esclarecido o funcionamento, para qualquer dúvida estamos disponíveis para ajuda-lo.


Atenciosamente,
Equipe NetMake