Acceso Axapta una instancia por usuario
Escrito por René Roca el . Posteado en X++Si deseamos controlar en acceso por usuario en Dynamics Ax y que un usuario solo tenga abierta una sesión y una licencia, impidiendo que un usuario tenga dos instancias de Dynamics AX abiertas a la vez, podemos realizar la siguiente modificación en la clase Info, método StartupPost
void startupPost() { int cuentaSesionActiva = 0; UserId IdUsuario; SysClientSessions _SysClientSessions; ; IdUsuario = curuserid(); // Capturamos el id del usuario while select RecId from _SysClientSessions order by login_time desc where _SysClientSessions.userId == curuserid() && _SysClientSessions.Status == 1 { if (_SysClientSessions.RecId) cuentaSesionActiva = cuentaSesionActiva + 1; //Acumula el número de logins activos del usuario en el sistema else cuentaSesionActiva = 0; } if (cuentaSesionActiva > 1) { infolog.shutDown(false); } }