Formulario Consulta restrita de acordo com empresa do usuario

Boa tarde Pessoal,
Estou usando a macro a abaixo no evento onScriptInit em uma consulta, iniciando pelo modo consula
Quando a aplicação e processado na primeira vez, ocorre tudo normal, o usario logado acessa apenas as informações da empresa do qual ele faz parte.
NO momento que o mesmo pede “detalhar” e acessa a pesquisa avançada por exemplo para acessara meses diferente do atual a restrição de empresa e perdida, e ele ve todas empresa.

Alguém tem alguma fica de como manter esta restrição?

Segue o codigo que estou usando que no primeiro momento funciona

Att
André
sc_select(my_data, “SELECT login,empresa FROM sec_users
WHERE active<>‘N’ and login=’[usr_login]’”);
if ({my_data} === false)
{
//echo “Access error. Message =”. {my_data_erro};

echo “Não ha dados para serem listados =”. {my_data_erro};
}
else
{
while (!$my_data->EOF)
{
{usuario} = $my_data->fields[0];
{empresa} = $my_data->fields[1];
$my_data->MoveNext();
}
$my_data->Close();
}

if (empty({sc_where_atual})){
sc_select_where(add) = “where anomes=convert(varchar(6),getdate(),112) and cod_emp=’{empresa}’”;
{data}="";

}
else{
sc_select_where(add) = “”;

}

é porque após o filtro o where atual não é mais vazio.

Você deve testar o where do filtro tb.

Existe macro para isso.

Haroldo, td bem

Tem algum exemplo de qual macro ou evento que pode ser feito isso?

Clark obrigado pela dica. anteriormente testei desta forma realizei o teste novamente por desencargo.

Mas o resultado permanece o mesmo.

Agradeço
Att
André

Bom dia Amigos
Resolvido!

Acrescida a macro abaixo nos eventos.

$salva_where_original = {sc_where_orig};

Feita as restrições de usuário no Comando Sql

Desta forma ele respeita a restrição do comando SQL e também do filtro avançado.

Obrigado
Att

Mas como ficou todo o código… posta aí para quem passar pela mesma situação…

Bom dia
Para finalizar e com mais testes no fim tive que retirar a macro $salva_where_original = {sc_where_orig};

Ficou desta forma.

[code]sc_select(my_data, “SELECT cod_rep,cod_emp FROM sec_users
WHERE active<>‘N’ and login=’[usr_login]’”);
if ({my_data} === false)
{

echo “Não ha dados para serem listados =”. {my_data_erro};

}
else
{
while (!$my_data->EOF)
{
{usuario} = $my_data->fields[0];
{empresa} = $my_data->fields[1];
$my_data->MoveNext();
}
$my_data->Close();
}

//pegar data atual
{vardata}=date(‘Ym’);

//pegar a data atual ou a informada
if (empty({anomes}))
{
{anomes}={vardata};
}
else
{
{anomes}={anomes};
}

if (empty({sc_where_atual}))
{

sc_select_where(add) = “where (anomes={vardata} or anomes={anomes}) and cod_emp=’{empresa}”;
}
else{
sc_select_where(add) = “and (anomes={vardata} or anomes={anomes}) cod_emp=’{empresa}”;

	}

[/code]

Att
André

Resolvido.
Abraços a todos que ajudaram.
Att