Lotus Software ロゴ
IBM Lotus Domino Designer 8.5
  バージョン 8.5 および 8.5.1






例: Web ユーザーが文書を開くか保存する前に実行するエージェント

Web ユーザーが文書を開く前または文書を保存する前にエラーやフィールド値などをチェックするには、ユーザーの操作によって起動される共有エージェントを作成します。次に、エージェントを起動する @Command([RunAgent]) または @Command([ToolsRunMacro]) を使用する式を記述し、その式を WebQueryOpen フォームイベントまたは WebQuerySave フォームイベントに添付します。このようにすると、LotusScript の QueryOpen フォームイベントおよび QuerySave フォームイベントと同様の機能を実装することができます。LotusScript の QueryOpen フォームイベントおよび QuerySave フォームイベントは、Web では使用できません。

WebQueryOpen イベント

WebQueryOpen イベントを使用する場合は、エージェントが実行された後、文書が HTML に変換されてブラウザに送信されます。IBM(R) Lotus Domino(R) では、このコンテキスト内のエージェントからの出力はすべて無視されます。

このエージェントの使用例には、@コマンドでは不可能な大規模な計算処理を行う場合や、文書を開いたユーザー名とその日時に関する統計を集計する場合などがあります。

WebQueryOpen エージェントは、ユーザーがフォームまたは文書を開いたときに実行されますが、文書を保存したときには実行されません。つまり、WebQueryOpen エージェントによって設定された計算結果フィールドは、ユーザーが文書を提出するときには保存されないということです。計算結果フィールドが必ず保存されるようにするには、WebQuerySave エージェントでフィールドを再計算するか、フォームの [すべてのフィールドに HTML を生成する] プロパティを設定します。

WebQuerySave イベント

WebQuerySave イベントは、フィールドの入力確認式が実行された後で、文書が実際にディスクに保存されるかメールで送信される前に、エージェントを実行します。このエージェントにより、文書を変更したり、文書のデータを使用して別の操作を実行したりすることができます。文書はエージェントの実行後、自動的に保存されます。このエージェントでは、NotesDocument.Save を呼び出すなどの明示的な方法では、文書を保存しないでください。明示的な保存を行うと、結果が不正確になる場合があります。

WebQuerySave エージェントでは、作成されたものを出力して、ユーザーに送り返すことができます。たとえば、LotusScript エージェントでは、Print コマンドにより、HTML の未加工データを返却することができます。エージェントで出力データを作成する場合は、フォームに [$$Return] フィールドは使用できません。Lotus Domino からはエージェントの出力データだけが返され、このフィールドは無視されます。

このエージェントの使用例を以下に示します。

WebQuerySave エージェントが値を変更する [SaveOptions] フィールドは、フォーム上に存在している必要があります。このエージェントによって [SaveOptions] フィールドが作成される場合は、このフィールドの値に関係なくフォームが保存されます。




ライブラリー | サポート | ご利用条件 |

最終更新日: 2009 年 10 月 5 日 (月曜日)