Notesadministrationprocess.addgroupmembers

Тема в разделе "Lotus - Программирование", создана пользователем dimat, 29 окт 2010.

  1. dimat

    dimat Lotus team
    Lotus team

    Регистрация:
    31 июл 2008
    Сообщения:
    518
    Симпатии:
    0
    Всем привет.
    Пытаюсь с помощью NotesAdministrationProcess добавить в группу пользователей:

    Код (Text):
    Dim ns As New NotesSession
    Dim ap As NotesAdministrationProcess
    Set ap=ns.CreateAdministrationProcess(db.Server)
    ni$=ap.AddGroupMembers(gn,peoples)
    После выполнения создается запрос в admin4, однако, после того как задача проверит наличие новых запросов, в группе новых записей не появлется.
    В чем может быть проблема?
     
  2. MAZ

    MAZ Гость

    Попробуй проверить доступы на names.nsf - и у тебя и у сервера должен быть доступ не ниже редактора
    +В ACL names.nsf проверить стоит ли тот Administration server
     
  3. dimat

    dimat Lotus team
    Lotus team

    Регистрация:
    31 июл 2008
    Сообщения:
    518
    Симпатии:
    0
    права у меня и у сервера максимальные, админ сервер стоит
     
  4. dimat

    dimat Lotus team
    Lotus team

    Регистрация:
    31 июл 2008
    Сообщения:
    518
    Симпатии:
    0
    Может есть еще какие то способы добавить имя в группу?
     
  5. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Просто дописать в документ группы?..
     
  6. dimat

    dimat Lotus team
    Lotus team

    Регистрация:
    31 июл 2008
    Сообщения:
    518
    Симпатии:
    0
    Как вариант, только как правильнее добавить к существующему списку новую запись?
     
  7. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Можно тут глянуть, только с учётом, что в группе поле Members типа Names.
    Как правильнее изменять значения поля типа Authors?
    Добавлять имена пользователей нужно в канонической форме, при добавлении групп учитывать, что глубина вложений не должна быть более 6.
     
  8. dimat

    dimat Lotus team
    Lotus team

    Регистрация:
    31 июл 2008
    Сообщения:
    518
    Симпатии:
    0
    Код (Text):
        For i%=1 To Ubound(peoples)
    argi=Arraygetindex(group.GetItemValue("members"),peoples(i%))
    If argi=Null Then
    Call group.ReplaceItemValue("members",Arrayappend(group.GetItemValue("members"),peoples(i%)))
    Print peoples(i%) & " Added in "& gn
    End If
    Next
    Call group.Save(True,False)
    Сделал вот так, но почему то не выполняется, хотя в дебагере показывает что agri=NULL
    Код (Text):
    Call group.ReplaceItemValue("members",Arrayappend(group.GetItemValue("members"),peoples(i%)))
    Print peoples(i%) & " Added in "& gn
    Может условие входа как то по другому нужно записать?
     
  9. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    "Хто так строит..."
    If Isnull(argi) Then
     
  10. ToxaRat

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

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    в названии группы случаем пробела нету?
     
  11. dimat

    dimat Lotus team
    Lotus team

    Регистрация:
    31 июл 2008
    Сообщения:
    518
    Симпатии:
    0
    Нет, уже все получилось.
    nvy Спасибо:).
    Код (LotusScript):
        For i%=1 To Ubound(peoples)
    argi=Arraygetindex(group.GetItemValue("members"),peoples(i%))
    If Isnull(argi) Then
    Call group.ReplaceItemValue("members",Arrayappend(group.GetItemValue("members"),peoples(i%)))
    Print peoples(i%) & " Added in "& gn
    End If
    Next
    Call group.Save(True,False)
    Вот так сделал
     

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