首页 > 解决方案 > HCL Domino 11 - Javascript - 文档提交后如何重定向到同一个文档?- 视图未刷新

问题描述

我有一个网络应用程序。使用documents.form[0].submit() 提交表单后,文档关闭。我需要在编辑模式下打开同一个文档,而不是关闭。我尝试通过 WebQuerySave 代理打印文档 URL。下面是我在代理中的代码,但这会打印最后一个文档而不是最后一个文档,因为视图没有刷新。我尝试添加 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)/" & docUnid & "?editDocument]"
End Sub

标签: javascriptlotus-dominolotusscriptdomino-designer-eclipsehcl-notes

解决方案


使用NotesSession.DocumentContext获取代理当前正在处理的文档。

Set doc = session.DocumentContext

如链接的帮助文档中所述:

对于使用@Command([RunAgent]) 或@Command[ToolsRunMacro] 从浏览器运行的代理,内存中的文档是当前文档。对于 WebQueryOpen,这是 Domino® 将其转换为 HTML 并将其发送到浏览器之前的文档;对于 WebQuerySave,这是 Domino® 保存它之前的文档。


推荐阅读