Доступ к документам

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

  1. I123321

    I123321 Гость

    Вопрос такой. В документе определяется доступ на этот документ и есть поле, в котором вводятся ФИО, проблема в том, что если в АК были добавлены сертификаты для пользователя, т.е. теперь в АК
    ФИО/1/UA
    ФИО/2/UA
    тогда при открытии БД пользователь не видит документы, в которых он указан как ФИО/2/UA. Поле в котором указывается читатель:
    Код (Text):
    _Readers := @Trim(@Unique(PublicEncryptionKeys : Authors));

    @If ( PublicEncryptionKeys = "";
    @UserName;
    _Readers
    )
    Как сделать так, чтобы в документе были все его данные из АК?
     
  2. RAJ

    RAJ Well-Known Member

    Регистрация:
    17 янв 2007
    Сообщения:
    440
    Симпатии:
    0
    см. @NameLookup
     
  3. ToxaRat

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

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    фигня какая-то
    зачем все данные?
    достаточно лишь его лотусиное имя и если хоть одно есть он будет видеть
     
  4. I123321

    I123321 Гость

    так в том и дело, что видно лишь те документы, что недавно созданы, а те что созданы давно - пользователь не видит
     
  5. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Пройдись агентом и проставь правильное имя.
     
  6. I123321

    I123321 Гость

    да я уже и сам додумался, осталось только с агентом разобраться :unsure:
     
  7. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    А что там разбираться?
    @SetField(...)
     
  8. I123321

    I123321 Гость

    что-то сказывается конец дня... не могу вообще понять.
    в агенте @SetField("имя поля (в котором ФИО)";"FullName (из АК)")
    Так или нет?
     
  9. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Типа того.
     
  10. I123321

    I123321 Гость

    или перед FullName надо что-то добавить???

    не, что-то делаю не то. Надо сначала собрать все документы в виде, а потом делать @SetField

    :unsure:

    что-то ничего не выходит :(
     
  11. RAJ

    RAJ Well-Known Member

    Регистрация:
    17 янв 2007
    Сообщения:
    440
    Симпатии:
    0
    допустим если поле, отвечающее за доступ называется "ReaderList",
    то код агента следующий:
    Код (Text):
    Field ReaderList := ReaderList:"CN=ФИО/OU=1/O=UA"
    а Selection формула агента:
    Код (Text):
    ReaderList contains "CN=ФИО/OU=2/O=UA"
    запускаем от имени админа
     
  12. I123321

    I123321 Гость

    т.е. для каждого пользователя надо запускать отдельно? или так запуститься и для всех пользователей?
     
  13. ToxaRat

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

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    что-то не понял, а старое имя ты как изменил?
    может админ процессы еще не прошлись по всем базам, в твоей проблемной БД хоть административный сервер прописаН?
     
  14. I123321

    I123321 Гость

    Просто данную базу делали уже очень давно и в ней очень наворочан доступ. И проблема в том, что после того как был изменен сертификат теперь в системе получается 2 человека и старые документы теперь никто не видит. Помогите! Очень срочно надо! Как можно еще обновить???

    Помогите пожалуйста, потому что уже начинается паника.... Скоро просто всем изменят сертификат и в базе никто не будет видеть документы
     
  15. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Агент типа:
    @SetField(имя_поля; @Transform(имя_поля; "x"; @NameLookup([ForceUpdate]; @Name([CN]; x); "FullName")))
    Должен сработать. :)
     
  16. I123321

    I123321 Гость

    у меня ничего не произошло или надо было еще что-то добавить?
     
  17. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    А что ты сделал?
    Кстати, код покажи.
     
  18. I123321

    I123321 Гость

    в агенте :
    @SetField(xProfilename; @Transform(xProfilename; "x"; @NameLookup([ForceUpdate]; @Name([CN]; x); "FullName")));

    и запустил в ручную. Написало что проверено 242 документа и все. Я вообще ничего не могу сообразить уже....
     
  19. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Имя поля в кавычки. Вот так:
    @SetField("xProfilename"; @Transform(xProfilename; "x"; @NameLookup([ForceUpdate]; @Name([CN]; x); "FullName")));
    Надеюсь, пробуешь на тестовых данных? :)
     
  20. I123321

    I123321 Гость

    конечно :) Мне хоть уже и плохо, но не совсем еще

    спасибо . Вижу что профиль уже поменялся. А теперь наверное еще глупее вопрос, а что мне теперь сделать, чтобы и в полях, которые в документах, поменялись ФИО на новые???

    извеняюсь за вопрос

    уже дошло , что если изменить еще и в другом поле то все ОК

    А можно еще вопро?!
    Если мне надо изменить данные в трех-четырех полях, я могу так писать в агенте:
    @SetField("xProfilename"; @Transform(xProfilename; "x"; @NameLookup([ForceUpdate]; @Name([CN]; x); "FullName")));
    @SetField("xProfilename2"; @Transform(xProfilename2; "x"; @NameLookup([ForceUpdate]; @Name([CN]; x); "FullName")));
    @SetField("xProfilename3"; @Transform(xProfilename3; "x"; @NameLookup([ForceUpdate]; @Name([CN]; x); "FullName")));
     
Загрузка...

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