|
15.07.2009, 11:55 | #1 |
Moderator
|
Динамическое изменение прав доступа на одну таблицу
Добрый день!
Возможно ли динамически менять права доступа на одну и ту же таблицу в зависимости от точки (от параметра в форме)? Реальная задача - разграничить права доступа на строки складских журналов (таблица InventJournalTrans, форма InventJournalTransfer). Т.е. например в Инвентаризации строки можно редактировать, а вот в Проводках только просмотр. MS Axapta 3.0 SP3 Retail |
|
15.07.2009, 12:01 | #2 |
Участник
|
Цитата:
|
|
|
За это сообщение автора поблагодарили: DreamCreator (2). |
15.07.2009, 12:15 | #3 |
Moderator
|
|
|
15.07.2009, 14:30 | #4 |
Moderator
|
Цитата:
На menuItem складских журналов навешен один ключ InventJournals, т.е. различить их права доступа методом X++: hasSecuritykeyAccess(securityKeyNum(InventJournals),accessType::View); Как можно определить права доступа на конкретный тип журнала (menuItem)? (пойду разбирать настройку прав доступа..) |
|
15.07.2009, 14:45 | #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). |
15.07.2009, 14:56 | #6 |
Участник
|
Цитата:
Как можно определить права доступа на конкретный тип журнала (menuItem)?
PHP код:
Цитата:
Реальная задача - разграничить права доступа на строки складских журналов (таблица InventJournalTrans, форма InventJournalTransfer). Т.е. например в Инвентаризации строки можно редактировать, а вот в Проводках только просмотр.
Управление запасами \ Разное \ Строки (те у которых после запятой стоит InventJournalTrans*) |
|
|
За это сообщение автора поблагодарили: DreamCreator (3). |
15.07.2009, 16:02 | #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 В Казани ураган за окном |
|