Autor Tópico: Abrir um grid consulta com FILTRO aplicado  (Lida 822 vezes)

bra700

  • Novato
  • *
  • Mensagens: 10
    • Email
Abrir um grid consulta com FILTRO aplicado
« Online: Dezembro 09, 2015, 05:15:19 pm »
Pessoal,

Estou com a seguinte situação:

Tenho um grid consulta onde são apresentados os registros de uma tabela "DESPESAS".

Esta tabela terá muitos registros e eu quero mostrar apenas os registros dos últimos 30 dias como se o usuário tivesse clicado no botão "PESQUISA AVANÇADA", preenchido o intervalo de datas e clicado novamente o botão "PESQUISA AVANÇADA" para aplicar o filtro.

Não quero abrir o grid no módulo "FILTRO" para usuário fornecer o intervalo de datas e depois clicar "PESQUISA AVANÇADA", quero abrir o grid já FILTRADO com o intervalo de datas.

Caso o usuário queira alterar o intervalo de datas posteriormente ou mesmo fornecer mais critérios para o filtro poderá fazer, aí sim, clicando "PESQUISA AVANÇADA" e reaplicando o filtro.

Alguma sugestão?

Obrigado.

James.

Kleyber

  • Expert
  • *****
  • Mensagens: 2232
    • Email
Re:Abrir um grid consulta com FILTRO aplicado
« Responder #1 Online: Dezembro 09, 2015, 05:24:26 pm »
James,

Se entendi bem o teu caso, o lance seria já fazer o filtro dos últimos 30 dias na query principal, e no filtro, usar a macro SC_WHERE_CURRENT (acho que é isso), pra modificar o filtro do SQL principal e fazer o que precisa...

Obs.: Não testei.
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

bra700

  • Novato
  • *
  • Mensagens: 10
    • Email
Re:Abrir um grid consulta com FILTRO aplicado
« Responder #2 Online: Dezembro 09, 2015, 05:45:59 pm »
Kleyber,

Eu não estava querendo mexer no SQL principal da consulta por meio de macros, mas se eu não encontrar a solução terei que ir por este lado mesmo.

O objetivo era utilizar o filtro como se o usuário tivesse aberto a aplicação em modo GRID, clicado em "PESQUISA AVANÇADA", fornecido o intervalo de datas e depois clicado em "PESQUISA AVANÇADA" para aplicar o filtro.

Até consegui definir os critérios (intervalo de datas) do filtro utilizando o fonte abaixo no evento onScriptInit do Filtro quando faço a aplicação ser executada em modo FILTRO:

{DtDespesa_dia}= date("d",strtotime(date("Y/m/d")."-1 month"));
{DtDespesa_mes}= date("m",strtotime(date("Y/m/d")."-1 month"));
{DtDespesa_ano}= date("Y",strtotime(date("Y/m/d")."-1 month"));

{DtDespesa_input_2_dia}= date("d");
{DtDespesa_input_2_mes}= date("m");
{DtDespesa_input_2_ano}= date("Y");

Só falta fazer um CLICK Automático no botão "PESQUISA AVANÇADA".

Obrigado por enquanto pela sua ajuda.

James.

Haroldo

  • Expert
  • *****
  • Mensagens: 6264
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Abrir um grid consulta com FILTRO aplicado
« Responder #3 Online: Dezembro 10, 2015, 09:43:54 am »
Se voce quer um filtro default para sua consulta o procedimento é usar a macro.

Não a SC_WHERE_CURRENT.

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