Acessando permissões de usuários utilizando X++
Fala galera, hoje vou falar de um assunto bem interessante, e não encontrei ainda na net. Dei uma pesquisada fiz uns testes e espero que gostem.
Vamos lá…
Como todos sabem o Microsoft Dynamics AX possue as Security Keys que controlam o acesso de usuários. Com a security key bem configurada é possível dar acesso diferenciado em alguns campos ou até mesmo fazer validações diferentes de acordo com cada usuário.
Vou colocar logo abaixo algumas validações que podem ser feitas no “X++”, levando em consideração as security keys.
//Start
if (hasSecurityKeyAccess(securitykeyNum(BasicLedger), AccessType::View))
{
//Executa o código se o usuário tiver acesso.
}
//End
Para verificar se o usuário tem acesso a uma determinada tabela existe também uma função pré determinada assim como os campos de uma tabela também veja:
//Start
if (hasTableAccess (TableNum (custTable) AccessType::Edit))
{
//Executa o código se o usuário tiver acesso.
}
//End
//Start
if (hasFieldAccess (TableNum (custTable fieldnum) (custTable, AccountNum) AccessType::Delete))
{
//Executa o código se o usuário tiver acesso.
}
//End
O Base Enum “AccessType”, determina o tipo de acesso que o usuário terá.
Todos os métodos estão na classe Global, sendo assim estes métodos podem ser chamados em qualquer momento no X++.
PS: Galera, desculpa o tempo sem postar, é que mudei de trampo e ta uma correira danada! Mas enfim, espero que gostem.
Abraços,
Peterson Ferreira


