0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PowerApps×PowerAutomate アプリからフローを実行した際に発生したエラーメッセージを取得する

Posted at

動画で2回に分けて解説しています。

1つ目はフローからの応答をtrue/falseで取得する方法

2つ目はフローからエラーメッセージを取得して表示する方法

PowerAutomate側のフローの構成

実行するフローの全体的な構成はこちら
6468C9EA-8E80-4D39-A7A7-1F2471C8ED5B_1_201_a.jpeg

PowerAutomate側でデータを受け取ってフローが実行されますが、この際にフロー内でエラーが発生してもそれをPowerAppsアプリに送らないと、アプリ側からは実行の成否が分かりません。

エラーが発生する可能性があるアクションの監視

そのためフロー内でエラーが発生すると考えられるアクションを、スコープアクションの中に入れて監視します。

image.png
スコープは、アクションの追加で「コントロール」の中にあります。

今回の例では「イベントの追加」アクションを「TRY」と名前をつけた「スコープ」の中に入れています。

エラーが発生した場合の処理

「TRY」の下に「スコープ」アクションをもう一つ追加し、「Catch」と名前を付けます。
23413075-80E8-43B1-B5B8-F27191654F54_4_5005_c.jpeg

「Catch」の「•••」から「実行条件の構成」を選択します。
83C5BBE3-09E7-418B-B2C9-C3F342E0DC8C_4_5005_c.jpeg
初めは「TRY」が成功した時となっているので、「失敗、スキップ、タイムアウト」した時にチェックを入れて「OK」します。
これで「TRY」内のアクションが成功しなかった時に「Catch」の中のアクションが実行されるようになりました。

エラーメッセージの取得

「Catch」の中には、「データ操作」の「選択」と「変数」の「変数の設定」を入れています。
23413075-80E8-43B1-B5B8-F27191654F54_4_5005_c.jpeg
「選択」アクションで「TRY」の実行結果からメッセージを取得し、変数の設定で「レスポンス」に「選択」の出力を入れています。

「選択」アクションの「開始」には「式」で以下のように記述。

result('TRY')

「選択」アクションのマップは右側のアイコンで「テキストモード」にして、「式」で以下のように記述します。

item()['output/body/message']

応答アクションに変数を格納

次に「変数の設定」アクションで変数「レスポンス」に「動的な値」から「選択」「出力」を設定します。
これでTRYのエラーメッセージが変数「レスポンス」に入ります。

最後に「アクションの追加」から「Power Apps」「PowerAppsまたはフローへの応答」アクションを追加します。

「PowerAppsまたはフローへの応答」アクション(英語の記載になっていますが)を開き、「出力追加」から「テキスト」を選択します。
「テキスト」以外もありますが、テキスト形式が一番安定して使えると思います。
タイトルは、「response」として、「値」には「動的な値」から、変数「レスポンス」を入れます。

PowerAppsアプリでフローからの応答を取得

PowerApps側のフローを実行するボタン等のOnSelectプロパティに以下のように記述します。

Set(_res,
    フロー名.Run("フローに渡す文字列","フローに渡す文字列").response
    )

末尾の「.response」はフローの応答アクションで設定したタイトルを記述することで、フローからの応答が得られます。それをSet関数で変数「_res」に格納しています。

応答は先ほど設定した通りテキスト形式ですので、テキストインプットボックスで表示すれば、エラーの内容を選択してコピーすることが可能ですので、調べたり共有したり出来るのでおすすめです。
45521FA4-CD94-4E85-97AA-E14ED0E864C8_1_201_a.jpeg

エラーメッセージは英語で返されるので、ボタンのOnSelectプロパティに以下を設定

Launch("https://translate.google.com/?hl=ja&sl=en&tl=ja&text="&TextInput1.Text)

TextInput1がエラーメッセージを表示するテキストインプットボックスコントロールです。
上記のように設定することで、エラーメッセージをそのままGoogle翻訳で翻訳してもらうことができます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?