[RESOLVIDO]Clausula where duplicada

Bom dia, tenho um gráfico com filtro onde eu inicio carregando com as datas atuas desta forma
if (empty({DATA_ALTERACAO_1})){
sc_select_where(add) = “where ((DATA_ALTERACAO between ‘2021-09-21’ and ‘2021-09-21’))”;
}

Porém depois se eu quiser realizar outro filtro tenho uma erro, pois ele tenta criar duas clausulas where.
select count(*), sum(QTDE_ATIVIDADE),USUARIO_NOVO from WMS.VSDAHBOARD_EXPED_ATV_PRIOR where ((DATA_ALTERACAO between '2021-09-22' and '2021-09-22'))where ((DATA_ALTERACAO between '2021-09-21' and '2021-09-21')) group by USUARIO_NOVO order by USUARIO_NOVO

Tem alguma forma de remover o primeiro where caso o campo seja preenchido, pesquisei mas não encontrei nenhuma forma de fazer isso

De uma.olhada no web Help como usar a macro sc_select_where(add)

Estou utilizando para gerar o where caso o campo esteja vazio, mas o segundo where é gerado pela aplicação, não sei se não me expressei bem mas eu queria remover esse where que gerei caso o filtro gere o where dele

Olhou no webhelp a macro?

Olhei sim, mas não encontrei nada nesse sentido

Certeza?

No webhelp você vê um If.

1 Curtida

Sim senhor, ja estou utilizando e continuo com o mesmo erro.

Tente fazer igual ao webhelp

E essa data o empty não funciona.

Pois vem nela 0000-00-00

1 Curtida

Eu conheço bem a documentação.

Vc não está usando como ela sugere.

Se If está em uma data que deve ser campo do filtro.

O If do webhelp está verificando a macro sc_where_atual.

Se data_alteracao tem valor oriundo do filtro, não faça nada.

Não vejo lógica nesse seu código.

if (empty(sc_where_atual)){// como está no webhelp
sc_select_where(add) = “where ((DATA_ALTERACAO between ‘2021-09-21’ and ‘2021-09-21’))”;
}
//sem o else para o seu caso.
1 Curtida

Funcionou, não tinha intendido que sc_where_atual era uma função do sc.
Muito obrigado pela ajuda e pela paciencia

Importante sempre nos atermos a documentação e importante também que tenha conseguido resolver o problema.

Ok, só mais uma questão ainda com o filtro, quando ele inicia ele gera o select mais o campo está vazio e se eu pesquisar vou obter um erro, consigo atribuir valor para o campo?

Nas propriedades do campo vc pode atribuir um valor inicial.

Mas isso é de forma fixa, existe alguma outro forma?

isso já não é adicionar a condição dinamicamente?

É sim, porém os campos permanecem sem valores e provavelmente algum usuários irá pesquisar sem inserir o intervalo de datas oque resultará em um erro. E eu queria validar isso também

Deixe a data obrigatória no filtro

Não encontro essa configuração no grafico

No filtro do gráfico?