Power Apps iconPower AppsことはじめPower Apps icon
【承認フロー】簡易申請&承認アプリ
Step 4 / 4

[管理] 承認・却下の結果をアプリに反映させる仕組み

承認結果をSharePointリストへ書き戻し、アプリ上で確認できるようにします。

Power AppsからPower AutomateへIDを渡す

申請データを管理するSharePointリスト(トランザクションテーブル)には、ID列があります。
このID列を使い、ステータス列の状態を変更します。

  1. Power Automate側でPower Appsがフローを呼び出したときアクションに、数値型のパラメーター(ID用)を追加し、公開を実行します。

Power Automateでパラメーターを修正

  1. Power Apps側の申請ボタン > OnSelectを下記に書き換えます。
// データ保存
SubmitForm(Form1); 

// 承認フロー
'approve-to-teams'.Run(
    User().Email,
    "toshi@sasano-system.com",
    DataCardValue14.Text,
    DataCardValue1.Text ← ここを追加、IDCardのDataCardValueを選択
);

// 完了メッセージ
Notify("申請が完了しました", NotificationType.Success);
  1. 追加後はメニュー > Power Automate > 作成したフロー > 「最新の状態に更新」を実行します。

Power Automateで承認ステータスを書き換える

テンプレートを使っていれば、アクションを一つ追加するだけです。

  1. 承認アクションのTrue側にあるTeams通知の次に、SharePointコネクタの「項目の更新」アクションを追加します。
  2. サイトのアドレスとリスト名は任意で、IDは先ほど追加したPower Appsから渡されるID(RequestID)を選択します。
  3. 詳細パラメーターから「ステータス」を選択し、「承認済み」を選択します。
  4. このアクションをコピーし、False側に貼り付け、「ステータス」を「却下」に変更します。
  5. 公開を実行し、Power Automateを更新します。

項目の更新(True側)

項目の更新(False側)

更新ボタンの追加

承認/拒否の実行、SharePointリストのデータ更新、アプリへの反映はそれぞれタイムラグが発生します。
そこで、ユーザーが意図的に更新できるようにボタンを配置します。

  1. SidebarContainerにボタンを追加し、ディスプレイ > テキストを「更新」にします。
  2. 詳細設定 > OnSelectに下記を入力します。
Refresh(申請サンプルリスト)

ギャラリーの改善

申請データが増えると、申請ごとのステータスを一覧で確認できると良いです。

  1. ギャラリーのディスプレイ > レイアウトを「タイトル、サブタイトル、本文」に変更します。
  2. フィールドの本文に「ステータス.Value」を設定します。
  3. ギャラリー内のBodyを選択し、詳細設定 > Colorに下記を入力します。
If(
    ThisItem.ステータス.Value = "承認済み", Color.Green,
    ThisItem.ステータス.Value = "却下", Color.Red,
    Color.Gray
)

これにより、ステータスの値に従い、表示テキストの色が可変します。

編集フォームの修正

編集フォームのステータスCardに{Value: "承認待ち"}を入れていると、ステータスの値が可変しません。
SharePointリストの値を反映するようにします。

  1. ステータスDataCardの詳細設定 > Defaultを{Value: "承認待ち"}からThisItem.ステータスにします。

動作確認

アプリを実行し、申請を新規登録、承認までを行います。

申請を新規登録

申請を承認

承認された後、アプリの状態を確認すると、ステータスが「承認済み」になっています。

申請を新規登録

広告