Установить Запуск от имени для NotesAgent - PullRequest
0 голосов
/ 01 апреля 2020

Есть ли способ установить «запуск от имени» в NotesAgent?

Я пробовал решение с NotesNoteCollection

  Dim nc As NotesNoteCollection
  Set nc = db.CreateNoteCollection(False)
  Call nc.SelectAllCodeElements(True)
  nc.SelectAgents = true
  Call nc.BuildCollection

Тогда я l oop n c и найду мой агент и установленный элемент $ OnBehalfOf

call agentNote.replaceitemvalue("$OnBehalfOf", "username")
call agentNote.save(true, false)

, который ломается на 'Сохранить', он говорит, что не может сохранять агента.

Я также проверил C API и не нашел все, что может мне помочь (но я мог что-то упустить)

1 Ответ

1 голос
/ 09 апреля 2020

Прежде всего - как упоминалось в комментарии Ричарда - вам нужен Designer - доступ к базе данных, чтобы иметь возможность изменять агент таким образом, как вы напрямую изменяете элемент дизайна вместо использования интерфейса (который каким-то образом обходит это для редакторы).

Во-вторых: всякий раз, когда вы изменяете агент через его базовый NotesDocument, вы уничтожаете подпись на элементе design: даже при сохранении работ агент будет сломан и больше не будет работать.

Поэтому вам нужно добавить agentNote.Sign() перед вашим agentNote.Save(...), иначе агент не сможет работать.

И, конечно, тому, кто выполняет этот код, необходимо соответствующее право сервера (Serverdocument - Безопасность - подписывать агентов для запуска от имени другого лица), иначе агент не будет работать.

...