サポート > リポジトリ > ワークフロー > 条件によって申請フローを絞込む

ワークフロー開始時、条件に合致した申請フローを絞込むことができます。 R7.4

「物品購入伺い」モデルにワークフローを適用した例です。登録画面を開いたとき、申請フローは "営業一部物品購入伺いフロー1" が選択できるようになっています。これは10万円以下のフローとして定義しています。(後述)

図1 初期状態の申請フロー選択肢

金額を入力すると画面が再描画され、申請フローが変わります。ここでは金額が10万円を超えると "営業一部物品購入伺いフロー2" に切り替わるようにしています。

図2 金額欄を入力する
図3 申請フローが切り替わる

金額が20万円を超えると "営業一部物品購入伺いフロー3" に切り替わります。

図4 申請フローが切り替わる (2)
申請フローの選択肢は常に最低1つ、選択できるように設定します。この項目は必須指定のため、空白の状態で画面が再描画されると入力エラーのメッセージが画面に表示されてしまいます。

モデルの定義

「物品購入伺い」モデルの定義は次のとおりです。このモデルにワークフローを適用します。

図5 物品購入伺いモデル

「金額」項目は、値の変更時に画面を再描画するとします。

図6 値の変更時に画面を再描画する設定

アカウント

次の5つのアカウントを用意します。

アカウント氏名
user1ユーザー1(申請者)
user2ユーザー2
user3ユーザー3
user4ユーザー4

ルール

申請時に、どのワークフローが適用できるかは次のルールとします。

金額フロー1フロー2フロー3
10万円未満--
10万円以上20万円未満--
20万円以上--

フロー参加者設定

ビルドしたアプリケーションで、「フロー参加者設定」を用意します。上記ルールを適用します。

"順次・順次・順次・順次フロー" は標準では提供されていないため、別途「フローパターン」モデルを追加してください。
図7 フロー参加者設定一覧

"営業一部物品購入伺いフロー1" は、10万円未満用のフローとします。ノードは2つです。

図8 順次・順次フローの定義

"営業一部物品購入伺いフロー2" は、10万円以上20万円未満用のフローとします。ノードは3つです。

図9 順次・順次・順次フローの定義

"営業一部物品購入伺いフロー3" は、20万円以上用のフローとします。ノードは4つです。

図10 順次・順次・順次・順次フローの定義

ワークフロー設定

上の3つのフローを、「物品購入伺い」に紐づけます。

"営業一部物品購入伺いフロー1" の設定で、「有効条件」として次の式を設定します。

return kian.price < 100000
図11 営業一部物品購入伺いフロー1の有効条件を設定する

"営業一部物品購入伺いフロー2" の設定で、「有効条件」として次の式を設定します。

return kian.price >= 100000 && kian.price < 200000
図12 営業一部物品購入伺いフロー2の有効条件を設定する

"営業一部物品購入伺いフロー3" の設定で、「有効条件」として次の式を設定します。

return kian.price >= 200000
図13 営業一部物品購入伺いフロー3の有効条件を設定する

ここまでで、3つのワークフロー設定を用意しました。

図14 ワークフロー設定

このように「有効条件」を設定すると、この条件に合致した場合に、申請フローの選択肢として画面に表示されるようになります。

有効条件は「サーバサイドJavaScript」の式として記述します。

プログラミング文法はJavaScriptになります。詳細は「業務ロジック」をお読みください。

項目名にはキャメル記法が適用されます

「モデルID」は設計情報に記載した名前がそのまま利用できます。(上記例では "kian" という表記になります。)

「項目ID」はキャメル記法が適用されます。
例えば項目IDが "group_cd" の場合、スクリプト内では "groupCd" と表記します。

return koubai_model.groupCd == 1