21.03.2023, 11:08 | #1 |
Участник
|
Ошибка. Объект "SecurityKeySet" не может быть создан
Добрый день. Хочу выполнить следующий код. Но axapta выдает ошибку:
Объект "SecurityKeySet" не может быть создан Кто-нибудь сталкивался с тем, что не мог создать экземпляр класса SecurityKeySet ? Код выполняю на Ax2012. Изначально, мне нужно определить имеет ли доступ пользователь к классу или форме. Начал искать как это сделать через код(мне так нужно). Наткнулся на учебный пример, связанный с классом SecurityKeySet. Но выполнить его не получается из-за ошибки. Код: X++: static void Job323(Args _args) { SecurityKeySet securityKeySet; AccessType accessType; UserId userId = curUserId(); TableId tableId = tableNum(CustTable); ; securityKeySet = new SecurityKeySet(); securityKeySet.loadUserRights(userId); accessType = securityKeySet.tableAccess(tableId); info(strFmt('%1', accessType)); } Последний раз редактировалось DaniilT; 21.03.2023 в 11:14. |
|
21.03.2023, 11:32 | #2 |
Участник
|
Попробуйте метод hasTableAccess()
Только нужно указать в параметре, какой конкретный уровень доступа необходим. По умолчанию AccessType::View.
__________________
// no comments Последний раз редактировалось dech; 21.03.2023 в 11:50. |
|
21.03.2023, 11:51 | #3 |
Участник
|
Погуглил чуть. Есть такая проблема, но ответа нет. Видимо со старых версий перекочевал код (а может CIL нужен или еще что). У меня тоже ошибку выдает.
Проверить права на таблицу для текущего пользователя можно по другому (правда только для текущего): 1. securityRights.tableAccessRight() 2. sysDictTable.Rights() 3. hasTableAccess() |
|
|
|