[RESOLVIDO] Aplicação "Blank" chamando Aplicação GRID e Iniciá-la em CONSULTA

Boa tarde a todos!

Tenho a seguinte situação:

  1. Preciso chamar uma aplicação GRID que possui o módulo “Filtro” e “Consulta” ativados.
  2. Consigo chamar a aplicação, passando parâmetros e tudo, mas não consigo fazê-la entrar pelo módulo “Consulta”, que é o que preciso. Ela cai direto no módulo “Filtro”.

Como faço isso, visto que estou numa aplicação “Blank”?

Código Utilizado:


<?PHP echo str_pad($CP_Top_Pa_Id,3,"0",STR_PAD_LEFT);?>

-x-

Obrigado a todos que puderem ajudar…

JamTC
?)

Mande a consulta iniciar pela consulta em vez pelo filtro.

https://www.scriptcase.com.br/docs/pt_br/v81/aplicacoes-de-consulta/consulta/modulos-da-grid

Oi Haroldo!

Boa tarde…

Não poderei fazer isso porque a aplicação também é utilizada no modo “Filtro” -por padrão- por outros usuários.

:frowning:

quando for iniciar pelo flltro use: sc_apl_conf com opção start e filter

Oi Haroldo,

Também não resolve, isso porque a aplicação por padrão deve entrar em modo “Filtro”.

Preciso de uma solução vinda do módulo “Blank”.

:frowning:

Mas se você tem como controlar quando entrar em modo filtro ou diretamente pela consulta, não vejo problema.

No menu use a macro que inicia pelo filtro.
na blank reset a macro. sc_apl_conf(“minha_consulta”, “start”, “”); //<<<— nunca testei

Não vejo dificuldade nisso.

Pode haver sim variáveis de controle interno ou em sessão que atuem no modulo a ser carregado primeiro pelo grid. Mas não é documentado. Mas a macro que sitei irá justamente fazer isso.

Entendo sua necessidade mas não entendo sua dificuldade.

Oi Haroldo,

Bom dia!

Após seguir a sua dica consegui entender e resolver meu problema e, sendo assim, posto aqui a solução:

-x-

1. Na aplicação “Blank” tem-se de colocar da forma como informei no post inicial;

2. Na aplicação “Grid” tem que tratar a variável (…passada pela “Blank”…) em FILTRO na parte “Filtro Avançado -> Eventos -> OnFilterInit” para daí redirecionar novamente para a própria “Grid” com a nova configuração inicial;

[i]//* Reconfigura o aplicativo para chamada vinda da DashBoard
if ( [AcessoExterno] == “DashBoard” )
{
[AcessoExterno] = “DashBoard-IN”;

sc_apl_conf('grid_ContasPagar', 'start', '');
sc_redir('grid_ContasPagar', pa_Id=[pa_Id]);

}[/i]

3. Por fim, após mostrar a listagem desejada, ou seja obtendo-se a consulta, ao clicar no botão voltar o seguinte código será executado:

//* Impede acesso a filtragem de consultas para usuários externos (SPs).
if ( [AcessoExterno] )
{
sc_reset_global ([AcessoExterno]);
echo ‘’;
}

Código esse que também deve estar em FILTRO na parte “Filtro Avançado -> Eventos -> OnFilterInit” . Esse código “Resseta” a váriável global [AcessoExterno] e fecha a janela onde a aplicação foi aberta, deixando tudo como antes para que a aplicação possa ser acessada pelo modo normal de início, que era entrar pelo modo “FILTRO”.

-x-

Mais uma vez obrigado ao sr. Haroldo pela pronta resposta e atenção,

JamTC
:wink:

Muito bom.
Já ia perguntar para você a respeito.