AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.09.2021, 10:30   #1  
oleggy is offline
oleggy
Участник
 
185 / 26 (1) +++
Регистрация: 03.12.2019
Адрес: Россия
вопрос про логику работы accessRightsList
Привет.
Подскажите логику работы таблицы accessRightsList.
Если я создал элемент menuitem с названием пусть MyMenuItem , поместил его в Мenu + присвоил ему СonfigurationKey / SecurityKey.
То после этого я думал данный элемент появится в accessRightsList, но его там не оказалось.
Проверил, обнаружил что доступ к данному пункту MyMenuItem появился только у двух групп доступа.

Вопрос 1. подскажите по какой логике Аксапта решила дать доступ к этому MyMenuItem только этим двум группам? Почему не всем?

Если я допустим исправил доступ. У этих двух групп убрал доступ и третьей группе (новой) дал доступ.
В таблице accessRightsList теперь появились записи, где elementName = 'MyMenuItem' а уровень доступа соответствует тому чему я указал вручную.

Вопрос 2. Существует ли AX класс для работе c таблицей accessRightsList ? В котором уже заложена логика (исходя из того для какого элемента я хочу установить права) в каких случаях добавлять в таблицу в каких обновлять а в каких удалять записи оттуда.

Последний раз редактировалось oleggy; 27.09.2021 в 11:18.
Старый 27.09.2021, 13:45   #2  
online
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,552 / 2498 (91) +++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Там используется наследование.
Поэтому если вы дали доступ на SecurityKey то доступ на зависимые от него объекты в этой табличке может быть не прописан. Как правило он прописывается когда доступ отличается. т.е. система как бы экономит число записей, не делает их если через наследование и так понятно какие права будут.
Старый 28.09.2021, 10:30   #3  
oleggy is offline
oleggy
Участник
 
185 / 26 (1) +++
Регистрация: 03.12.2019
Адрес: Россия
Подскажите еще:
1. А СonfigurationKey получается никак не влияет? Заметил что у accessRightsList только поле SecurityKey есть. Просто до конца не разобрался с логикой.

2. Как можно узнать id по текстовому имени SecurityKey ?

3. Как можно перебрать все MenuItem, можете пример кода сбросить?
Старый 28.09.2021, 11:19   #4  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,464 / 997 (36) +++++++
Регистрация: 22.07.2003
Адрес: МО
Миниатюры
Нажмите на изображение для увеличения
Название: CaptureAccessRightsList.JPG
Просмотров: 83
Размер:	143.8 Кб
ID:	13240  
За это сообщение автора поблагодарили: dech (10).
Старый 28.09.2021, 14:44   #5  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,005 / 1103 (41) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от oleggy Посмотреть сообщение
2. Как можно узнать id по текстовому имени SecurityKey ?
Сложно представить ситуацию, при которой это может понадобится, обратная операция еще может встречаться.
Но если уж очень нужно, то можно перебрать все существующие и сравнивать с нужной строкой. Хотя сколько это будет выполняться другой вопрос.
Что-то типа (естественно, не проверял):
X++:
    Dictionary          dictionary = new Dictionary();
    DictSecurityKey     dictSecurityKey;

    for (idx=dictionary.securityKeyCnt(); i; i--)
    {
        dictSecurityKey = new DictSecurityKey(dictionary.securityKeyCnt2Id(i));
       dictSecurityKey .name() == 'Нечто'
Возможно вопрос был не про это, а про то, как получить в коде ИД зная как пишется наименование, то это просто:
X++:
securityKeyNum(LedgerTables)
PS: посыпаю голову пеплом, оказывается просто:
X++:
new Dictionary().securityKeyName2Id(elemName);
даже пара использований в стандартном приложении есть.

Последний раз редактировалось Raven Melancholic; 28.09.2021 в 14:48. Причина: Пример securityKeyName2Id приложил
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вопрос по добавлению складской аналитики в Dynamics 365 (AX7) Evgee DAX: Программирование 9 04.02.2018 17:43
Расскажите кто-нибудь логику работы LedgerBondServer_RU и иже с ними ... TasmanianDevil DAX: Программирование 10 12.12.2007 11:55
Использование профилировщика и толкование результатов его работы belugin DAX: Программирование 3 22.11.2005 16:56
расчеты с персоналом. НДФЛ. вопрос чайника shumelka DAX: Функционал 2 25.03.2004 11:36
Организация работы программистов Андре DAX: Прочие вопросы 34 29.05.2002 13:16
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 05:20.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.