CookBook

IM-BIS アクション設定の「条件」の書き方

投稿日:2017-11-30 更新日:

このCookbookでは、アクション設定の条件式の書き方を説明します。

この方法により入力値に応じてアクション設定の外部連携や入力モード変換などのイベントの実行をコントロールすることができます。

完成イメージ


サンプルでは、条件に応じて表示の切替イベントが実行されます。

パターン1 入力値を利用した条件

  • Action(String) : 入力した文字を条件として実行します。
    • 文字が "hide" :item1が表示されなくなります。
    • 文字が "show" :item1が表示されます。
    • 文字が"show"と"hide"のいずれでもない :警告メッセージが表示されます。
  • Action(Number) : 入力した整数の値を条件として実行します。負数の値の場合には何も実行されません。
    • 数値が "1" :item2が表示されなくなります。
    • 数値が "2" ~ "500" :item2が表示されます。
    • 数値が "501" 以上 :警告メッセージが表示されます。
  • Action(Date1) : 入力した日付を条件として実行します。
    • 日付が過去日 :item3が表示されなくなります。
    • 日付が今日または未来日 :item3が表示されます。
  • Action(Date2) : Action(Date2)とAction(Date1)の日付の比較結果を条件として実行します。
    • Date1の1週間後の日付 < Date2 :item4が表示されなくなります。
    • Date2 <= Date1の1週間後の日付 :item4が表示されます。

パターン2 選択値を利用した条件

  • Action(selectbox) : セレクトボックス等の単一の値を選択するアイテムの入力値を条件として実行します。
    • "Select 1" ,"Select 3" ,"Select 5" のいずれか1つ :item5が表示されなくなります。
    • "Select 2" ,"Select 4" のいずれか1つ :item5が表示されます。
  • Action(checkbox) : チェックボックス等の複数の値を選択するアイテムの入力値を条件として実行します。チェックボックスの値の選択後に「Checkbox Event」ボタンを押下すると実行します。
    • すべての値が未選択、またはすべて選択 :item6が表示されなくなります。
    • いずれか1つの値を選択 :item6が表示されます。

パターン3 画面種類等の条件

  • Condition of screen type : 表示中の画面種別を取得し、取得した画面種別を表示します。
  • Condition of User's locale : ユーザのロケール情報を取得し、取得したロケールを表示します。
  • Condition of client type : クライアントタイプを取得し、取得したクライアントタイプを表示します。

完成サンプル

以下のサンプルをダウンロードしてご利用ください。

サンプルに含まれる定義情報は以下の表の通りです。

種類 定義名 補足説明
BIS定義 im_cookbook_113702 関連するFormaアプリケーション定義やIM-Workflowのフロー定義等の情報も含まれます。

上記のサンプルの利用条件は以下の通りです。

  • intra-mart Accel Platform(Advanced) 2016 Summer(8.0.14), IM-BIS 2016 Summer(8.0.11)以降のバージョンであること
  • サンプルデータのインポートが行われていること

サンプルは、intra-mart Accel Platform(Advanced) 2016 Summer(8.0.14), IM-BIS 2016 Summer(8.0.11)で動作確認を行っています。

レシピ

  1. アクション設定の条件の設定方法
  2. 条件に入力値を利用する方法
  3. 条件に選択値を利用する方法
  4. 条件にカレントの情報を利用する方法

1. アクション設定の条件の設定方法

初期表示イベントやアイテムイベントに設定した外部連携や表示モード変換の実行条件を設定してみましょう。

  1. フォーム・デザイナで作成済みのフォームを表示してください。
  2. 「アクション設定」をクリックしてください。
  3. 設定したアクションに対応する「条件設定」画面を表示してください。
    • 初期表示イベントの場合、「初期表示イベント」タブの「条件」アイコンをクリックしてください。
      im_cookbook_113702_1
    • アイテムイベントの場合、トリガーとなるアイテムとイベントタイプの「設定」アイコンをクリックしてください。
      im_cookbook_113702_2
      アクション設定画面でアクションの「条件」アイコンをクリックしてください。
      im_cookbook_113702_3
    • テーブルイベントの場合、トリガーとなるテーブルと列とイベントタイプの「設定」アイコンをクリックしてください。
      im_cookbook_113702_4
      アクション設定画面でアクションの「条件」アイコンをクリックしてください。
      im_cookbook_113702_5

      注意:特殊イベントについては条件設定を行うことはできません。

詳しくは以下のドキュメントをご覧ください。

以降の手順で、さまざまな条件式の書き方を確認しましょう。

2. 条件に入力値を利用する方法

2-1. 文字列(String)の値を利用する場合

画面アイテム「文字列」などのデータ型が文字列(String)の値を条件に利用する場合、以下の形式で条件に設定してください。

定義例

以下の例は「入力値が"hide"の場合」の条件です。

以下の例は「入力値が"show"と"hide"のいずれでもない場合」(条件の否定)の条件です。

2-2. 数値(Number)の値を利用する場合

画面アイテム「数値」などのデータ型が数値(Number)の値を条件に利用する場合、以下の形式で条件に設定してください。

数値で固定値を条件とする場合は、値を""(ダブルクォーテーション)で囲ってください。""がない場合、関数やフィールド識別IDと判断されます。

定義例

以下の例は「入力値が"1"の場合」の条件です。

以下の例は「入力値が"1"より大きく"500"以下である場合」の条件です。

以下の例は「入力値が"500"ではない場合」の条件です。

2-3. 日付(Date)の値を利用する場合

画面アイテム「日付」などのデータ型が日付(Date)の値を条件に利用する場合、以下の形式で条件に設定してください。

固定の日付を条件に利用する場合、datevalue関数によりエポックミリ秒に変換してください。

エポックミリ秒での加減算により特定の日数以降の日付を条件に設定できます。

定義例

以下の例は「入力値が今日以前の日付の場合」の条件です。

以下の例は「入力値が他の日付アイテム(trigger_date2)と同じ日付の場合」の条件です。

以下の例は「入力値が"2015/12/31"以前の日付の場合」の条件です。

以下の例は「入力値が他の日付アイテム(trigger_date1)の7日後の日付より後の場合」の条件です。

3. 条件に選択値を利用する方法

3-1. 単一の選択値を利用する場合(セレクトボックスなど)

画面アイテム「セレクトボックス」「ラジオボタン」の単一の選択値を条件に利用する場合、以下の形式で条件に設定してください。
比較対象の値は、該当のアイテムの「送信値」と一致させてください。

定義例

以下の例は「選択値が"1"の場合」の条件です。

以下の例は「どれも値が選択されていない場合」の条件です。

3-2. 複数の選択値を利用する場合(チェックボックスなど)

画面アイテム「チェックボックス」「リストボックス」の複数の選択値を条件に利用する場合、以下の形式で条件に設定してください。
比較対象の値は、該当のアイテムの「送信値」と一致させてください。

定義例

以下の例は「選択値が"a"の場合」の条件です。

以下の例は「選択値が"a"と"c"の両方である場合」の条件です。

以下の例は「どれも値が選択されていない場合」の条件です。

4. 条件にカレントの情報を利用する方法

表示中の画面種別やユーザロケールなどのカレントの情報を条件に利用する場合、以下の形式で条件に設定してください。
サンプルでは、初期表示イベントの実行条件に利用しています。
アイテムイベントの条件に指定することにより承認時のみ外部連携を実行することもできます。

設定方法の詳細は以下のドキュメントをご覧ください。

条件に利用できるパラメータの詳細は以下のドキュメントをご覧ください。

定義例

以下の例は「表示中の画面が承認の場合」の条件です。

以下の例は「ユーザロケールが英語である場合」の条件です。

以下の例は「クライアントタイプがSP(スマートフォン)である場合」の条件です。

-CookBook
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

No.9 音声認識からスケジュール登録

この記事は、EWS 2017で行われたLogicDesignerの講演内容に関する記事です。 こちらの例では、LogicDesignerと音声認識(Web Speech API)の仕組みを利用して、音 …

no image

ワークスペースカレンダーアイテムでスケジュール機能と連携したスケジュールを登録する方法

このCookBookでは、intra-mart Accel Collaboration ワークスペースのワークスペースカレンダーについて紹介しています。 intra-mart Accel Collab …

no image

IM-BloomMaker 入力規則エラーメッセージをカスタマイズする方法

このCookBookでは、「入力規則エラーメッセージ」エレメントに表示されるエラーメッセージをカスタマイズする方法について説明します。 intra-mart Accel Platform 2024 A …

FormaDesignerのユーザプログラム入力チェックをロジックフローで作成する方法

このCookBookでは、FormaDesignerのユーザプログラム入力チェックをロジックフローで作成する方法をご紹介します。 サンプルでは、スプレッドシート・グリッドテーブル・明細テーブルを使用し …

no image

Payara の Docker を作成する。

この CookBook では、Payara の Docker の作成手順について紹介しています。 レシピ ベースイメージの作成 Payara の Docker イメージを作成します 実行します 1. …