Показать сообщение отдельно
Старый 06.06.2011, 18:10   #1  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
%2 %1 не инициализированы. Ошибка прав доступа
DAX 2009 SP1 RU6.
В процессе настройки системы каким-то образом в таблице прав скопились ссылки на меню-айтемы, которые отключены конфигурационными ключами. При этом если пользователь входит в группу с такой ссылкой и еще хотя бы в одну другую группу, то при старте клиента выдается сообщение "%2 %1 не инициализированы."

Напрямую докопаться до места выдачи ошибки не получилось, уперлись в системный класс управления правами доступа. Экспериментальным путем найдена указанная причина. Мало ли кому пригодится джобик для поиска проблемных ссылок, запускать пользователю с правами Admin:
X++:
static void securityGroupsFix(Args _args)
{
    AccessRightsList    arl;
    ;

    while select arl
        where //(arl.groupId == '' || arl.groupId == '') &&
              (arl.recordType == AccessRecordType::MenuItemAction ||
               arl.recordType == AccessRecordType::MenuItemDisplay ||
               arl.recordType == AccessRecordType::MenuItemOutput)
    {
        switch (arl.recordType)
        {
            case (AccessRecordType::MenuItemAction) :
                if (!global::hasMenuItemUserAccess(arl.elementName, MenuItemType::Action))
                    info(strfmt("%1 - %2", arl.groupId, arl.elementName));
                break;
            case (AccessRecordType::MenuItemDisplay) :
                if (!global::hasMenuItemUserAccess(arl.elementName, MenuItemType::Display))
                    info(strfmt("%1 - %2", arl.groupId, arl.elementName));
                break;
            case (AccessRecordType::MenuItemOutput) :
                if (!global::hasMenuItemUserAccess(arl.elementName, MenuItemType::Output))
                    info(strfmt("%1 - %2", arl.groupId, arl.elementName));
                break;
        }
    }
}
__________________
Ivanhoe as is..
За это сообщение автора поблагодарили: Logger (10), farlander (1).