テーマ
条件式リファレンス
アクションポリシーと遷移条件で使用できる変数、関数、演算子をまとめます。条件式の入力方法はポリシーと条件式を参照してください。
条件式の基本
条件式は、左辺、演算子、右辺で構成します。文字列は二重引用符で囲み、数値は引用符なしで入力します。
text
$data.amount >= 100000
$user.roles has "ROLE_ID"andとorを使うと条件を組み合わせられます。
text
( $data.amount >= 100000 ) and ( $user.groups has "GROUP_ID" )変数と関数
プロセスデータ
| 表記 | 値 |
|---|---|
$data.<項目キー> | データスキーマで定義したプロセスデータの値 |
条件を評価するユーザー
| 表記 | 値 |
|---|---|
$user.id | ユーザーID |
$user.name | 名前 |
$user.email | メールアドレス |
$user.groups | 所属グループIDの配列 |
$user.roles | 付与されたロールIDの配列 |
$user.createdAt | ユーザーの作成日時 |
$user.updatedAt | ユーザーの更新日時 |
他のノードを実行したユーザー
<ノードID>にはタスクノードのIDを指定します。対象ノードの実行者がいない場合、値はありません。
| 表記 | 値 |
|---|---|
$executor(<ノードID>).id | 実行したユーザーのID |
$executor(<ノードID>).name | 実行したユーザーの名前 |
$executor(<ノードID>).email | 実行したユーザーのメールアドレス |
$executor(<ノードID>).groups | 実行したユーザーのグループIDの配列 |
$executor(<ノードID>).roles | 実行したユーザーのロールIDの配列 |
$executor(<ノードID>).createdAt | 実行したユーザーの作成日時 |
$executor(<ノードID>).updatedAt | 実行したユーザーの更新日時 |
トークンと分岐キー
トークンと分岐キーは遷移条件で使用します。アクションポリシーの値選択には表示されません。
| 表記 | 値 |
|---|---|
$token.childTokenLength | 並列分岐数 |
$token.approveCount | 結合ノードへ到達した承認フローの数 |
$token.rejectCount | 結合ノードへ到達した却下フローの数 |
$token.submitCount | 結合ノードへ到達した提出フローの数 |
$token.normalCount | 結合ノードへ到達した通常フローの数 |
$key.<キー名> | 動的な分岐で現在ノードに設定されたキーの値 |
並列処理がまだ実行されていないモデルの確認時は、$token.*は0として評価されます。分岐キーに対応する値がない場合、$key.*には値がありません。
数値変換
| 表記 | 値 |
|---|---|
$number(<値>) | 半角数字と小数点で記述した値を数値へ変換 |
演算子
比較
| 演算子 | 意味 |
|---|---|
== | 左辺と右辺が等しい |
!= | 左辺と右辺が等しくない |
> | 左辺が右辺より大きい |
>= | 左辺が右辺以上 |
< | 左辺が右辺より小さい |
<= | 左辺が右辺以下 |
配列とグループ階層
左辺には通常、$user.groups、$user.roles、または実行ユーザーの同じ属性を指定します。右辺はIDまたはIDの配列です。複数の値を指定した場合は、いずれか1つが一致すると条件を満たします。
| 演算子 | 意味 |
|---|---|
has | 左辺の配列が右辺の値を含む |
hasParentsOf | 左辺のグループのいずれかが、右辺グループの直接の親である |
hasChildrenOf | 左辺のグループのいずれかが、右辺グループの直接の子である |
hasAncestorsOf | 左辺のグループのいずれかが、右辺グループの祖先である |
hasDescendantsOf | 左辺のグループのいずれかが、右辺グループの子孫である |
論理
| 演算子 | 意味 |
|---|---|
and | 左右の条件を両方満たす |
or | 左右の条件のいずれかを満たす |
算術
算術演算子はテキスト入力で使用します。左右の値は数値である必要があります。
| 演算子 | 意味 | 注意 |
|---|---|---|
+ | 加算 | 文字列の連結には使用できません |
- | 減算 | |
* | 乗算 | |
/ | 除算 | |
% | 剰余 | 右辺は整数にします |
** | べき乗 |
入力時の注意
- 文字列リテラルは
"経理部"のように二重引用符で囲みます。 "100"は文字列、100と$number(100)は数値です。- ユーザー、ロール、グループを固定値として比較するときは、条件編集画面の一覧から選択するとIDが入力されます。
- ビジュアル入力で選べない演算子や複雑な式は「テキスト」で入力します。テキストからビジュアルへ変換できない式は、テキストのまま保持されます。
- 並列結合には条件を設定し、すべての分岐の承認を待つ場合は
$token.approveCount >= $token.childTokenLengthを使用します。