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

Тема в разделе "Lotus - Программирование", создана пользователем xKlonx, 24 сен 2009.

  1. xKlonx

    xKlonx Lotus team
    Lotus team

    Регистрация:
    10 сен 2009
    Сообщения:
    412
    Симпатии:
    0
    Народ как можно запретить редактирование формы для некоторых пользователей????
     
  2. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    xRomax
    я бы сказал иначе можно на картинку повесить экшен :)
     
  3. TIA

    TIA :-)
    Lotus team

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

    xKlonx Lotus team
    Lotus team

    Регистрация:
    10 сен 2009
    Сообщения:
    412
    Симпатии:
    0
    Народ есть 2 роли:
    руководитель и исполнитель.Нужно сделать чтобы руководитель имел доступ к кнопкам, а исполнитель соответственно не имел. Но чёто не выходит.Например:
    1. Ставлю себе роль исполнителя
    2.В кнопке ставлю галочку типо хайд иф тру и пишу формулу:!@IsMember("[leader]";@UserRoles)
    3.Ставлю себе роль лидера и вместо того чтобы видеть кнопку,её нет,но и это не всё.Ксли ставлю роль исполнителя тоже не видно.Подскажите что можно сделать?
     
  5. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Возможно, виновато кеширование, попробуйте поменять локейшен или выйти и зайти в Notes.
    Учтите, что @IsMember - case-sensitive, проверьте регистр роли в кнопке и ACL.
    Кстати, !@IsMember("[leader]";@UserRoles) можно заменить на @IsNotMember("[leader]";@UserRoles).
     
  6. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Вдогонку: здесь можно юзать конструкции типа @IsNotMember("[leader]" : "[admin]"; @UserRoles) с перечислением всех ролей, которым разрешено видеть кнопку.
     
  7. xKlonx

    xKlonx Lotus team
    Lotus team

    Регистрация:
    10 сен 2009
    Сообщения:
    412
    Симпатии:
    0
    Перегружал,проверял роли, а кнопку не видно
     
  8. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Тогда глупый вопрос: база на сервере или стоит поддержка одинакового ACL на всех репликах? На локале без этой галки роли не работают...
     
  9. xKlonx

    xKlonx Lotus team
    Lotus team

    Регистрация:
    10 сен 2009
    Сообщения:
    412
    Симпатии:
    0
    База на локале.А где эту галку ставить или убирать???
     
  10. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    ACL, закладка Advanced, в центре
     
  11. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    В DB Access Control List-Advanced.
    Забыла написать - галку надо ставить )
     
  12. xKlonx

    xKlonx Lotus team
    Lotus team

    Регистрация:
    10 сен 2009
    Сообщения:
    412
    Симпатии:
    0
    Спасибо заработало!!!

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

    nvyush Lotus team
    Lotus team

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

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    xRomax
    используя компутед поля и обічніе поля ... + формулы скрытия

    или

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

    xKlonx Lotus team
    Lotus team

    Регистрация:
    10 сен 2009
    Сообщения:
    412
    Симпатии:
    0
    Morpheus
    Скрывать поля не нужно,нужно чтобы пользователь видел информацию но не мог редактировать содержимое.АцесКонтролед секции тоже не покатят так как открыть ее сможет пользователь с определённой ролью
     
  16. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    а ещё можно заюзать input enabled формулу у поля.
     
  17. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    можно зделать её открытой всегда, и скрыть заговловок никто и не увидит что это секция. Да кстати если у Вас буду РТ поля - то запрет редактирования можно будет отолько так зделать.

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

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Только InputEnabled под семёркой не очень кайфово работает: ловит фокус и сохраняет отступ.
    Начиная с восьмерки всё выпрямили.
     
  19. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Не уверен, что до конца выпрямили :) . Было дело ловил глюк - при открытии дока поле разрешало редактирование, запрет включался только после F9, хотя на OnLoad висело doc.RefreshHideFormulas. Решил ту проблему контролируемым разделом.
     
  20. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Надо было на постопен попробовать ткнуть код рефреша.
     
Загрузка...

Поделиться этой страницей