No vídeo de hoje, vamos demonstrar em como buscar quais usuários tem acesso a determinado módulo do Protheus através de uma query.
A dúvida de hoje, nos perguntaram, se seria possível através de uma query no banco de dados, retornar os usuários que tenham acesso a um determinado módulo do ERP.
Pensando nisso, montamos esse exemplo, onde demonstramos em como filtrar e relacionar as tabelas SYS_USR e SYS_USR_MODULE para buscar as informações desejadas.
Segue abaixo o vídeo exemplificando:
E abaixo o código da query:
SELECT USUARIO.USR_ID, USUARIO.USR_NOME, MODULO.USR_MODULO, MODULO.USR_CODMOD FROM SYS_USR AS USUARIO INNER JOIN SYS_USR_MODULE AS MODULO ON ( USUARIO.USR_ID = MODULO.USR_ID AND MODULO.USR_ACESSO = 'T' AND MODULO.USR_MODULO IN ('7', '16') AND MODULO.D_E_L_E_T_ = ' ' ) WHERE USUARIO.USR_MSBLQL != '1' AND USUARIO.D_E_L_E_T_ = ' ' ORDER BY USR_ID
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Seria legal tambem saber quais são as rotinas, seria possivel?
Bom dia Everton, tudo joia?
Sim, adicione um join entre a SYS_USR_MODULE com a MPMENU_MENU, e depois com as MPMENU_ITEM, MPMENU_FUNCTION e MPMENU_I18N.
Ai com isso, você consegue filtrar as rotinas contidas em um menu.
Obs.: No dia 02/10 vai subir um artigo sobre uma query com exemplo de JOIN entre as tabelas MPMENU_MENU, MPMENU_ITEM, MPMENU_FUNCTION e MPMENU_I18N, se quiser aguardar, ai acho que vai conseguir te dar um norte para o seu cenário.
Ou se você for um assinante premium, pode solicitar com antecedência o conteúdo do artigo, nos enviando um email – https://terminaldeinformacao.com/contato/
Tenha uma ótima e abençoada sexta feira.
Um grande abraço.