Скрытие поля

Тема в разделе "Lotus - Программирование", создана пользователем romanko, 5 апр 2011.

  1. romanko

    romanko Гость

    Подскажите пожайлуста как правельно скрыть поля.Нужно чтобы при чтении отбражались все поля в форме, а редактору отображались только те поля в которых прописана его учетная запись(на эти поля стооит такое ограничение (!Avtor *= "User1" & !organiz *= "1") | (!Avtor *= "User2" & !organiz *= "2") ). как сделать чтобы когда пользователю открыты права только ридера отображались все поля??
     
  2. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    romanko
    может проще зделать 2 подформы - 1ну для ридера вычислять, а другую для редактора?
     
  3. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    а тут не просто две разные подформы для чтения и редактирования? Скрывать по формуле @IsDocBeingEdited. И если разные авторы в разные поля могут вводить, то их по ролям лучше разделить. В ацл прописывать группу, а в формуле что-то вроде @If(@IsMember("[Автор1]";@UserRoles))
     
  4. romanko

    romanko Гость

    А куда @IsDocBeingEdited эта формула прописывается?И куда это @If(@IsMember("[Автор1]";@UserRoles)) потом всовывать?И мне нужно чтобы поля открывались пользователю не только если его учетка совпадет с прописаным, но еще если он в поле organization выберит нужное. Объясните поподробние для особо одаренных как это сделать)))
     
  5. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Если делать на подформах, то все условия вписать в формулу вычисления имени подформы, при изменении условий форму переоткрывать.
     
  6. romanko

    romanko Гость

    А если через роли, то ролучается для поля указывать вот так скрывать если @If(@IsMember("[Автор1]";@UserRoles"тут указывать имя роли или как??"))
     
  7. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Автор1 это роль. Никаких ифов больше не надо.
     
  8. romanko

    romanko Гость

    Я добавил роль Автор1. Юзеру1 дал права редактора. В поле добавил условие скрывать если формула верна @IsDocBeingEdited;
    @If(@IsMember("[Автор1]";@UserRoles)). Оно на просмотр работает а как только открываю на редактирование скрывается?Почему??Что не так?
     
  9. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    romanko так вам показывать или скрывать поле надо, если пользователь с ролью "[Автор1]"?
    Если хайд-формула вернет @true, поле скрывается - соответственно, из двух разных ф-ций @IsMember (дает @true, когда значение есть в списке) и @IsNotMember(дает @true, когда нет в списке) выбираете ту, которая удовляетворяет условиям для скрытия поля.
    Ну или у меня вот есть коллега, который все формулы скрытия пишет в виде !(условие_когда_поле_видно), может, так проще будет.
     
  10. romanko

    romanko Гость

    Мне просто нужно скрыть поле в том случае если учетке даны права редактирования, но для того чтобы ему открылись поля для редактирование он в первом поле должен выбрать определенное значение, а тех пользователей у которых права просмотра должны просто видеть все поля кроме 2.Как это лучше сделать?
     
  11. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
  12. romanko

    romanko Гость

    я вот в поле добавляю условие @IsDocBeingEdited;!(@If(@IsMember("[1]";@UserRoles))) юзеру ставлю роль 1 тоесть если у юзера нету такой роли то поле буит скрыто если есть то поле появится правельно?Но почему оно не срабатывает???
     
  13. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    @If не надо: !@IsMember("[1]";@UserRoles)

    !@IsMember("[1]";@UserRoles) | !@IsDocBeingEdited - Скроет, если открыт для чтения или не в группе [1].
     
  14. romanko

    romanko Гость

    А как сделать так чтобы при просмотре были видны все поля а при редактировании было открыто только одно поле и после того как в этом поле поле выберут например 1, открывались все остальные?
     
  15. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    про секции же писали уже. Либо формулу на каждое поле.
     
  16. romanko

    romanko Гость

    Как по секции делать?Или какую можно формулу подставлять в поля чтобы они были виднч при просмотре, а при редактировании скрывались??
     
  17. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    есть @IsDocBeingEdited function
    есть на закладке скрытия галки
    Hide paragraph when document is:
    Previewed for editing
    Opened for editing
     
  18. romanko

    romanko Гость

    Я понимаю что есть галки скрывать от тех у кого права на чтение!Но у меня 8 полей на 2 полях я ставлю эти галки и все хорошо а остальные показываются, тоесть если я на остальные 6 поставлю такое условие, там где скрывать если формула верна
    !@IsDocBeingEdited & (!Avtor *= "User1" & !organiz *= "1") | (!Avtor *= "User2" & !organiz *= "2"). то получится что для тех у кого права читателя увидет эти поля с эти условием а у кого права редактора должны иметь учетку User1 или User2 и выбрать в поле organiz соответсвующее значение!Правельно мысль и синтаксис??
     
  19. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Это где такое есть? :facepalm:
    Галки из "Hide paragraph when document is" никакого отношения к правам не имеют.
     
  20. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.079
    Симпатии:
    300
    зачем такие "фокусы"? еси надо визуально - сделать таблицу в виде вкладок, поля для редактора - на отдельной вкладке
    Если надо "нормально" - вынести в отдельный док и "по-человечьи" управлять секуритями
     
Загрузка...

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