Olá, tudo bem?

Existem algumas situações em que você não quer dar determinado acesso para vendedores externos da sua empresa. Por exemplo:

Vendedor A não pode visualizar interações do Vendedor B

Nem pedidos, muito menos clientes.

Para isso, cada módulo do sistema tem uma função que pode ser utilizada para criar uma variável que armazena o código do vendedor. Veja:

User Function SIGAFAT()
Public cVendFAT := u_RetVend()
Return

Você cria uma variável pública que guarda o código do vendedor, para ser utilizada em quaisquer pontos de entrada de filtros do Protheus. Então imagine que em determinado PE (Ponto de Entrada), você coloque:

...WHERE A1_VEND1 =  '" + cVendFAT + "' ...

Um exemplo da função u_RetVen() pode ser:

User Function RetVend()
Local aArea := GetArea()
Local cVend := ""
dbSelectArea("SA3")
dbSetOrder(7)
If dbSeek(xFilial("SA3") + RetCodUsr())
     cVend := SA3->A3_COD
Endif
dbSetOrder(1)
RestArea(aArea)
Return(cVend)

Crie um fonte com todos os módulos que queira fazer filtros globais. É possível fazer funções com SIGAFAT, SIGAOMS, SIGAFIN e por aí vai.

De acordo com sua necessidade, você vai criando as variáveis públicas.

Espero que seja útil a dica.

Abs.