|
|
|
|
#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 В Казани ураган за окном
|
|
|