競合したサーバーとの同期を解決する

この記事では、サーバーとのモバイル同期の競合を解決するのに役立つ情報を提供します。

同期エラー テーブル

同期エラーが発生した場合、Dataverse 内の 同期エラー テーブルに新しいエントリが自動的に生成されます。 このテーブルは、次の列で構成されています。

列名 Description Example
エラー時刻 エラーが作成された時刻。 2024 年 5 月 17 日午前 7:16
エラーメッセージ エラーの説明。 Entity Account With Id = <RowId> Does Not Exist
エラーの種類 競合やレコードが見つからないエラーなどのエラーの種類。 レコードが見つかりません
レコード 同期エラーのレコードを更新しました。 Contoso
Owner レコードを更新したユーザー。 John Doe
アクション 同期するレコードに適用されるアクション。 Update
アクション データ アクションのペイロードデータを含むJSONデータ。 {"lastname":"Contoso2"}
要求データ クエリを含む Json。 {"lastname":"Contoso2","syncerror__regardingentityid":<syncerrorId>,"entitylogicalname":"account"}
エラー コード エラーのコード。 -2147015424

ユーザーに割り当てられたロールが 、同期エラー テーブルに対する読み取り特権を付与していることを確認します。 詳細情報: セキュリティ ロールを作成または編集してアクセスを管理する

同期エラー テーブルの使用方法に関する推奨事項

同期エラー テーブルは、標準の Dataverse テーブルです。 同期エラーを管理する モデル駆動型アプリ を作成することをお勧めします。

モデル駆動型アプリを実行すると、各ユーザーによる同期エラーを確認できます。 同期エラー行を選択した場合は、コマンド バーから 変更を再試行 できます。

[デバイスの状態] ページの同期エラー

同期エラーは、 デバイスの状態 ページにネイティブに表示されます。 [デバイスの状態] ページは、モデル駆動型アプリではすぐに使用できますが、キャンバス アプリで設定する必要があります。 詳細については 、「オフライン テンプレートとオフライン状態アイコンの使用 」を参照してください。

クラウド フローを使用して同期エラーに対するアクションを実行する

行の追加、変更、または削除時に Dataverse トリガーを使用して、Power Automate で自動クラウド フローを作成できます。 フローは、自動的に 電子メールを送信 したり、デバイスで 通知を送信 したりできます。

フロー内でユーザーのメール アドレスを取得するには、[同期エラー] 行の [所有者] 列を使用して Dataverse アクション [ID で行を取得する] を追加します。

同期の競合

クライアントとサーバーの間にデータの不一致がある場合、競合エラーが発生します。 既定では、ユーザーがオフライン モードで行った変更は、ユーザーがオンラインに戻ったときにサーバーに自動的に同期されます。

同期の競合を解決する方法

ユーザーがオフライン アプリのデータに変更を加えると、ネットワークが使用可能になるとすぐに、各列の更新が Dataverse にプッシュバックされます。 各列の最後の更新は Dataverse に格納されるため、競合する変更が原因でこの同期は失敗しません。

サーバー側プラグインと検証により、変更が無効になることがあります。 これらの変更はローカルに戻され、エラーは 同期エラー データバース テーブルに書き込まれます。

競合解決の設定

Important

競合解決の設定はキャンバス アプリには適用されません。

オフライン中に行われた更新が拒否される頻度が高すぎる場合は、競合解決の設定を既定値に変更することを検討してください。

  1. Power Platform 管理センターにサインインします。
  2. ナビゲーション ペインで、環境 を選択します。
  3. 環境を選択します。
  4. コマンド バーで、設定 を選択します。
  5. 製品>機能 を選択します。
  6. [モデル駆動型アプリのモバイル オフラインの詳細設定] セクションで、[モバイル オフライン同期の競合検出を有効にする] オプションをオフにします。

このオプションをオンにすると (推奨されません)、サーバー上の更新プログラムによってクライアント更新プログラムが適用されない場合があります。 競合エラーは手動で解決する必要があります。