例: アクション

Web ユーザーに Notes メニューと同様のメニューを提供する

このタスクについて

Web ユーザーは、Domino データベースで作業するときに Notes メニューの選択肢にアクセスできません。したがって、Notes のメニューに相当するメニューを作成する必要があります。

@コマンド式を使用するアクションを作成し、アクションバーのボタンとして使用できるようにします。ここで注意が必要なのは、Domino では、ビューの中で選択された文書に基づくコマンドを解釈できないということです。これは、Web には「選択」された文書に関する表記法がないためです。[返答文書の作成] などのアクションについては、フォームアクションを [メイントピック] フォームに追加して、[返答] 文書を開く必要があります。

データベースのすべてのボタンや特定の @コマンドを Web で使用できるようにするには、[Web アクセス] の [ページ生成時に JavaScript を使用] データベースプロパティを選択します。このプロパティが設定されていないと、Domino では文書中の最初のボタンだけしか認識されません。デフォルトでは、このボタンは文書を閉じて保存するための [送信] ボタンとして扱われます。

Domino では、ボタン、アクション、ホットスポットがすべて表示されることに注意してください。このような要素に Web アプリケーションでは使用できない @コマンドや @関数が含まれていても、同様です。

次の手順を完了すると、現在のデータベースで新規の [メイントピック] を開くボタンが作成されます。

手順

  1. Web ユーザー用のボタンを追加するビューを開きます。
  2. [作成] - [アクション] - [アクション] を選択します。
  3. [アクションのプロパティ] インフォボックスに入力します。[アクション情報] タブで、次の操作を実行します。
    • 「メイントピックの作成」という名前を入力する。
    • [ボタンバーにアクションを含む] を選択する。
    • [Notes の図形] を選択して、ボタンの図形を 1 つクリックする。
  4. インフォリストで [オブジェクト] タブをクリックし、[メイントピックの作成] をクリックします。
  5. [実行] プルダウンリストで、[クライアント] を選択した後 [式] を選択します。
  6. 次の式を入力します。
    @Command([Compose];"Main Topic")
  7. ビューを保存します。

タスクの結果

一般的に使用されているその他のメニュー項目の例を、次に示します。

  • 文書を作成する。
    @Command([Compose]; "formname")
    @Command([Compose];"":"database"; "formname")
  • ビューを開く。
    @Command([OpenView]; "viewname")
    @Command([OpenView];"":"database"; "viewname") 
    @Command([OpenView];"By Date")
  • 開いた文書を削除する。
    @Command([Clear])
  • 開いた文書またはビューを閉じる。
    @Command([CloseWindow])

文書をレビュー担当者に送信する

このタスクについて

ここでは、提案された演奏会スケジュールをレビュー会議に配信する処理を例にとってみます。

手順

  1. [演奏会スケジュール] フォームで、[種類: 名前] フィールドを作成します。このフィールドに検討者を全員指定します。
  2. [演奏会スケジュール] フォームで、[作成] - [アクション] - [アクション] を選択し、[アクションのプロパティ] インフォボックスで次の項目を指定します。
    • [名前] --「検討用配信」と入力します。
    • [表示] -- [ボタンバーにアクションを含む] を選択し、[アクションメニューにアクションを含む] の選択を解除します。
    • [ボタンの図形] -- [NotesNotes の図形] を選択し、プルダウンリストから図形を 1 つ選択します。
  3. インフォリストで [オブジェクト] タブをクリックして、[検討用配信 (アクション)] を選択します。
  4. [実行] プルダウンリストで [クライアント] を選択した後、[シンプルアクション] を選択します。
  5. [アクションの追加] ボタンをクリックして [文書の送信] アクションを選択します。
  6. フォームを保存します。

要求を承認または否認する

このタスクについて

[要求] フォームを改良して、メールで送信された要求の承認または否認を、管理者が簡単に行えるようにします。[要求を承認] アクションと [要求を否認] アクションの 2 つのフォームアクションを作成します。

[要求を承認] アクションには、次の式を使用します。文書のステータスを [承認] に変更してから、文書を次の承認者に配信します。

FIELD Status:="Approved";
@MailSend(NextApprover;"";"";"For your review";"Click Approve Request to approve this requisition or click Deny Request to return the request to " + Initiator;"Initiator":"Body";[sign]);

[要求を否認] アクションには、次の式を使用します。文書の状態を [否認] に変更して、発信者に通知を配信します。

FIELD Status:="Denied";
@MailSend(Initiator;"";"";"Re: Your request";"Your request was unable to be approved. Contact " + PreviousApprover + "for more information.");

チェックボックスアクションで非表示のテキストを表示する

このタスクについて

次の例では、データ入力フォームでの補足説明テキストの表示を要求するチェックボックスをユーザーが選択できるようにします。チェックボックスアクションは、通常のアクションを使用する場所であればどこでも使用できます。チェックボックスアクションを作成するには、2 種類のコードが必要です。1 つは、チェックボックスアクションの [値] プロパティの式です。この式で、Notes がチェックマークを表示する条件を指定します。もう 1 つは、チェックボックス値を切り替え、アクションに実行させたい操作を行う「Click」式またはスクリプトです。チェックボックスの状態を保存するための場所 (プロファイル文書のフィールドや環境変数など) を保持している必要があります。

非表示式など、チェックボックスの値の式は、True または False の値を返します。True の場合はチェックマークが表示されます。次の例では、「Options」という複数値のフィールドの個人プロファイルに値「Verbose」が含まれているときは、値の式の結果としてチェックマークが表示されます。

@GetProfileField("UserProfile"; "Options"; @UserName) = "Verbose"

Click イベントのコード例では、値「Verbose」がプロファイル文書フィールドにない場合は「Verbose」を挿入し、すでにある場合は「Verbose」を削除します。

_opts := @GetProfileField("UserProfile"; "Options"; @UserName);
@If(_opts = "Verbose";
	@SetProfileField("UserProfile"; "Options"; @Trim(@Replace(_opts; "Verbose"; "")); @UserName);
	@SetProfileField("UserProfile"; "Options"; @Trim(_opts : "Verbose"); @UserName)
);
REM {Redisplay the current form in the new mode.};
@If(@IsDocBeingEdited; @Command([ViewRefreshFields]); "")

REM 文よりも前のコードで、切り替える値を変更します。この例では、Verbose オプションによって、データを入力する際に役立つ情報が補足スタティックテキストとしてアプリケーションのフォームに表示されます。テキストを表示するかどうかの判断は、フォームの非表示式でプロファイル文書フィールドをテストします。ユーザーが文書を編集すると、このアクションは、以前に非表示にしたヘルプテキストを表示 (またはその逆に) するように画面を更新します。非表示式の例を次に示します。

!(@GetProfileField("UserProfile"; "Options"; @UserName) = "Verbose")

ヒント

このタスクについて

  • チェックボックスアクションのオプションはプロファイル文書に保存されるため、ユーザーがその時点で編集している文書だけでなく、アプリケーション全体に適用されます。場合によっては、@Environment や @SetEnvironment などの環境変数を使用したり、@GetDocField、@

SetDocField または @DbLookup を使用して Notes 文書に保存されたフィールドを使用したりすることもあります。

  • ユーザーの選択をワークステーション上のすべてのユーザーとアプリケーションに適用する場合は、環境変数を使用します。
  • プロファイル文書は複製されるため、その選択内容は、別のワークステーションを使用する場合に継承されます。
  • アクションのチェックボックス [値] の式に @DbLookup を使用する場合、@DbLookup はデフォルトでその結果をキャッシュするため、NoCache オプションを指定してください。