Filtro SQL Filiais de Acesso do Usuário

Alguém conhece uma função forma simples para filtrar as filiais que o usuário tem acesso em uma consulta SQL ? Sempre me deparo com essa necessidade ao montar consultas de relatórios ou mesmo de rotinas, para restringir as filiais que o usuário tem acesso no sistema. Já procurei algumas funções mas só encontrei são telas para o usuário selecionar as filiais, estava procurando algo mais simples só mesmo com uma listagem das filiais para usar na consulta SQL.

1 curtida

@cirilorocha boa tarde.

Tente esse comando aqui.

aFiliais := LoadFils()

@felipe.caiado testei essa função, mas ela não serve porque está retornando todas as filiais, sem restringir apenas as que o usuário tem acesso.
Até achei uma que retorna só as filiais com acesso FWEmpLoad(), mas ela retorna um array com algumas posições, então eu precisaria converter em uma expressão SQL.
Achei também agora a FWSQLUsrFilial() que retorna uma expressão SQL pronta, mas não tem documentação no TDN, não sei se poderia usar.

1 curtida

Bom dia.

Pode usar sim essa função.

Segue exemplo:

cUsrFilFilter := FWSQLUsrFilial(cTable)
If !Empty(cUsrFilFilter)
    cWhere += " AND " + cUsrFilFilter
EndIf