初めて同期をする際に発生する問題のトラブルシューティング

この記事では、財務と運用アプリと Dataverse 間の二重書き込み統合に関するトラブル シューティングの情報を提供します。 このトピックでは、 初めて同期をする際に発生する可能性のある問題の修正に役立つトラブルシューティングに特化した情報を提供します。

重要

この記事で説明されている問題の中には、システム管理者ロールまたは Microsoft Microsoft Entra テナント管理者の資格情報のいずれかが必要な場合があります。 各問題のセクションでは、特定のロールまたは資格情報が必要な場合について説明しています。

財務と運用アプリでの初期同期エラーの確認

マッピングのテンプレートを有効にすると、マッピングの状態が 実行中 になります。 状態が 非実行中 のとなっている場合、初回の同期中にエラーが発生しています。 エラーを表示するには、デュアル書き込み ページの 初回同期の詳細 タブを選択し ます。

[初期同期の詳細] タブでのエラー。

場合によっては、初期同期が行き詰っているように見える場合があります。 初期同期の ステータスが [実行] と長い間表示される場合は、財務アプリケーションおよびオペレーション アプリケーションでFin FinFinの ジョブ名の詳細を調べて、そのステータスをさらに詳細に調べてください。 次のスクリーン ショットは、これらの項目が関連する方法を示しています:

  1. テーブル マップ画面で、[初期同期の 詳細] タブを選択 し、目的の実行を選択します。 これにより、FinFinFinのジョブ 名を提供する実行の詳細 画面が表示されます

    [初期同期の詳細] タブ。

  2. 財務および運用アプリケーションのデータ管理に移動し、[ジョブ履歴] セクション を検索 します。 実行グループID列 の手順1. からFinいくつかの ジョブ 名を検索 します。 選択した後、[実行の詳細] ボタン を選択 して、ジョブのステータスの詳細を表示できます。

    データ管理のFinいくつかのジョブ名。

初回同期を完了できません:400 要求が不正です

問題の修正に必要な役割:システム管理者

マッピングと初回の同期実行時に、次のメッセージが表示される場合があります。

([不正な要求]、リモート サーバーからエラーが返されました: (400) 要求が不正です。)、AX のエクスポート中にエラーが発生しました。

完全なエラー メッセージの例を次に示します。

Dual write Initial Sync completed with status: Error. Following are the details:
Executed leg: From AX Financial dimensions to CRM msdyn_dimensionattributes
with exported records count: 0, ImportRecordsErrorCount: 0,
ImportRecordsInsertedCount: 0 and ImportRecordsUpdatedCount: 0
ErrorsDetails:
Dual write Initial sync failed
Message: ([Bad Request], The remote server returned an error: (400) Bad Request.), AX export encountered an error
Stacktrace: at
Microsoft.Dynamics.Integrator.QueryGenerator.AxClient.\<ExportAxPackage\>d__16.MoveNext()
in X:\\bt\\1024532\\repo\\src\\Core\\QueryGenerator\\AxClient.cs:line 265
\--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.D365.ServicePlatform.Context.ServiceContext.Activity.\<ExecuteAsync\>d__11\`2.MoveNext()
\--- End of stack trace from previous location where exception was thrown ---

このエラーが継続して発生し、初回同期を完了できない場合は、次の手順に従って問題を修正してください。

  1. 財務と運用アプリの仮想マシン (VM) にサインインします。
  2. Microsoft 管理コンソールを起動します。
  3. サービス ウィンドウで、Microsoft Dynamics 365 データインポート エクスポート フレームワーク サービスが実行されていることを確認します。 初回同期が必要となるため、停止している場合は再起動してください。

初回同期エラー: 403 権限がありません

初回の同期を実行した際に、次のエラー メッセージが表示される場合があります。

([権限がありません]、リモート サーバーからエラーが返されました: (403) 権限がありません)、AX のエクスポート中にエラーが発生しました

問題を解決するには、次の手順に従います。

  1. 財務と運用アプリにサインインします。
  2. Microsoft Entra アプリケーション のページで、DtAppID クライアントを削除し、再度追加します。

Microsoft Entra アプリケーションの一覧の DtAppID クライアント。

初回の同期中の自己参照または循環参照エラー

いずれかのマッピングに自己参照または循環参照がある場合、次のようなエラーメッセージが表示されることがあります。 エラーは次のカテゴリに分類されます:

仕入先 V2–to–msdyn_vendors テーブル マッピングでのエラーを解決する

Vendors V2msdyn_vendors のマッピングにおいて、PrimaryContactPersonIdInvoiceVendorAccountNumber 列に値がある既存の行がある場合、初期同期化エラーが発生する場合があります。 これらのエラーの発生は、InvoiceVendorAccountNumber が自己参照列であり、PrimaryContactPersonId が仕入先マッピングで循環参照であるためです。

受信したエラー メッセージには、次のフォームがあります。

フィールドのguidを解決できませんでした: <field>。 ルックアップ項目が検出されませんでした : <値>。 このURLを試し、参考データが存在するかどうかを確認してください: https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/<entity>?$select=<field>&$filter=<field> eq <value>

次にいくつか例を挙げます。

  • フィールド: msdyn_vendorprimarycontactperson.msdyn_contactpersonid の guid を解決できませんでした。 ルックアップの項目が見つかりません : 000056。 このURLを試し、参考データが存在するかどうかを確認してください: https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/contacts?$select=msdyn_contactpersonid.contactid&$filter=msdyn_contactpersonid eq '000056'
  • フィールド: msdyn_invoicevendoraccountnumber.msdyn_vendoraccountnumber の guid を解決できませんでした。 ルックアップは見つかりませんでした : V24-1。 このURLを試し、参考データが存在するかどうかを確認してください: https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/msdn_vendors?$select=msdyn_vendoraccountnumber,msdyn_vendorid&$filter=msdyn_vendoraccountnumber eq 'V24-1'

仕入先テーブルの任意の行に PrimaryContactPersonId 列と InvoiceVendorAccountNumber 列がある場合、以下のステップの手順に従って、初期同期を正常に完了してください。

  1. 財務と運用アプリで、マッピングから PrimaryContactPersonId 列と InvoiceVendorAccountNumber 列を削除し、マッピングを保存します。

    1. Vendors V2 (msdyn_vendors) のデュアル書き込みマッピング ページで、左のフィールドにある テーブル マッピングs タブで、財務と運用アプリ. 仕入先 V2 を選択します。 右側のフィルターで、Sales.Vendor を選択します。

    2. primarycontactperson を検索して、PrimaryContactPersonId ソース列を見つけます。

    3. アクション を選択し、削除 を選択します。

      PrimaryContactPersonId 列を削除します。

    4. これらの手順を繰り返して、InvoiceVendorAccountNumber 列を削除します。

      InvoiceVendorAccountNumber 列を削除します。

    5. マッピングへの変更を保存します。

  2. 仕入先 V2 テーブルの Change Tracking をオフにします。

    1. データ管理 ワークスペースで、データ テーブル タイルを選択します。

    2. 仕入先 V2 テーブルを選択します。

    3. 操作ウィンドウで、オプション を選択し、Change Tracking を選択します。

      Change Tracking オプションを選択します。

    4. Change Tracking を無効にする を選択します。

      Change Tracking を無効にするを選択します。

  3. Vendors V2 (msdyn_vendors) マッピングの初期同期を実行します。 初期同期はエラーなしで正常に実行されます。

  4. CDS 連絡先 V2 (連絡先) マッピングの初期同期を実行します。 連絡先行に対しても初期同期する必要があるため、仕入先テーブルの基本連絡先列を同期する場合は、このマッピングを同期する必要があります。

  5. PrimaryContactPersonId 列と InvoiceVendorAccountNumber 列を Vendors V2 (msdyn_vendors) マッピングに追加し直し、マッピングを保存します。

  6. Vendors V2 (msdyn_vendors) マッピングの初期同期を再度実行します。 変更追跡がオフになっているため、すべての行が同期されます。

  7. 仕入先 V2 テーブルの Change Tracking をオフにし直します。

顧客 V3–to–Accounts テーブル マッピングでエラーを解決する

テーブルに ContactPersonID 列と InvoiceAccount 列の値を持つ既存の行がある場合、アカウント に対して 顧客 V3 のマッピングで初期同期エラーが発生する場合があります。 これらのエラーは、InvoiceAccount が自己参照列であり、ContactPersonID が仕入先マッピングで循環参照であるためです。

受信したエラー メッセージには、次のフォームがあります。

フィールドのguidを解決できませんでした: <field>。 ルックアップ項目が検出されませんでした : <値>。 このURLを試し、参考データが存在するかどうかを確認してください: https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/<entity>?$select=<field>&$filter=<field> eq <value>

次にいくつか例を挙げます。

  • フィールド: primarycontactid.msdyn_contactpersonid の guid を解決できませんでした。 ルックアップの項目が見つかりません : 000056。 このURLを試し、参考データが存在するかどうかを確認してください: https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/contacts?$select=msdyn_contactpersonid.contactid&$filter=msdyn_contactpersonid eq '000056'
  • フィールド: msdyn_billingaccount.accountnumber の guid を解決できませんでした。 ルックアップは見つかりませんでした : 1206-1。 このURLを試し、参考データが存在するかどうかを確認してください: https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/accounts?$select=accountnumber.account&$filter=accountnumber eq '1206-1'

顧客テーブルの任意の行に ContactPersonID 列と InvoiceAccount 列がある場合、以下のステップの手順に従って、初期同期を正常に完了してください。 この方法は、アカウント連絡先 などの既成のテーブルに使用できます。

  1. 財務と運用アプリで、顧客 V3 (アカウント) マッピングから ContactPersonID 列と InvoiceAccount 列を削除し、マッピングを保存します。

    1. 顧客 V3 (アカウント) の二重書き込みマッピング ページにあるテーブル マッピング タブの左のフィルタで、財務と運用アプリ. 顧客 V3 を選択します。 右側のフィルターで、Dataverse.Account を選択します。

    2. contactperson を検索して、ContactPersonID ソース列を見つけます。

    3. アクション を選択し、削除 を選択します。

      ContactPersonID 列を削除します。

    4. これらの手順を繰り返して、InvoiceAccount 列を削除します。

      InvoiceAccount 列を削除します。

    5. マッピングへの変更を保存します。

  2. 仕入先 V3 テーブルの Change Tracking をオフにします。

    1. データ管理 ワークスペースで、データ テーブル タイルを選択します。

    2. 顧客 V3 テーブルを選択します。

    3. 操作ウィンドウで、オプション を選択し、Change Tracking を選択します。

      Change Tracking オプションを選択します。

    4. Change Tracking を無効にする を選択します。

      Change Tracking を無効にするを選択します。

  3. 顧客 V3 (アカウント) マッピングの初期同期を実行します。 初期同期はエラーなしで正常に実行されます。

  4. CDS 連絡先 V2 (連絡先) マッピングの初期同期を実行します。

    メモ

    同じ名前のマップが 2 つあります。 詳細 タブで次の説明を持つマップを必ず選択してください: FO.CDS Vendor Contacts V2 から CDS.Contacts との間の同期のための二重書き込みテンプレート。新しいパッケージ [Dynamics365SupplyChainExtended] が必要です。

  5. 顧客 V3 (アカウント) マッピングに InvoiceAccount 列と ContactPersonId 列を追加し直し、マッピングを保存します。 InvoiceAccount 列と ContactPersonId 列の両方が再度ライブ同期モードの一部になりました。 次の手順で、これらの列の最初の同期を行います。

  6. 顧客 V3 (アカウント) マッピングの初期同期を再度実行します。 変更追跡がオフになっているため、 InvoiceAccountとContactPersonId のデータは、財務およびオペレーション アプリケーションと同期されます Dataverse。

  7. InvoiceAccountContactPersonId のデータを Dataverse から財務と運用アプリに同期するには、データ統合プロジェクトを使用します。

    1. Power Apps で、Sales.Account財務と運用アプリ.顧客 V3 テーブルの間にデータ統合プロジェクトを作成します。 データの方向は、Dataverse から財務と運用アプリである必要があります。 InvoiceAccount は二重書き込みの新しい属性なので、この属性の初期同期をスキップすることができます。 詳細については、Dataverse へデータを統合 を参照してください。

      次の図は、CustomerAccountContactPersonId を更新するプロジェクトを示しています。

      CustomerAccount と ContactPersonId を更新するためのデータ統合プロジェクト。

    2. フィルタに会社の基準 Dataverse を追加して、フィルタ基準に一致する行だけが財務および運用アプリケーションで更新されます。 フィルタを追加するには、[フィルタ] ボタンを選択します。 その後、クエリの編集 ダイアログ ボックスで、_msdyn_company_value eq '<guid>' のようなフィルター クエリを追加できます。

      [注記] フィルタ― ボタンが表示されない場合は、サポート チケットを作成して、データ統合チームにテナントのフィルター機能を有効にするよう依頼します。

      フィルタ クエリを入力しない場合、すべての _msdyn_company_valueが同期されます。

      フィルタ クエリを追加します。

    行の初期同期が完了しました。

  8. 財務と運用アプリで、顧客 V3 テーブルの変更追跡をオンにし直します。

10以上のルックアップ フィールドを持つマップでの初期同期が失敗した場合

[顧客V3 - 勘定、販売注文のマッピング、または10以上のルックアップ フィールドを持つマップ] で初期同期エラーを実行しようとする場合、次のエラー メッセージが表示される場合があります。

CRMExport: パッケージの実行が完了します。 エラーの説明5 https://xxxxx//datasets/yyyyy/tables/accounts/items? $select = 勘定番号、address2_city、address2_countryの取得を試行します。(msdyn_company/cdm_companyidのID)&$orderby= 勘定番号に失敗しました。

クエリのルックアップの制限により、エンティティ マッピングに 10 件以上のルックアップが含まれている場合、初期同期が失敗します。 詳細については、クエリで関連エンティティ レコードを取得するを参照してください。

この問題を解決するには、次の手順に従います:

  1. ルックアップの数が 10 以下になるように、オプションのルックアップ フィールドを二重書き込みエンティティ マップから削除します。
  2. マップを保存し、初期同期を実行します。
  3. 最初の手順の初期同期が正常に完了したら、残りのルックアップ フィールドを追加し、最初の手順で同期したルックアップ フィールドを削除します。 ルックアップ フィールドの数が 10 以下であることを確認します。 マップを保存し、初期同期を実行します。
  4. すべてのルックアップ フィールドが同期されるまで、これらの手順を繰り返します。
  5. すべてのルックアップ フィールドをマップに戻し、マップを保存し、初期同期をスキップしてマップを実行します。

このプロセスにより、マップでライブ同期モードが有効になります。

当事者郵便番号と当事者電子住所の初期同期中の既知の問題

当事者の郵便番号と当事者の電子住所の初期同期を実行しようとする場合に、以下のエラー メッセージが表示される場合があります:

当事者番号の変更が見つかりません Dataverse。

財務およびオペレーション アプリケーションでは 、タイプが "人と組織" の関係者をフィルタ処理するDirPartyCDSEntityに設定された範囲があります。 その結果、 CDS関係者の初期同期 : msdyn_partiesは、法人や営業単位などの他のタイプの関係者と同期しませんCDS 関係者の郵便番号 (msdyn_partypostaladdresses) または関係者の連絡先V3 (msdyn_partyelectronicaddresses) で初期同期を実行するとき、エラーを受け取る可能性があります。

すべてのタイプの Dataverse 関係者が正常に同期できるよう、財務およびオペレーション エンティティの当事者タイプの範囲を削除するには、修正に取り組しています。

顧客または連絡先データの初期同期を実行する際のパフォーマンスに問題がありますか?

顧客データの初期同期を実行し、顧客マップを実行中で、連絡先データの初期同期を実行しているなら、顧客住所の LogisticsPostalAddressLogisticsElectronicAddress テーブルへの挿入および更新時にパフォーマンスに問題が発生する可能性があります。 CustCustomerV3EntityVendVendorV2Entity では同じグローバル郵便住所と電子アドレス テーブルが追跡されており、二重書き込みによって、データを他方の側に書き込むクエリをさらに作成しようとします。 顧客の初期同期を既に実行している場合は、連絡先データの初期同期を実行している間は対応するマップを停止してください。 同じ作業を仕入先データに行います。 初期同期が完了したら、すべてのマップを初期同期をスキップして実行できます。

値が 0 の Float データ型の同期ができない

固定支払額やトランザクション通貨の金額など、価格フィールドの値が 0 であるレコードに対して、初期同期が失敗することがあります。 この場合、次のようなエラー メッセージが表示されます。

入力パラメータの検証中にエラーが発生しました : Microsoft.OData.ODataException: リテラル '000000' を予期される型のEdmに変換できない。小数点の,...

問題は、データ管理モジュールのソース データ形式の下にある言語ロケール値にあります。 言語ロケール フィールドの値を en-us に変更して、もう一度やり直してください。