エージェントを呼び出しながらXPagesで文書コンテキストを渡す方法は?
-
10-12-2019 - |
質問
エージェントを呼び出しながらXPagesでドキュメントコンテキストを渡す方法XPageでは、私のXPageからDocumentContextを使用してJavaエージェントを呼び出す必要があります。また、現在の文書をパラメータとして渡す必要があります...
ロータウスでは、現在の文書を保存せずに簡単にできますが、XPageでは次のコードを使用しています。Document1は現在の文書です。
var agent=database.getAgent("AgentName");
agent.runWithDocumentContext(currentDocument.getDocument());
.
このコードは、現在の文書の項目の値を取得できませんが、次のコードを使用する場合は、
var agent=database.getAgent("AgentName");
document1.save();
agent.runWithDocumentContext(currentDocument.getDocument());
.
現在の文書の項目値を取得できます...しかし、私がアイテムのアイテム値を取得するために必要な文書を保存せずにドキュメントを保存したくない。
そのための素敵な解決策を教えてください...
解決
Agent.RunWithDocumentContext(CurrentDocument.GetDocument(True))。これにより、バックエンドドキュメント内にすべての新しい値が表示されますので、LotusScriptと同じように機能します。また、NotesフォームでCurrentDocumentを計算する必要がある場合は、データソースの 'computeWithNotesForm'プロパティを 'Onload'または 'Suny'の両方に設定します。
他のヒント
XPageに1つの文書ソースが多くなる可能性があるので、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