I found that sometimes when setting up a large amount of users in AX for retail it can lead to sometimes missing a worker relation configuration or missing a retail channel assignment. When this happens it wont break anything but some odd ball things can start to happen. I use the following job to make sure all of the users have at least a worker assignment and are assigned to a retail channel (when valid)
static void CheckUserSetup(Args _args)
{
UserInfo userNames;
DirPersonUser userRelations;
MCRChannelUser retailChannelUsers;
//find any users that are missing either a user relation or retail channel setup
while select * from userNames
outer join userRelations
where userRelations.User == userNames.id
outer join retailChannelUsers
where retailChannelUsers.User == userNames.id
{
//check to see if there is a user relation
if(!userRelations)
{
info(strFmt("No User Relation: %1 (%2)", userNames.id, userNames.name));
}
//check to see if the user is in a retail channel
if(!retailChannelUsers)
{
info(strFmt("No Retail Channel: %1 (%2)", userNames.id, userNames.name));
}
}
}
static void CheckUserSetup(Args _args)
{
UserInfo userNames;
DirPersonUser userRelations;
MCRChannelUser retailChannelUsers;
//find any users that are missing either a user relation or retail channel setup
while select * from userNames
outer join userRelations
where userRelations.User == userNames.id
outer join retailChannelUsers
where retailChannelUsers.User == userNames.id
{
//check to see if there is a user relation
if(!userRelations)
{
info(strFmt("No User Relation: %1 (%2)", userNames.id, userNames.name));
}
//check to see if the user is in a retail channel
if(!retailChannelUsers)
{
info(strFmt("No Retail Channel: %1 (%2)", userNames.id, userNames.name));
}
}
}
No comments:
Post a Comment