Ошибка рекомендации ключа безопасности Axapta - PullRequest
1 голос
/ 19 февраля 2010

Я получаю следующую ошибку Best Practice в Dynamics AX 2009 для любого пункта меню, которому назначен мой основной ключ безопасности (мы назовем его MySecurityKey1).

"Неправильный ключ безопасности. Ключ безопасности должен соответствовать позиции в главном меню."

В моем проекте есть следующие предметы:

Меню
MainMenu (элемент по умолчанию Dynamics - ключ безопасности пуст)
- Ссылка на MyMenu
MyMenu (Key = MySecurityKey1)
- MySubMenu1 (Key = MySecurityKey1)
- Ссылка на MyMenuItem1
- Ссылка на MyMenuItem2
- MySubMenu2 (Key = MySecurityKey2)
- Ссылка на MyMenuItem3
- Ссылка на MyMenuItem4

MenuItems
MyMenuItem1 (Key = MySecurityKey1) !! Ошибка BP для этого элемента
MyMenuItem2 (Key = MySecurityKey1) !! Ошибка BP для этого элемента
MyMenuItem3 (Key = MySecurityKey2)
MyMenuItem4 (Key = MySecurityKey2)

Ключи безопасности
MySecurityKey1 (без родительского ключа)
MySecurityKey2 (без родительского ключа)

Я в значительной степени растерялся, потому что, похоже, нет никакой разницы между этими двумя ключами или их использованием. Любые предложения будут великолепны.

Спасибо!

Ответы [ 2 ]

1 голос
/ 20 февраля 2010

Эта проверка BP реализована в SysBPCheckMenuFunction.checkSecurityKey(). Похоже, что если ваше меню доступно из главного меню, то у вас должна быть родительская защита, давайте назовем ее MyModule и дочерние защитные ключи. Единственными действительными дочерними ключами безопасности будут MyModuleDaily, MyModuleReports, MyModuleInquiries, MyModulePeriodic, MyModuleSetup, MyModuleJournals, MyModuleMisc или MyModuleTables.

0 голосов
/ 19 февраля 2010

Ошибка BP в MyMenuItem1 / 2 или MyMenuItem3 / 4? Я бы ожидал, если бы он был на MyMenuItem3 / 4, так как я считаю, что все элементы в меню должны иметь один и тот же родительский ключ безопасности.

Вы пытались ввести третий ключ безопасности, который будет использоваться MyMenu и будет родительским для обоих MySecurityKey1 и MySecurityKey2? Я думаю, что это правильный подход и он соответствует настройке большинства меню, на которые ссылается MainMenu.

Например, ключ безопасности Ledger имеет дочерние элементы LedgerJournals, LedgerInquiries, LedgerReports и т. Д. Затем в меню Ledger имеются подменю «Журналы», «Запросы», «Отчеты» и т. Д., И каждый из пунктов меню в подменю использует соответствующую защиту. ключ.

...