SC 8.1.052 - Consulta Filtro Passagem variável global SQL

Amigos,

Notei que no SC 8.1.052

Ele não esta passando o filtro na hora para a SQL da consulta, tipo criei 2 variáveis no Filtro da consulta: DataInicial e DataFinal e no Onvalidate da mesma:
[glo_DataInicial]={DataInicial}; // AAAA-MM-DD
[glo_DataFinal]={DataFinal}; // AAAA-MM-DD

Defini elas como variáveis global de Saída.

E na SQL da consulta coloquei o WHERE DataPagamento>=’[glo_DataInicial]’ AND DataPagamento<=’[glo_DataFinal]’, tentem alterar essas datas varias vezes no mesmo,
filtro e pesquisar o SC não repassa os valores digitados na hora.

Jailton,

Essas globais estão marcadas como sessão?

coloque como variavel de entrada testa os valores.

aproveite e de um echo no evento onAppInit da consulta em {DataInicial} e veja o é é mostrado.

Esta bugado mesmo, e atualização faço manual como sempre, e sempre ‘usei’ esse esquema de passar as globais para o SQL no Filtro Onvalidate e sempre deu certo.

  • Interessante é que no cabeçalho coloquei para mostrar ela em [valor] ele mostra a global lá normal e atualizada só não passa para o SQL inicial da consulta.

eu nunca uso a global dentro do sql, sempre uso a macro:

if (empty({sc_where_atual})){
sc_select_where(add) = “where campoX > [variavel_global]”;
}
else{
sc_select_where(add) = “AND campoX > [variavel_global]”;
}

Acho que o problema está nos formatos das datas, poe em Debug.

Ok, removi as globais do SQL principal e coloquei no onScriptInit:

if (empty({sc_where_atual})){
sc_select_where(add) = “WHERE DataPagamento>=’[glo_DataInicial]’ AND DataPagamento<=’[glo_DataFinal]’”;
} else {
sc_select_where(add) = “AND DataPagamento>=’[glo_DataInicial]’ AND DataPagamento<=’[glo_DataFinal]’”;
}

Por hora resolveu, mas antigamente funcionava, direto no SQL, pegando o valor gerado no Filtro - OnValidate.

Jailton, pelo que entendi, o select do SQL é montado na carga inicial da consulta e mantido como o original.

Se a aplicação se inicia pelo filtro pode funcionar, mas se ela inicia pela consulta para depois selecionar o filtro, acho que falha mesmo.

me lembro que passei por isso na v5.

é BUg, pois eu uso global no WHERE das consultas, sempre funcionou

Eu tenho o um ticket em aberto e mandei para bugs@netmake.com.br

Agora é ficar cobrando e aguardar… mas caso atualizou dá para usar o sc_where_atual igual o Haroldo passou.

no meu caso si eu atualizar e isso acontecer não vai dar não , tenho isso em mais de 60 consultas em um projeto (que só tem consultas)