HCL Domino 11 — Javascript — Как перенаправить на тот же документ после отправки документа ? — Просмотр не обновляется

#javascript #lotus-domino #lotusscript #domino-designer-eclipse #hcl-notes

Вопрос:

У меня есть веб — приложение. После отправки формы с помощью documents.form[0].submit () документ закрывается. Вместо того, чтобы закрываться, мне нужно открыть тот же документ в режиме редактирования. Я попытался распечатать URL-адрес документа с помощью агента WebQuerySave. Ниже приведен мой код в агенте, но это печатает предпоследний документ вместо последнего документа, так как представление не обновляется. Я попытался добавить view.refresh, но все равно он получает предпоследний документ. Как обновить представление и получить текущий сохраненный URL-адрес документа или есть ли какой-либо другой способ получить текущий сохраненный URL-адрес документа ?

 Sub Initialize
  Dim session As New NotesSession
  Dim db As NotesDatabase
  Dim doc As NotesDocument
  Dim dbview As NotesView
  Dim docUnid As string
  Set db = session.CurrentDatabase
  Set dbview = db.Getview("(WorkOrders)")
  Call dbview.Refresh()
  Set doc = dbview.Getlastdocument()
  docUnid = doc.Universalid
  Print "[https://kclisd01/nibsport.nsf/(WorkOrders)/" amp; docUnid amp; "?editDocument]"
End Sub
 

Ответ №1:

Используйте NotesSession.DocumentContext для получения документа, над которым в данный момент работает агент.

 Set doc = session.DocumentContext
 

Как описано в связанном справочном документе:

Для агента, запущенного из браузера с помощью @Command([RunAgent]) или @Command[ToolsRunMacro], документ в памяти является текущим документом. В случае WebQueryOpen это документ до того, как Domino® преобразует его в HTML и отправляет в браузер; в случае WebQuerySave это документ до того, как Domino® сохранит его.