El menú de favoritos es una herramienta muy útil en Dynamics
AX. Ha existido desde hace tiempo en todas las versiones de AX
Una consulta común que me ha surgido dentro de la empresa
es, poder copiar los favoritos de un usuario a otro.
De manera estándar no se puede, pero si buscamos un poco
podemos hacerlo con ayuda de un job. Dynamics AX guarda los favoritos en la
tabla SysPersonalization, en el campo “Buffer”.
El siguiente job copia el menú de favoritos del usuario A al
usuario B. Si el usuario B tiene ya favoritos, se perderán, ya que primero han
de ser borrados.
server
static void FavoritesJob(Args _args)
{
SysPersonalization FromSysPersonalization;
SysPersonalization
ToSysPersonalization;
UserId
FromUserId='UserA';
UserId
ToUserId='UserB';
;
ttsbegin;
// Paso 1 – eliminar los favoritos del usuario actual
while
select forupdate ToSysPersonalization
where
ToSysPersonalization.ElementType==UtilElementType::UserMenu
&&
ToSysPersonalization.UserId==ToUserId
{
ToSysPersonalization.doDelete();
}
// Paso 2 – copier favoritos del usuario A
while
select FromSysPersonalization
where
FromSysPersonalization.UserId==FromUserId
&&
FromSysPersonalization.ElementType==UtilElementType::UserMenu
{
ToSysPersonalization.data(FromSysPersonalization);
ToSysPersonalization.UserId=ToUserId;
ToSysPersonalization.doInsert();
}
ttscommit;
}
No hay comentarios:
Publicar un comentario