Help us understand the problem. What is going on with this article?

Power Automate で稟議書を実装してみた6 (Power Automate 編4)

経緯

前回 は、承認処理を行い、承認された時には次の承認経路に移る処理まで説明しました
今回は承認処理を抜けた後の処理を説明します

説明する処理は下図となります

承認処理が終了した時、登録されたアイテムの最新状態を取得

これまでと同様に、最新のアイテムを取得します

ループでタイムアウトしてしまってないか確認

承認経路をループしている Do until で、実行期間を 7 日間としました
その期間を越えて抜けてしまうと終了フラグが立ってない状態で抜けてしまうので、それで判定をしています (完璧じゃないですが...)

終了フラグが true の時はループが正常に終了している

コントロールコネクタの「条件」を使います

終了フラグ変数が true かどうかを判定しています

承認処理が正常終了時の文言を保持

変数コネクタの「変数の設定」を使います

はいの時、登録用データにログと最後の更新されたステータスを保持します

{
  "Log": "[@{convertFromUtc(utcNow(), 'Tokyo Standard Time', 'yyyy-MM-dd HH:mm:ss')}] 承認処理が終了しました",
  "Status": "@{body('承認処理が終了した時、登録されたアイテムの最新状態を取得')?['Status']}"
}

承認処理が正常終了しなかった時の文言を保持

いいえの時は、タイムアウトした旨の文言と、ステータスが Failure の文言を保持します

{
  "Log": "[@{convertFromUtc(utcNow(), 'Tokyo Standard Time', 'yyyy-MM-dd HH:mm:ss')}] 承認処理が期間内に終了しませんでした",
  "Status": "@{variables('ステータス用オブジェクト')['Failure']}"
}

ログを変数に設定

最新のアイテムから取得したログを、生成したログの後ろに付けます

終了フラグを true にします

処理が終了した旨判るように終了フラグに true をセットします

終了ログに書き込む

最後にログとステータスを更新します

ボディは次のようになっています

{
    '__metadata': {'type': 'SP.Data.ApplyListItem'},
    'Log': '@{variables('ログ')}',
    'Status': '@{variables('登録用データ')['Status']}'
}

以上ですべての処理は終了です

考察

トライ・アンド・エラーを繰り返しながら作っていったので、今見ると「あの時はこう設定しているのに、ここでは別のやり方してしまっている」とか、コネクタのネーミングがブレブレなどがあり、作り慣れてないなぁっと実感しています

本来なら Power Apps を使って画面も綺麗に作りたいところでしたが、ここまででお腹いっぱいになってしまいました... (つかれた)

関連記事

自分のためのメモに近い記事なのですが、長いのでインデックスつけます

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした