|
![]() |
#1 |
Участник
|
Лучше все-таки сделать SecurityKey чем хардкодить группу
X++: #Admin public int active() { boolean allowEdit ; int ret = super() ; allowEdit = hasSecurityKeyAccess(securityKeyNum(CustEditOthersCustomers_ZED), AccessType::Read) || CustTable.<"ответстенный"> == curUserId() ; CustTable_ds.allowEdit( allowEdit ) ; return ret; } |
|
![]() |
#2 |
Administrator
|
При всей банальности - возражу - что это не "по-системному".
Во-первых, тут ведь добавлено поле "Код пользователя", а не "Код группы". И помимо функции доступа - это поле несет в себе информацию кто за что ответственен. А во-вторых - обращаю внимание, что в буржуйском функционале (если не рассматривать локализацию) - на каждый модуль фиксированное кол-во ключей доступа - Ежедневные операции, запросы, отчеты, таблицы, настройки и разное. Например доступ к журналам прописывается через группы, которые указываются в настройках, а не через ключи доступа. Это очень хорошо видно, когда в роли настройщика прав сталкиваешься с задачей настроить права. С первого взгляда догадаться - "А на что влияет этот ключик" - нереально в принципе. Это надо знать. А в дереве ключей - такое недопустимо - там все права так или иначе понятны как раздаются. А вот "скрытые" права доступа задаются именно через группы. По крайне мере - так сделано в системе.
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#3 |
Участник
|
Цитата:
![]()
__________________
Ivanhoe as is.. |
|
![]() |
#4 |
Administrator
|
Цитата:
Есть права доступа, относящиеся к ядру системы (exe-шнику). Это разработка, администрирование, Бизнес-коннектор. Из них разработка и бизнес-коннектор не имеют своего меню. Администрирование - имеет - но у него и похожая структура. За исключением открытия доступа к домену (что тоже является свойством ядра в большей степени). Конфигуратор продукции подчинен разработке - т.к. сам является генератором кода. Все остальное имеет одинаковую структуру меню (исключая локализацию в т.ч. польские и чешские ключи). Поэтому общее правило - ориентироваться на то, как это сделано в большинстве функционала (особенно в sys-слое).
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#5 |
Участник
|
![]()
Большое спасибо всем, кто откликнулся и помогал советами.
Отдельное спасибо petergunn. Вставил проверку по пользователю и все заработало. |
|