0

従来の Domino アプリケーションを XPages にアップグレードする場合、常に特定の問題が発生します。それは、「ブラウザに直接書き戻す既存のエージェントの PRINT ステートメントをどうするか」ということです。私の nsf ファイルには 200 のエージェントがあり、すべてがコードで Print ステートメントを使用しています。調査したところ、リンクhttp://www.wissel.net/blog/d6plinks/SHWL-8SF7AH が見つかりましたが、フォームからも使用されるため、エージェント コードを変更することはできません。ボタンのクリック時に xpages からこれらのエージェントを再利用する必要があり、ドキュメントを渡す必要もあります。私の問題を解決できる方法または代替手段はありますか。ヘルプが必要です。

Agent.runWithDocumentContext(doc:NotesDocument) メソッドを使用して、xpage からエージェントを実行し、メモリ内ドキュメントを渡すことができます。im-memory ドキュメントを作成します

   var doc = database.createDocument();
   doc.replaceItemValue("StartDate",startDate.getDateOnly())
   doc.replaceItemValue("EndDate",endDate.getDateOnly())
   doc.replaceItemValue("ReportName",reportName)
    var agent:NotesAgent = database.getAgent("("+reportName+")");

    agent.runWithDocumentContext(doc);   

このメモリ内ドキュメントをエージェントに渡すことができます。しかし、私が現在直面している問題は、エージェントが直接印刷するために使用されていることであり、xpage では不可能だと思います。メモリ内ドキュメントをエージェントに渡し、xpages を介してブラウザに直接印刷できる別の方法はありますか。助けが必要です助けてください。

4

3 に答える 3

2

XPages を使用したい場合は、XPages を使用してください。つまり、エージェントを XPages のやり方に移行します。XPages と Notes Client の間には多くの共存がありえますし、Classic Domino Web でさえも共存していると思います。しかし、実際には XPages のベスト プラクティスの一部ではない 200 のエージェントを保持することに設定されている場合は、XPages をまったく使用すべきではないように思えます。

編集: このリンク: http://www-10.lotus.com/ldd/ddwiki.nsf/dx/XPages_and_Calling_Agents_Using_an_In-Memory_Document

XPages からエージェントを呼び出して、メモリ内ドキュメントを使用できることについて説明します。おそらくそれは役立つかもしれませんが、エージェントが呼び出しごとにロードおよびアンロードするため、頻繁に使用される場合、パフォーマンスは良くありません. それはまだ悪い考えです。

于 2015-02-17T18:11:00.470 に答える