Publicaciones etiquetadas ‘2009’

Copiar menu favoritos

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en X++

Desde la versión 4 de Dynamics Ax, los usuario tienen la opción de tener un menú de favoritos, donde poder arrastrar todos aquellos accesos a formularios, informes que usan de forma habitual, así como poner accesos a un mismo formulario con filtros predefinidos.

Uno de los problemas que nos podemos encontrar dentro de un mismo departamento, es tener varios usuarios que realizan la misma tarea, y querer copiar el menú de favoritos de un usuario a otro, para no tener que volver a crearlo, para ello utilizaremos el siguiente Job.

UserA = Uusuario Origen

UserB = Usuario destino

server static void FavoritesJob(Args _args)
{
 
	SysPersonalization 		FromSysPersonalization;
	SysPersonalization 		ToSysPersonalization;
	UserId 					FromUserId	='UserA';
	UserId 					ToUserId  	='UserB';
	;
 
	ttsbegin;
 
	// Paso 1 - Borramos el menu de favoritos del usuario destino (UserB)
 
	while select forupdate ToSysPersonalization
		  where ToSysPersonalization.ElementType==UtilElementType::UserMenu
			 && ToSysPersonalization.UserId==ToUserId
	{
		ToSysPersonalization.doDelete();
	}
 
	// step 2 - Copiamos el menu de favoritos del ususario A al usuario B
 
	while select FromSysPersonalization
		  where FromSysPersonalization.UserId==FromUserId
			 && FromSysPersonalization.ElementType==UtilElementType::UserMenu
	{
		ToSysPersonalization.data(FromSysPersonalization);
		ToSysPersonalization.UserId=ToUserId;
		ToSysPersonalization.doInsert();
	}
 
	ttscommit;
}