アプリが期待通りに動作しない場合、Power Apps の構成に問題があるか、Power Apps 以外のシステムに問題がある可能性があります。
問題に応じて、次の個人または組織からヘルプを得ることができます。
問題の種類 | 誰が最も助けになるか |
---|---|
アプリケーション | アプリの作成者、管理者 |
Power Apps | マイクロソフト |
外部データソースと統合 | 外部システムを担当するユーザー |
アプリのバグと Power Apps のバグの違い
アプリのバグとは特定のアプリでの予期しない動作を指します。 これに対し、Power Apps バグとは、アプリを作成、実行、または管理するシステムでの予期しない動作です。 根本的な Power Apps のバグがアプリのバグを引き起こす可能性があるため、そのバグがアプリのバグなのか Power Apps のバグなのかを判断するのが難しいい場合があります。
ここにいくつかの特徴的な兆候があります。
アプリのバグ | Power Apps バグ |
---|---|
特定のアプリで問題を再現できる | 問題を再現するアプリを作成できる |
特定のデータ接続へのアクセスが必要 | どのようなデータ接続でも問題が再現するため、データソースの特定の構成が必要な場合があります |
1 つの組織内の 1 つのアプリにのみ影響します | 複数の組織のアプリに影響する、または影響を与える可能性がある |
問題に関係のないコンポーネントを含む複雑なアプリ | 最小限の再現アプリで、いくつかのコンポーネントの問題を示す |
カスタム機能とコードに言及する | 具体的な Power Apps の機能について言及 |
マイクロソフトのドキュメントに該当する機能が存在しない | マイクロソフトのドキュメントには、該当する機能についての説明と、期待される動作が記載されています |
アプリのバグの例
次の例は、アプリのバグと、所有者がバグを再現して解決できるように、ユーザーがそれらをアプリ所有者に手順として説明する方法を示しています。
キャンバス アプリ は請求書を表示しません。
- Contoso などの キャンバス アプリ にログインします。
- ホーム画面で自分の請求書を選択します。
- 予想される動作: ユーザーが作成した請求書が表示されます。
- 実際の動作: 請求書は表示されません。
モデル駆動型アプリは請求書を表示しません。
- 環境内の Contoso アプリにログインします。
- ダッシュボード ページで、サイトマップの請求書を選択します。
-
請求書ページで、ビューを 自分のアクティブな請求書に設定します。 請求書の一覧が表示されます。
- 予想される動作: ユーザーが作成した請求書が表示されます。
- 実際の動作: 請求書は表示されません。
機能、ユーザー インターフェイス、およびテーブルはアプリと組織に固有であり、バグの原因は人によって異なるため、バグは大きく異なる可能性があります。 たとえば、invoice は Power Apps の組み込みテーブルではありません。 キャンバス アプリには、特定のユーザーによるレコードのフィルターに特化した機能がないため、アプリの作成者はPower Fx の式を記述するか、データ コネクタを構成する必要があります。 同様に、作成者はモデル駆動型アプリで、必要なレコードを表示するために ビュー を構成する必要があります。
どちらの例も、Power Apps の問題があるかどうかを判断するのに十分な情報がありません。 アプリの作成者は、アプリの問題を調査するのに最適です。
Power Apps のバグの例
アプリ制作者が調査し、Power Apps のバグと分類されるものを見つけた場合、次の例と同様に報告するかもしれません。
キャンバス アプリ フィルター関数が、フィルター テキストにアスタリスク文字が含まれる場合に結果を返さない問題
- 問題を示すために、最小限の再現コード アプリが添付されています。
- このアプリにはシンプルなコレクションが含まれています:
TestTable
とデータ[{Name: "a"}, {Name: "*b"}]
。 - アプリには 2 つの テーブル コントロールがあります。 どちらのコントロールも、名前列を表示するように構成されています。
-
Table1 の Items は
Filter(TestTable, Name="a")
に設定されています。 -
Table2 の Items は
Filter(TestTable, Name="*b")
に設定されています。- 予想される動作: Table1 は
{Name: "a"}
レコードを表示し、フィルター 関数の条件Name="a"
に一致します。 Table2 は{Name: "*b"}
レコードを表示し、フィルター 関数の条件Name="*b"
に一致します。 - 実際の動作: Table1 は期待されるレコードを表示しますが、Table2 はレコードを表示しません。
- 注: Gallery などの他のデータセット コントロールでも、Items が同じ式に設定されている場合、同様の動作が見られます。
- 予想される動作: Table1 は
フィルター条件にアスタリスク文字が含まれている場合、モデル駆動型アプリのビューは結果を返しません
- いずれかのテーブルのビューを作成します。
- ビューのすべてのフィルターを削除します。
- プライマリ列にフィルターを追加し、*b で始まるテキストと一致します。
- このビューとテーブルを任意のモデル駆動型アプリに追加します。
- すべての変更を保存して公開します。
- アプリを実行します。
- プライマリ列に異なる値を持つレコードをいくつか追加します。 1 つの列が *b で始まっていることを確認します。
- テーブルのページを表示します。
- ビューを新しく作成したビューに変更します。
- 予想される動作: グリッドには、プライマリ列の値が *b で始まるレコードが表示されます。
- 実際の動作: レコードは表示されません。
- 注: フィルター条件で b のようにアスタリスクが使用されていない場合、フィルターは期待どおりに機能します。
これらの Power Apps バグは特定の Power Apps 機能に関する問題を説明しています: キャンバス アプリの フィルター 関数とモデル駆動型アプリの ビュー フィルター。
優れたサポートリクエストは、誰でも簡単に問題を再現できる十分な情報を提供します。 作成者は、問題を切り分けようとしたときに試した調査アクションやトラブルシューティングの結果について言及する場合があります。 たとえば、この問題は Chrome ブラウザーでのみ発生し、Firefox では発生しないことを述べているかもしれません。
良い Power Apps サポート リクエストの条件
良いサポートリクエストは、問題をアプリのバグではなく、Power Apps のバグとしてフレームします。 該当する場合は、Microsoftが問題を迅速に理解して解決できるように、これらのガイドラインに従ってください。
わかりやすいタイトルを付ける
タイトルには以下を記載する必要があります。
- 特定の Power Apps 機能
- 予期しない動作
- バグが発生する原因となる条件
不適切なタイトルの例: "ギャラリー コントロールが空白です"
適切なタイトルの例: "フィルター 関数は、フィルター テキストにアスタリスク文字が含まれている場合、結果を返しません"
元のアプリではなく、簡略化されたアプリをアタッチする
アプリの実行に関する問題については、キャンバス アプリの場合は最小限の再現コード アプリ、モデル駆動型アプリの場合はバニラの再現ソリューションを提供します。
重要
優れたサポート リクエストの目標は、誰もが自分のデバイスで問題を再現できるように、十分な情報を含めることです。
最小限のアプリかバニラの再現アプリで当該のバグがアプリのバグではなく、Power Apps のバグであることを、示すことができれば、マイクロソフトは迅速に解決できます。 これらの再現アプリがないと、解決が遅れたり、サポート要求が受け入れられなかったりする可能性があります。
例外
最小限の再現アプリまたはバニラの再現アプリは、次の問題に対して常に実行可能または必要であるとは限りません。
- 特定のデータ ソースからのデータ アクセスと保存
- 特定のユーザー データ (ユーザー権限など)
- ライセンス
- オフライン操作
- 一般的なサーバーの問題
いずれにしても、アプリを可能な限り簡素化し、キャンバス または モデル駆動型アプリの問題を切り分けます。
ネットワーク トレースの添付
データとサーバーの問題については、クライアントとサーバー間のネットワーク通信を調べることで、問題のあるレイヤーを切り分けることができます。 ネットワーク呼び出しのレコードは、ネットワーク トレースと呼ばれます。
モニター または ブラウザー開発ツール を使用して、ネットワーク トレースを記録できます。
問題を再現する直前に記録を開始し、正常に再現した直後に記録を終了してください。 この短い間隔により、Microsoft によるサポート要求の処理の遅延を引き起こす可能性のあるトレース内の無関係な情報が最小限に抑えられます。
問題を再現するための詳細な手順を提供します
最小限の再現アプリまたはバニラの再現アプリを作成した場合は、そのアプリで問題の再現方法を説明します。 最初に問題が見つかったアプリの問題については説明しないでください。
観察された動作と予想される動作について言及します。
スクリーンショットまたはビデオを提供する
ユーザー インターフェイスの問題については、書面による説明ではなく、スクリーンショットまたはビデオでバグを再現する手順をより迅速に明確にすることができます。
公式ドキュメントへのリンク
影響を受ける機能とその予想される動作を明確にするために、Microsoft ドキュメントへのリンクを含めます。
専門的開発機能に関する問題については、動作しない API 関数のドキュメントへのリンクを提供します。
コード サンプルの簡略化
問題がコーディングやその他の専門的な開発機能に関係している場合は、最初にコードを簡略化します。 通常、Power Apps のバグを示すのに必要なのは、ほんの数行のコードだけです。 他のカスタマイズを行わずに、新しい環境にアプリをデプロイします。 問題が発生していることを確認し、問題のあるコードのスニペットを添付します。
Power Apps の専門的な能力開発機能の例:
- Power Apps コンポーネント
- モデル駆動型アプリのカスタム フォーム スクリプト
- モデル駆動型アプリの Power Fx または JavaScript コマンド
- モデル駆動型アプリのための Web リソース
他のユーザーが自分の環境で問題を再現できるように、特定の構成手順について言及します。
システム情報を提供する
問題は特定のバージョンの Power Apps、ブラウザー、または環境でのみ発生する可能性があります。 Microsoft がこれらの詳細を使用できるようにセッション ID を指定します。
調査からメモを追加する
考えられる原因を排除するために、さまざまな構成を試すことができます。 サポート リクエストでこれらの構成について言及してください。 このような情報は、他の人が問題をよりよく理解し、同じ手順を繰り返さないようにするために役立ちます。
Power Apps のサポート要求を送信する
サポート リクエストを送信する前に、バグが既知の問題であるかどうかを確認してください。 バグがまだ知られていない場合は、サポートリクエストを作成してバグを報告することができます。