WAGBY11 MANUAL / 22
承認経路と条件を設定する
承認段階と担当者を順に設定し、申請内容に応じて必要な承認段階だけを実行できます。
最終更新日:
1. このページで伝える機能
承認段階と担当者を順に設定し、申請内容に応じて必要な承認段階だけを実行できます。
2. Wagby11で実現できること
備品申請をまず直属上司が確認し、購入金額が1万円を超える場合だけ部門責任者の決裁へ進める例です。第1段階は常に実行し、第2段階に購入金額の条件を設定します。

条件がない段階は常に実行し、条件がfalseとなる段階は省略します。この例では5,000円の申請は上司の承認で決裁、30,000円の申請は部門責任者の承認まで進みます。すべての段階を省略する申請はエラーとなり、自動で決裁されるわけではありません。
担当者は、固定のユーザー・直接所属グループ・ロールや、申請者の上司・組織の責任者から決められます。固定のユーザー・グループ・ロールを併記した場合はOR条件です。グループとロールの両方を満たす条件という意味ではありません。
経路の申請者条件は、登録者のうち誰が申請できるかを決めます。「全員」を許可しても、他人が登録したデータを代わりに申請できるようにはなりません。申請した時点の経路と担当者は保存され、後の経路変更を進行中の申請へ自動反映しません。
2.1 実行条件で使える文法と式
実行条件は、「この承認段階が必要か」をtrue(実行する)またはfalse(省略する)で返す式です。段階の人数を決める「承認条件」や、誰が担当するかを決める「担当者条件」とは別の設定です。
項目は対象モデルの英語名name_enをそのまま書きます。例えばpurchaseAmountは購入金額です。式全体を#{...}や${...}で囲みません。以下の項目名は例なので、自分のモデルで公開されている項目名に置き換えます。
| 使える内容 | 記法・例 | 意味・注意点 |
|---|---|---|
| 保存済みの項目値 | purchaseAmount、reason | 公開されている文字列・整数・十進小数・真偽値・日付・時刻・日時の項目を参照できます。 |
| 文字列の定数 | 'SPECIAL'、"SPECIAL" | 一重または二重引用符で囲みます。項目名や関数名は大文字・小文字を区別します。 |
| 整数の定数 | 10000、-1、3000000000L | 整数定数の負号を使えます。小数は#decimalで指定します。 |
| 真偽値・未設定値 | true、false、null | はい/いいえの値や、値が入っていない状態を表します。 |
| 一致・不一致 | ==、!=category == 'SPECIAL' | 同じか・異なるかを比較します。文字列も内容で比較します。 |
| 大小比較 | <、<=、>、>=purchaseAmount > 10000 | 数値や日付など、比較できる型同士を使います。数値と文字列は暗黙に変換しません。真偽値の大小比較はできません。 |
| 両方を満たす | and または && | 二つの条件が両方trueならtrueです。左がfalseなら右は評価しません。 |
| どちらかを満たす | or または || | どちらかがtrueならtrueです。左がtrueなら右は評価しません。 |
| 条件の否定 | ! または not!#isBlank(reason) | trueとfalseを反転します。この例は「理由が空欄ではない」です。 |
| 条件のまとまり | (条件1 or 条件2) and 条件3 | 括弧で、どの条件を先にまとめるかを明示できます。 |
2.2 使える関数は3種類
関数名の先頭には#を付けます。ワークフローの実行条件で使える関数は次の3種類で、いずれも引数は一つです。
| 関数 | 何を返すか | 実行条件での使用例 | 主な規則 |
|---|---|---|---|
#decimal(text) | 正確な十進小数 | purchaseAmount > #decimal('10000.50') | 符号付き十進文字列から数値にします。整数部38桁・小数部18桁まで。指数・桁区切り・通貨記号・nullは使えません。 |
#date(text) | 日付 | purchaseDate >= #date('2026-10-01') | yyyy-MM-dd形式です。存在しない日付、不正な形式、nullはエラーです。 |
#isBlank(text) | 空欄ならtrue、それ以外はfalse | !#isBlank(reason) | 文字列専用です。null・空文字・空白だけの文字列ならtrueです。数値や日付の未設定判定には使いません。 |
2.3 業務でよく使う実行条件の例
購入金額purchaseAmount、購入日purchaseDate、申請区分category、要確認フラグneedsReview、理由reasonが、利用可能な保存済み項目として定義されている例です。
| この段階を実行したいとき | 実行条件 |
|---|---|
| 購入金額が入力済みで、1万円を超える | purchaseAmount != null and purchaseAmount > 10000 |
| 購入金額が入力済みで、1万円以上 | purchaseAmount != null and purchaseAmount >= 10000 |
| 特別申請、または要確認フラグがオン | category == 'SPECIAL' or needsReview == true |
| 理由が入力されている | !#isBlank(reason) |
| 購入日が入力済みで、2026年10月1日以降 | purchaseDate != null and purchaseDate >= #date('2026-10-01') |
| 購入金額が入力済みで、10,000.50を超える | purchaseAmount != null and purchaseAmount > #decimal('10000.50') |
2.4 計算式との違いと、使えない記法
初期値や計算・導出項目の式で使える関数・記法を、そのまま実行条件へ使うことはできません。共通の式評価基盤を使いますが、ワークフローでは許可範囲を絞っています。
- 四則演算・余りなどの算術演算や、
条件 ? 値1 : 値2による三項演算子は使えません。quantity * unitPrice > 10000のように、その場で計算して判定する式も使えません。 #today()・#now()・#userId()・#hasGroup()・#moveDay()など、上の3種類以外の関数は使えません。IF(...)・AND(...)などの関数形式も使いません。- 非表示・予約・保存しない項目、参照・ファイル項目や関連データは参照できません。
customer.nameのように他モデルへたどる記法、配列の添字、任意のJavaメソッド呼び出し・代入・正規表現なども使えません。 - 式は最大2,000文字、括弧・式の構造の深さは最大32段です。文字列定数の外側の語・記号にも128要素の上限があります。
- 式の最終結果は必ず真偽値にします。数値や文字列だけを書く式、未取得項目、不正な型の比較、不正な関数引数はエラーです。実行時に選ばれない条件の中も、保存時に構文・型などを検証します。
複雑な金額計算などが必要なら、保存時計算であらかじめ結果を業務項目へ保存し、実行条件ではその公開項目を比較する方法があります。一般の計算式の仕様は関数と式の仕様で説明しますが、このページの実行条件には上記の制約を適用します。
3. AIへの指示例
最小限の指示例
購入金額が1万円を超える申請だけ、部門責任者の決裁も必要にしてください。AIは金額項目、境界金額を含めるか、通常の承認段階、誰を責任者とするかを類推して補います。1万円ちょうどをどちらに含めるかも伝えると明確です。
より詳細な指示例
備品申請の第1段階を直属上司、第2段階を所属組織の部門責任者にしてください。第1段階は常に実行し、第2段階だけpurchaseAmount > 10000を指定します。10,000円以下は上司の承認で決裁とします。金額は保存済みの公開数値項目を使い、経路の条件は管理画面で設定してください。5,000円・10,000円・30,000円で実行段階を確認します。実行条件で許可される文法と3種類の関数だけを使い、金額が未入力の場合の扱いも確認してください。
既存の定義・データ・権限を保持し、Wagby11のguide・referenceを確認してください。利用者向け操作マニュアルを更新し、生成・ビルド後に該当する利用者の画面とAPIで動作を確認してください。4. 編集されるAppSchemaの例
以下は関連する定義の抜粋です。構文を覚えなくても、誰がどの条件で申請・承認するかをAIへ伝えられます。
entity:
workflow: { enabled: true }
attributes:
# 他の属性は省略
- name: 購入金額
name_en: purchaseAmount
type: numberAppSchemaは条件式で利用する金額項目と、モデルのワークフロー対応を定義します。承認経路の実行条件式は運用設定です。式で使えるのは保存済みの公開スカラー項目などに限られ、非表示項目や参照・ファイルなどは使えません。
5. 参考資料
- 承認経路と条件
designer/docs/appschema/html/guide/14-workflow/02-routes.html- モデルの準備
designer/docs/appschema/html/guide/14-workflow/01-setup.html- reference:式言語(ワークフローの許可範囲)
designer/docs/appschema/html/reference/16-expression-language.html- ワークフロー仕様:承認ノードの実行条件
designer/docs/java/html/28_workflow.html