12.01.2009, 06:16 | #1 |
Участник
|
Malaysia: Check Security Key via X++
Источник: http://axmas.blogspot.com/2009/01/ch...key-via-x.html
============== securityKeys = new SecurityKeySet(); securityKeys.loadUserRights(curuserid()); fullAccess = securityKeys.access(securitykeynum("xxxxxxxxxxxxxxx")) == AccessType::Delete; Источник: http://axmas.blogspot.com/2009/01/ch...key-via-x.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
12.01.2009, 07:07 | #2 |
Участник
|
Цитата:
Ведь в случае чего будет run-time ошибка. НАДО использовать литералы и функции с суффиксом str. securitykeystr(xxxxxxxxxxxxxxx) Обратите внимание! никаких кавычек. В случае проблем с securitykey (переименовали, ошибка импорта проекта и т.п.), будет выдана ошибка на этапе КОМПИЛЯЦИИ. Кроме того, данная конструкция попадет в перекрестные ссылки. Блин... |
|
12.01.2009, 19:13 | #3 |
Участник
|
1. securitykeynum("xxxxxxxxxxxxxxx")) - это не строковая константа, а спецлитерал для ID ключа. Можно писать как с кавычками так и без кавыяек
2. товарищ явно не знает про \Classes\Global\hasSecuritykeyAccess его код можно переписать как X++: fullAccess = hasSecuritykeyAccess(securityKeyNum(xxxxxxxxxxxxxxx)), AccessType::Delete); |
|
|
За это сообщение автора поблагодарили: alex55 (1). |
12.01.2009, 19:17 | #4 |
Участник
|
Цитата:
Если ключ будет переименован, то будет ли ошибка компиляции на этом "спецлитерале"? Будут ли сформированы перекрестные ссылки по этому спецлитералу? Я не спорю что такая запись допустима. Я хочу сказать, что так писать не стоит, несмотря на допустимость. |
|
12.01.2009, 19:20 | #5 |
Участник
|
литерал для обозначения кода ключа безопасности.
Да. Думаю, да. так же как и tableNum |
|
|
За это сообщение автора поблагодарили: mazzy (5). |
12.01.2009, 19:56 | #6 |
Участник
|
Цитата:
и ругается, и в перекрестные ссылки попадает. ОФИГЕТЬ! Спасибо. Извините, что ввел в заблуждение. |
|