こんにちは!
今日はPowerAppsとFlowを利用したモバイル向けの申請承認アプリの作成にハマってました〜
PowerApps側はSharePointのカスタムリストを元に非常にシンプルなアプリを作成したためそんなに難しくなかったのですが、Flowでは承認申請の2段階の対応が必要だったため少し手こずりました。。。。。笑
今回やりたかったのはカスタムリストで承認者1、承認者2と2つの項目があり承認者1のみ設定された場合は承認者2の承認プロセスをスキップするということです。
実際のカスタムリストは以下のような感じです。
最初は特にロジックは気にしていなかったのですが、承認者1のみ設定した状態で承認プロセスを起動するとエラーになることがわかりました。
そこで色々調べていたら、承認者2が空白状態でFlowの承認プロセスを起動したため割り当てる人が見つけられませんということでエラーになりました。
そこで承認者2が空白の時は承認者1が承認したタイミングで承認プロセスを終了させるという条件が必要でした。
以下の図で赤色部分の判定に苦戦しました(笑)
で結果から言うと
「empty」関数
を使う必要がありました。
私は普通に「承認者のアドレス=””」と設定していたのですが、それだと全て「空白ではない」と判定されてしまいました。
empty関数は
「オブジェクト、配列または文字列が空の場合Trueを返す」
という関数だったのでempty関数の引数に承認者2の項目を渡し、Trueかどうか判定しました。
実際の判定画面は以下です。
詳細設定モードだと以下のような設定内容です。
@equals(empty(body(‘項目の取得’)?[‘authorizer2’]?[‘Email’]), true)
ぜひ、Flowで空白判定をされる方は参考にしてみてください。