1

エージェントの呼び出し中に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());

現在のドキュメントのアイテム値を取得できます...しかし、ドキュメントを保存せずにドキュメントを保存したくないので、アイテムのアイテム値を取得する必要があります。

そのための素晴らしい解決策を教えてください...

4

2 に答える 2

5

agent.runWithDocumentContext(currentDocument.getDocument(true))。これにより、すべての新しい値がバックエンド ドキュメント内に配置されるため、lotusscript と同じように機能します。また、現在のドキュメントをメモ フォームで計算する必要がある場合は、データ ソースの「computewithnotesform」プロパティを「onload」または「both」に設定します。

于 2012-03-09T20:55:05.960 に答える
2

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
于 2012-03-09T11:38:46.770 に答える