#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® сохранит его.