Hoje vou mostrar uma dica útil para controlar o cadastro em alguns campos no Protheus.
Vira e mexe, me perguntam se tem como bloquear algum campo em cadastro do Protheus, liberando somente para alguns usuários. Pois bem, o procedimento para isso é bem simples.
- Criar um parâmetro no configurador, por exemplo MV_X_ACESS, com códigos de usuários que são liberados para editar o campo. O conteúdo deve ficar com os códigos separados por algum caracter como ponto e vírgula: 000000;000002;000048; (os códigos de usuários você vê no cadastro de usuários pelo Configurador, o 000000 é administrador)
- No campo que você deseja fazer a tratativa do bloqueio, entre no Configurador em Base de dados, e encontre o campo, clique em editar, ai em Modo de Edição, você coloca assim, RetCodUsr() $ GetMV(‘MV_X_ACESS’) isso vai fazer com que o campo só seja editável, se o código do usuário logado no sistema, estiver dentro do parâmetro
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Achei ótima sugestão.
Ficou show.
Opa, obrigado Súlivan.
Grande abraço.
Parabéns, ótimo post !
A Tovs tem um FAQ sobre o assunto também, fazendo a mesma coisa de outra maneira:
https://centraldeatendimento.totvs.com/hc/pt-br/articles/360017681391-MP-ADVPL-Restringir-o-acesso-do-usu%C3%A1rio-para-alterar-informa%C3%A7%C3%A3o-de-um-campo
Obrigado pelo comentário Miguel.
Desconhecia esse FAQ, a diferença dele para esse artigo, é que nesse utilizamos a função RetCodUsr() e um parâmetro, lá eles usam uma variável pública e um texto chumbado.
Grande abraço, obrigado pela contribuição.
Olá Boa tarde,
Como ficaria se por exemplo fosse com grupo de usuários?
Boa tarde Douglas, tudo joia?
Você poderia fazer uma User Function, com a seguinte lógica:
1. Usar a função FWSFUsrGrps para retornar todos os grupos que o usuário tem acesso
2. Você define quais grupos podem editar um campo, colocando eles em um parâmetro, exemplo MV_X_GRTST
3. Faz um for no array gerado pelo passo 1, e ai a cada loop do For você faz um teste se o grupo atual esta contido no parâmetro
4. Se algum estiver, você flaga a variável como .T.
No caso, temos um Ti Responde pronto, que esta agendando para ir ao ar ano que vem, que tem o prw com a lógica acima desenvolvida. Se você for um assinante premium, e tiver interesse, nos mande um email, que lhe enviamos o conteúdo de forma antecipada.
Tenha um ótimo e abençoado fim de semana.
Um grande abraço.