アプリケーションの設計
WebQueryOpen イベント
WebQueryOpen イベントを使用する場合は、エージェントが実行された後、文書が HTML に変換されてブラウザに送信されます。IBM(R) Lotus Domino(R) では、このコンテキスト内のエージェントからの出力はすべて無視されます。
このエージェントの使用例には、@コマンドでは不可能な大規模な計算処理を行う場合や、文書を開いたユーザー名とその日時に関する統計を集計する場合などがあります。
メモ WebQueryOpen エージェントは、ユーザーがフォームまたは文書を開いたときに実行されますが、文書を保存したときには実行されません。つまり、WebQueryOpen エージェントによって設定された計算結果フィールドは、ユーザーが文書を提出するときには保存されないということです。計算結果フィールドが必ず保存されるようにするには、WebQuerySave エージェントでフィールドを再計算するか、フォームの [すべてのフィールドに HTML を生成する] プロパティを設定します。
WebQuerySave イベント
WebQuerySave イベントは、フィールドの入力確認式が実行された後で、文書が実際にディスクに保存されるかメールで送信される前に、エージェントを実行します。このエージェントにより、文書を変更したり、文書のデータを使用して別の操作を実行したりすることができます。文書はエージェントの実行後、自動的に保存されます。このエージェントでは、NotesDocument.Save を呼び出すなどの明示的な方法では、文書を保存しないでください。明示的な保存を行うと、結果が不正確になる場合があります。
WebQuerySave エージェントでは、作成されたものを出力して、ユーザーに送り返すことができます。たとえば、LotusScript エージェントでは、Print コマンドにより、HTML の未加工データを返却することができます。エージェントで出力データを作成する場合は、フォームに [$$Return] フィールドは使用できません。Lotus Domino からはエージェントの出力データだけが返され、このフィールドは無視されます。
このエージェントの使用例を以下に示します。