Показать сообщение отдельно
Старый 03.06.2020, 06:33   #2  
oleggy is offline
oleggy
Участник
 
253 / 36 (2) +++
Регистрация: 03.12.2019
Адрес: Россия
Сам нашел немного инфы:
https://community.dynamics.com/ax/f/...agment-96834=1

метод формы SysFovingOrganizeFabilities.saveTree ().

Run this job in AX Client to add all oob role centers to your favorites section in AX Client for easy demo purpose.
X++:
static void AddRoleCentersToFavorite(Args _args)
{
str sDefault ="Default";
SysProfiles uprofile;
MenuFunction mf;
TreeNode treeNode;
    TreeNodeIterator iterator;
    TreeNode newTreeNode;
    UserMenuList userMenu;
    Menu menuNode;
    #AOT
;

 treeNode = infolog.userNode();
    iterator = treeNode.AOTiterator();
    treeNode = iterator.next();
    if (treeNode)
    {
        userMenu = treeNode;

        // find 'My Favorites' user menu; if not found, create one
        treeNode = userMenu.AOTfindChild("@SYS95713");
        if (!treeNode)
        {
            userMenu.createMenu("@SYS95713");
            treeNode = userMenu.AOTfindChild("@SYS95713");
        }
        menuNode = treeNode;

while select ProfileId from uprofile
{

mf = new MenuFunction("DemoRoleCenter"+uprofile.ProfileId,MenuItemType::Action);
mf.AOTsetProperty("Label",uprofile.ProfileId);
mf.AOTsetProperty("ObjectType","Class");
mf.AOTsetProperty("Object","SwitchRoleCenter");
mf.AOTsetProperty("Parameters",uprofile.ProfileId);

mf.AOTsave();
menuNode.addMenuitem(mf);
menuNode.save();
}

mf = new MenuFunction("DemoRoleCenter"+sDefault,MenuItemType::Action);
mf.AOTsetProperty("Label",sDefault);
mf.AOTsetProperty("ObjectType","Class");
mf.AOTsetProperty("Object","SwitchRoleCenter");
mf.AOTsetProperty("Parameters",sDefault);

mf.AOTsave();
menuNode.addMenuitem(mf);
menuNode.save();


        infolog.navPane().refreshFavorites("@SYS95713");

    }
}

Последний раз редактировалось oleggy; 03.06.2020 в 06:35.
За это сообщение автора поблагодарили: S.Kuskov (2).