[RESOLVIDO] sc_select_where(ADD)

BUG ANTIGO

ao usar o sc_select_where(ADD) no onscriptinit da grid com qualquer condição como no exemplo abaixo o filtro executa conforme a condição porém ao usar quick search para de funcionar dando erro de HTML ao recontruir a grid

if ([usr_empresa] <> 4) {
sc_select_where(add) = “WHERE empresa = [usr_empresa]”;
}
else{
//sc_select_where(add) = “AND campoX > [variavel_global]”;
}

Vide o uso correto da macro na documentação.

usei inclusive o modelo da documentacao nao e erro pois funciona perfeitamente
a condicao do sql é executado o que da bug é no quicksearch ao fazer a pesquisa da erro de html no scriptcase

O seu uso está incorreto.

Por isso ocorre erro no quicksearch.

e onde tem a documentação que fala da forma correta?

pois na documentacao da macro nao fala nada

Na documentação da macro há um exemplo da forma correta.
Mas, informo abaixo a diferença dos dois códigos:

O seu:

if ([usr_empresa] <> 4) {
sc_select_where(add) = "WHERE empresa =  [usr_empresa]";
}
else{
//sc_select_where(add) = "AND campoX > [variavel_global]";
}

O seu de forma correta:

if ([usr_empresa] <> 4) {
  if(empty({sc_where_current})){
       sc_select_where(add) =  " WHERE empresa =  [usr_empresa] ";
  }else{
    sc_select_where(add) = " AND empresa =  [usr_empresa] ";
   }
}else{
   if(empty({sc_where_current})){
         sc_select_where(add) = " WHERE campoX > [variavel_global] ";
   } else{
       sc_select_where(add) = "  AND campoX > [variavel_global] ";
  }
}

funcionou
obrigado vi na do documentação porem la nao explica o porque do if empty passou despercebido

Tranquilo!

Adiciona o titulo da primeira postagem “Resolvido” por favor!