Запретить редактирование документа

xKlonx

Lotus team
10.09.2009
410
0
#1
Народ как можно запретить редактирование формы для некоторых пользователей????
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
17
#2
xRomax
я бы сказал иначе можно на картинку повесить экшен :)
 

TIA

:-)
Lotus team
15.05.2009
790
3
#3
xRomax
Точнее, наверно, не формы, а документа, открываемого по некой форме?
Выарианты по степени надёжности:
1. Определив всех, кому МОЖНО редактировать в Authors-поле и вход всем по ACL с авторскими правами.
2. Protected-поля
3. Сделать секцию с управляемым доступом
4. Проверить их права в событии QueryOpen формы
 

xKlonx

Lotus team
10.09.2009
410
0
#4
Народ есть 2 роли:
руководитель и исполнитель.Нужно сделать чтобы руководитель имел доступ к кнопкам, а исполнитель соответственно не имел. Но чёто не выходит.Например:
1. Ставлю себе роль исполнителя
2.В кнопке ставлю галочку типо хайд иф тру и пишу формулу:!@IsMember("[leader]";@UserRoles)
3.Ставлю себе роль лидера и вместо того чтобы видеть кнопку,её нет,но и это не всё.Ксли ставлю роль исполнителя тоже не видно.Подскажите что можно сделать?
 

hosm

* so what *
18.05.2009
2 442
6
#5
Возможно, виновато кеширование, попробуйте поменять локейшен или выйти и зайти в Notes.
Учтите, что @IsMember - case-sensitive, проверьте регистр роли в кнопке и ACL.
Кстати, !@IsMember("[leader]";@UserRoles) можно заменить на @IsNotMember("[leader]";@UserRoles).
 

nvyush

Lotus team
22.04.2009
2 317
0
#6
Возможно, виновато кеширование, попробуйте поменять локейшен или выйти и зайти в Notes.
Учтите, что @IsMember - case-sensitive, проверьте регистр роли в кнопке и ACL.
Кстати, !@IsMember("[leader]";@UserRoles) можно заменить на @IsNotMember("[leader]";@UserRoles).
Вдогонку: здесь можно юзать конструкции типа @IsNotMember("[leader]" : "[admin]"; @UserRoles) с перечислением всех ролей, которым разрешено видеть кнопку.
 

hosm

* so what *
18.05.2009
2 442
6
#8
Тогда глупый вопрос: база на сервере или стоит поддержка одинакового ACL на всех репликах? На локале без этой галки роли не работают...
 

xKlonx

Lotus team
10.09.2009
410
0
#9
База на локале.А где эту галку ставить или убирать???
 

hosm

* so what *
18.05.2009
2 442
6
#11
For a database on a server or a local database with "Enforce a consistent Access Control List across all replicas" in effect, returns a list of roles that the current user has. Roles are defined in a database's access control list.
В DB Access Control List-Advanced.
Забыла написать - галку надо ставить )
 

xKlonx

Lotus team
10.09.2009
410
0
#12
Спасибо заработало!!!

Продолжая тему,возник вопрос,а по ролям можно как нить запретить редактирование полей на форме??
 

nvyush

Lotus team
22.04.2009
2 317
0
#13
Спасибо заработало!!!

Продолжая тему,возник вопрос,а по ролям можно как нить запретить редактирование полей на форме??
См. в справке разделы с управляемым доступом. В двух словах: выделяем поля, затем Create-Section-Controlled Access, на третьей закладке свойств раздела перечисляем роли, группы и имена тех, кому можно редактировать поля в данном разделе. Можно использовать @If для формирования списка разрешённых ролей. Я обычно делаю разделы CFD.
 

morpheus

скриптописец
07.08.2006
3 915
1
#14
xRomax
используя компутед поля и обічніе поля ... + формулы скрытия

или

АцесКонтролед секции
 

xKlonx

Lotus team
10.09.2009
410
0
#15
Morpheus
используя компутед поля и обічніе поля ... + формулы скрытия

или

АцесКонтролед секции
Скрывать поля не нужно,нужно чтобы пользователь видел информацию но не мог редактировать содержимое.АцесКонтролед секции тоже не покатят так как открыть ее сможет пользователь с определённой ролью
 

morpheus

скриптописец
07.08.2006
3 915
1
#17
АцесКонтролед секции тоже не покатят так как открыть ее сможет пользователь с определённой ролью
можно зделать её открытой всегда, и скрыть заговловок никто и не увидит что это секция. Да кстати если у Вас буду РТ поля - то запрет редактирования можно будет отолько так зделать.

Скрывать поля не нужно,нужно чтобы пользователь видел информацию но не мог редактировать содержимое.
я же сказал поле компутед + поле редактируеемое . редактор видет 2е поле, обычный видет первое(компутед). Ну ещё можно заюзать инпут энаблед свойство у поля
 

Omh

Lotus team
04.07.2007
2 210
1
#18
Только InputEnabled под семёркой не очень кайфово работает: ловит фокус и сохраняет отступ.
Начиная с восьмерки всё выпрямили.
 

nvyush

Lotus team
22.04.2009
2 317
0
#19
Только InputEnabled под семёркой не очень кайфово работает: ловит фокус и сохраняет отступ.
Начиная с восьмерки всё выпрямили.
Не уверен, что до конца выпрямили :) . Было дело ловил глюк - при открытии дока поле разрешало редактирование, запрет включался только после F9, хотя на OnLoad висело doc.RefreshHideFormulas. Решил ту проблему контролируемым разделом.
 

Omh

Lotus team
04.07.2007
2 210
1
#20
Надо было на постопен попробовать ткнуть код рефреша.