如何在调用代理时将文档上下文传递在XPages中?
-
10-12-2019 - |
题
如何在调用代理时将文档上下文传递在XPages中?在XPage中,我需要从我的XPage调用一个带有documentContext的Java代理,并且我需要将我的当前文档传递为参数...
在lotuscript中,我们可以在不保存当前文档的情况下轻松完成,但在xPage中我使用以下代码。,Document1是当前文档。
var agent=database.getAgent("AgentName");
agent.runWithDocumentContext(currentDocument.getDocument());
.
此代码我无法获得当前文档的项目的值,但如果我将使用以下代码,
var agent=database.getAgent("AgentName");
document1.save();
agent.runWithDocumentContext(currentDocument.getDocument());
.
我可以获得当前文档的项目值......但我不想保存文档,而无需保存我需要获取项目的项目值。
请给出任何很好的解决方案...
解决方案
代理.runwithdocumentcontext(currentdocument.getdocument(true))。这将使后端文件中的所有新值放在后端文件中,因此它与Lotusscript的工作相同。此外,如果您需要使用Notes表单计算的CurrentDocument,请将DataSource的“ComputeWithNotesform”属性设置为“onload”或“兼并”。
其他提示
由于XPage上可能有一个文档源,我使用parameterDocid ...
var id = document1.getDocument().getNoteID();
var agent = database.getAgent("MyAgent");
agent.run(id)
.
和代理...
Call GetDocument(agent.ParameterDocID)
.
...
Public Sub GetDocument(DocID As String)
On Error GoTo eh
Set Doc = Db.GetDocumentByID(DocID)
es:
Exit Sub
eh:
Resume es
End Sub
. 不隶属于 StackOverflow