今回の投稿背景
社内の承認処理について、今までSharePointのワークフローを使っていたけど
今回Microsoft Flowに焼き直しているときにふと・・・
「条件分岐って何使うのが一番いいんだろうか」
と思ったので、それぞれメリットデメリットをまとめてみました。
ワークフロー例
4段の承認処理があり、それぞれ承認担当者が異なるワークフロー。
承認が終わらなかった場合は差し戻し状態となり
修正が終わったら再度1からフローが進行する。
IF分岐のみで作ってみる
メリット
・フロー実行時に進行状況が見える
デメリット
・段階が増えれば増えるほど、動的コンテンツの候補が増える
・作ってるときは死ぬほど作りにくい
・差し戻し時は一旦フローを終了して、別テーブルに退避して云々みたいなことをする必要がある
・アクションの名前が変えられなくなること多々あり
・リリース後の修正もやっぱり死ぬほどめんどくさい
・特に段階を頭や中盤に追加で入れてくれと言われたときはマジで死ぬ
おすすめするフロー
承認段階の少なく、段階が増えそうにないフローだとこっちがいいかなと個人的には思う
Do UntilやSwitchを組み合わせてみる
メリット
・動的コンテンツの数が条件より上のものしか出ないので、段階増やしても増えることがない
・結構作りやすい
・差し戻しも割と簡単
・段階を増やす場合もスイッチの条件を増やせばいいだけ
デメリット
・フロー実行中の進行状態がわからない
→Do Untilから下は実行中とだけ出て、どこの処理やってるのか見えない
・ステータス管理にちょっと工夫がいる
→私はFlow制御専用の変数を作りました
Microsoftへの要望
・すみません、アクションをコピーする方法作ってくれませんかね(><)
おすすめするフロー
段階が多く、今後拡張がありそうなフローはこっちのほうがいいと思われます。
まとめ
作るフローによって、使用する条件も良し悪しがあると感じました。
まぁこれは、コーディングしてても変わらないですが・・・
いろいろ試して皆さんの最適解を見つけていくのが一番ですね^^