O menu de favoritos é popular no Dynamics AX.
Uma solicitação comum que recebo dos usuários é: "Ei, gostei do menu de favoritos desse cara, posso copiá-lo para minhas próprias configurações?".
A resposta no padrão Axe é: Não, você não pode. Mas, como quase tudo no AX, isso pode ser feito com uma pequena modificação.
Para poder copiar o menu de favoritos, você precisa saber onde ele está armazenado. Isso é feito na tabela SysPersonalization, no campo 'Buffer'. Estamos procurando registros nesta tabela com o tipo de elemento UserMenu.
O JOB abaixo copiará o menu de favoritos do usuário A para o usuário B. (Se o usuário B tiver uma configuração de menu de favoritos, ele será perdido, pois foi excluído primeiro.)
Favoritos antes de executar o job:
{ SysPersonalization FromSysPersonalization;
SysPersonalization ToSysPersonalization;
UserId FromUserId='UserA';
UserId ToUserId='UserB';
;
ttsbegin;
// step 1 - delete current favorites menu from user
while select forupdate ToSysPersonalization
where ToSysPersonalization.ElementType==UtilElementType::UserMenu
&& ToSysPersonalization.UserId==ToUserId
{
ToSysPersonalization.doDelete();
}
// step 2 - duplicate from user A
while select FromSysPersonalization
where FromSysPersonalization.UserId==FromUserId
&& FromSysPersonalization.ElementType==UtilElementType::UserMenu
{
ToSysPersonalization.data(FromSysPersonalization);
ToSysPersonalization.UserId=ToUserId;
ToSysPersonalization.doInsert();
}
ttscommit;
}
Execute o job e pronto.
Menu de favoritos após executar o JOB:
Nenhum comentário:
Postar um comentário