|
![]() |
#1 |
Moderator
|
Динамическое изменение прав доступа на одну таблицу
Добрый день!
![]() Возможно ли динамически менять права доступа на одну и ту же таблицу в зависимости от точки (от параметра в форме)? Реальная задача - разграничить права доступа на строки складских журналов (таблица InventJournalTrans, форма InventJournalTransfer). Т.е. например в Инвентаризации строки можно редактировать, а вот в Проводках только просмотр. MS Axapta 3.0 SP3 Retail |
|
![]() |
#2 |
Участник
|
Цитата:
|
|
|
За это сообщение автора поблагодарили: DreamCreator (2). |
![]() |
#3 |
Moderator
|
|
|
![]() |
#4 |
Moderator
|
Цитата:
На menuItem складских журналов навешен один ключ InventJournals, т.е. различить их права доступа методом X++: hasSecuritykeyAccess(securityKeyNum(InventJournals),accessType::View); Как можно определить права доступа на конкретный тип журнала (menuItem)? (пойду разбирать настройку прав доступа..) |
|
![]() |
#5 |
Участник
|
Цитата:
Если нельзя, то вот тестовый job, который определяет доступ к конкретному пункту меню X++: static void SRF_CheckAccessRightMenuItem(Args _args) { SecurityKeySet securitySet; ; securitySet = SysSecurity::constructSecurityKeySet(); securitySet.loadUserRights(curUserId()); info(strFmt("%1", securitySet.menuItemAccess(menuItemDisplayStr(InventJournalTableMovement), AccessRecordType::MenuItemDisplay))); } |
|
|
За это сообщение автора поблагодарили: DreamCreator (2). |
![]() |
#6 |
Участник
|
Цитата:
Как можно определить права доступа на конкретный тип журнала (menuItem)?
PHP код:
Цитата:
Реальная задача - разграничить права доступа на строки складских журналов (таблица InventJournalTrans, форма InventJournalTransfer). Т.е. например в Инвентаризации строки можно редактировать, а вот в Проводках только просмотр.
Управление запасами \ Разное \ Строки (те у которых после запятой стоит InventJournalTrans*) |
|
|
За это сообщение автора поблагодарили: DreamCreator (3). |
![]() |
#7 |
Moderator
|
Цитата:
Сообщение от SRF
![]() А нельзя просто привязку сделать к типу журнала(это самый простой вариант)?
Если нельзя, то вот тестовый job, который определяет доступ к конкретному пункту меню X++: static void SRF_CheckAccessRightMenuItem(Args _args) { SecurityKeySet securitySet; ; securitySet = SysSecurity::constructSecurityKeySet(); securitySet.loadUserRights(curUserId()); info(strFmt("%1", securitySet.menuItemAccess(menuItemDisplayStr(InventJournalTableMovement), AccessRecordType::MenuItemDisplay))); } ![]() Привязку к типу сделать нельзя, т.к. для разных групп пользователей - права различны. Цитата:
Сообщение от Raven Melancholic
![]() Примерно так:
PHP код:
программирование излишне. Это настраивается в обычных правах групп пользователей в ветке: Управление запасами \ Разное \ Строки (те у которых после запятой стоит InventJournalTrans*) Как вариант - доступность кнопки регулировать программно. Спасибо! ![]() P.S. OffTop В Казани ураган за окном ![]() |
|