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:
1 2 3 |
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:
1 2 3 4 5 6 7 8 9 10 11 |
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.
Fernando Bueno
Atuando desde 2005 no mercado de tecnologia, desenvolvendo e implantando e sistemas gerenciais, sistemas e sites web e ecommerce.
Siga-me no Linked In