Acceso Axapta una instancia por usuario

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
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);
	} 
}

Etiquetas:, , ,

Deja un comentario