Existem situações em que é necessário obter informações sobre os módulos e permissões de acesso de um usuário no sistema Protheus. Embora não exista uma função específica para isso, é possível utilizar funções como FWSFAllUsers, PswOrder, PswSeek e PswRet para gerar um resultado semelhante.

Utilizando Funções para Obter Informações de Acesso

É possível criar uma função que utilize as funções mencionadas acima para obter as informações desejadas. Por exemplo:

#include "protheus.ch"

function u_TestUsr()
local aUsers as array

aUsers := u_allUsers()
varInfo("Users", aUsers)

return nil

user function allUsers()
local aUsrAux as array
local aUsers as array
local nLoop as numeric
local nOrder as numeric

nOrder := PswOrder(1)
aUsrAux := FWSFAllUsers()
aUsers := {}

for nLoop := 1 to len(aUsrAux)
PswSeek(aUsrAux[nLoop][2])
aAdd(aUsers, PswRet())
next

PswOrder(nOrder)

return aUsers

 
Essa função pode ser utilizada para obter as informações de acesso do usuário e realizar ações necessárias com base nessas informações.

Referências Adicionais

Para mais informações sobre as funções utilizadas, você pode consultar as seguintes referências:
- FWSFAllUsers
- PswOrder
- PswSeek
- PswRet