Problemen tijdens eerste synchronisatie oplossen

Notitie

Vanaf november 2020:

  • Common Data Service heet voortaan Microsoft Dataverse. Zie Power Automate-blog voor meer informatie.
  • Een deel van de terminologie voor Microsoft Dataverse is bijgewerkt. Entiteit is nu bijvoorbeeld tabel en veld is nu kolom. Zie Terminologiewijzigingen voor meer informatie.

Dit onderwerp wordt binnenkort bijgewerkt om de meest recente terminologie weer te geven.

Dit onderwerp bevat informatie voor het oplossen van problemen voor de integratie van twee keer wegschrijven tussen Finance and Operations-apps en Dataverse. Dit onderwerp bevat specifieke informatie over het oplossen van problemen die kunnen optreden bij de eerste synchronisatie.

Belangrijk

In sommige problemen die in dit onderwerp worden beschreven, is mogelijk de rol van systeembeheerder vereist of de referenties van de Microsoft Azure Active Directory-tenantbeheerder (Azure AD). In de sectie voor elk probleem wordt uitgelegd of een specifieke rol of referenties vereist zijn.

Controleren op initiële synchronisatiefouten in een Finance and Operations-app

Nadat u de toewijzingssjablonen hebt ingeschakeld, moet de status van de toewijzingen Wordt uitgevoerd zijn. Als de status Wordt niet uitgevoerd, zijn er fouten opgetreden tijdens de initiële synchronisatie. Als u de fouten wilt weergeven , selecteert u het tabblad Details initiële synchronisatie op de pagina Twee keer wegschrijven.

Fout op het tabblad Details initiële synchronisatie

U kunt de initiële synchronisatie niet voltooien: 400 Ongeldige aanvraag

Vereiste rol om de fout op te lossen: systeembeheerder

Het volgende foutbericht kan worden weergegeven wanneer u probeert de toewijzing en de initiële synchronisatie uit te voeren:

([Ongeldige aanvraag], De externe server heeft een fout geretourneerd: (400) Ongeldige aanvraag.), er is een fout opgetreden bij de AX-export

Hier volgt een voorbeeld van de volledige foutmelding.

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 ---

Als deze fout voortdurend optreedt en u de eerste synchronisatie niet kunt voltooien, voert u de volgende stappen uit om het probleem op te lossen.

  1. Meld u aan bij de virtuele machine (VM) voor de Finance and Operations-app.
  2. Open Microsoft Management Console.
  3. Controleer in het deelvenster Services of de Microsoft Dynamics 365-raamwerkservice voor gegevens importeren/exporteren wordt uitgevoerd. Start de service opnieuw als deze is gestopt omdat de initiële synchronisatie dat vereist.

Fout bij initiële synchronisatie: 403 Verboden

Mogelijk wordt het volgende foutbericht weergegeven tijdens de initiële synchronisatie:

([Verboden], De externe server heeft een fout geretourneerd: (403) Verboden.), er is een fout opgetreden bij de AX-export

Volg deze stappen om het probleem op te lossen.

  1. Meld u aan bij de Finance and Operations-app.
  2. Verwijder op de pagina Azure Active Directory-toepassingen de DtAppID-client en voeg deze vervolgens opnieuw toe.

DtAppID-client in de lijst met Azure AD-toepassingen

Fouten met verwijzing naar zichzelf of circulaire verwijzingen tijdens initiële synchronisatie

Er wordt mogelijk een foutberichten als een van uw toewijzingen naar zichzelf verwijst of kringverwijzingen bevat. De fouten vallen in deze categorieën:

Fouten in de tabeltoewijzing Vendors V2–to–msdyn_vendors oplossen

U kunt de volgende initiële synchronisatiefouten tegenkomen bij de toewijzing van Leveranciers v2 aan msdyn_vendors, als de tabellen bestaande rijen hebben met waarden in de kolommen PrimaryContactPersonId en InvoiceVendorAccountNumber. Deze fouten treden op omdat InvoiceVendorAccountNumber een kolom is die naar zichzelf verwijst en PrimaryContactPersonId een kringverwijzing is in de leverancierstoewijzing.

De foutberichten die worden weergegeven, hebben de volgende vorm.

Kan de GUID voor het veld niet omzetten: <field>. De zoekopdracht is niet gevonden: <value>. Probeer deze URL's om te controleren of de verwijzingsgegevens bestaan: https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/<entity>?$select=<field>&$filter=<field> eq <value>

Hieronder volgen een aantal voorbeelden:

  • Kan de GUID voor het veld niet omzetten: msdyn_vendorprimarycontactperson.msdyn_contactpersonid. De zoekopdracht is niet gevonden: 000056. Probeer deze URL's om te controleren of de verwijzingsgegevens bestaan: https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/contacts?$select=msdyn_contactpersonid.contactid&$filter=msdyn_contactpersonid eq '000056'
  • Kan de GUID voor het veld niet omzetten: msdyn_invoicevendoraccountnumber.msdyn_vendoraccountnumber De zoekopdracht is niet gevonden: V24-1. Probeer deze URL's om te controleren of de verwijzingsgegevens bestaan: https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/msdn_vendors?$select=msdyn_vendoraccountnumber,msdyn_vendorid&$filter=msdyn_vendoraccountnumber eq 'V24-1'

Als rijen in de tabel leverancier waarden hebben in de kolommen PrimaryContactPersonId en InvoiceVendorAccountNumber, volgt u deze stappen om de initiële synchronisatie te voltooien.

  1. Verwijder in de Finance and Operations-app de kolommen PrimaryContactPersonId en InvoiceVendorAccountNumber uit de toewijzing en sla de toewijzing op.

    1. Selecteer op de pagina voor de toewijzing van twee keer wegschrijven voor Leveranciers v2 (msdyn_vendors), op het tabblad Ttabeltoewijzingen in het linkerfilter de optie Finance and Operations apps.Vendors V2. Selecteer in het rechterfilter Sales.Vendor.

    2. Zoek naar primarycontactperson om de bronkolom PrimaryContactPersonId te vinden.

    3. Selecteer Acties en vervolgens Verwijderen.

      De kolom PrimaryContactPersonId verwijderen

    4. Herhaal deze stappen om de kolom InvoiceVendorAccountNumber te verwijderen.

      De kolom InvoiceVendorAccountNumber verwijderen

    5. Sla de wijzigingen in de toewijzing op.

  2. Schakel het bijhouden van wijzigingen uit voor de tabel Leveranciers v2.

    1. Selecteer in de werkruimte Gegevensbeheer de tegel Gegevenstabellen.

    2. Selecteer de tabel Leveranciers V2.

    3. Selecteer in het actievenster Opties en selecteer Wijzigingen bijhouden.

      De optie Wijzigingen bijhouden selecteren

    4. Selecteer Wijzigingen bijhouden uitschakelen.

      Selecteer Wijzigingen bijhouden uitschakelen

  3. Voer de initiële synchronisatie opnieuw uit van de toewijzing Leveranciers v2 (msdyn_vendors). De eerste synchronisatie moet zonder fouten worden uitgevoerd.

  4. Voer de eerste synchronisatie uit voor de toewijzing CDS Contactpersonen V2 (contacts). U moet deze toewijzing synchroniseren als u de kolom voor de primaire contactpersoon in de tabel leveranciers wilt synchroniseren, omdat initiële synchronisatie ook moet worden uitgevoerd voor de rijen voor contactpersonen.

  5. Voeg de kolommen PrimaryContactPersonId en InvoiceVendorAccountNumber weer toe aan de toewijzing Leveranciers v2 (msdyn_vendors) en sla de toewijzing op.

  6. Voer de initiële synchronisatie opnieuw uit van de toewijzing Leveranciers v2 (msdyn_vendors). Alle rijen worden gesynchroniseerd omdat het bijhouden van wijzigingen is uitgeschakeld.

  7. Schakel het bijhouden van wijzigingen weer in voor de tabel Leveranciers v2.

Fouten oplossen in de tabeltoewijzing Klanten V3–to–Accounts

U kunt de volgende initiële synchronisatiefouten tegenkomen bij de toewijzing van Klanten v3 aan Accounts, als de tabellen bestaande rijen hebben met waarden in de kolommen ContactPersonID en InvoiceAccount. Deze fouten treden op omdat InvoiceAccount een kolom is die naar zichzelf verwijst en ContactPersonID een kringverwijzing in de leverancierstoewijzing is.

De foutberichten die worden weergegeven, hebben de volgende vorm.

Kan de GUID voor het veld niet omzetten: <field>. De zoekopdracht is niet gevonden: <value>. Probeer deze URL's om te controleren of de verwijzingsgegevens bestaan: https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/<entity>?$select=<field>&$filter=<field> eq <value>

Hieronder volgen een aantal voorbeelden:

  • Kan de GUID voor het veld niet omzetten: primarycontactid.msdyn_contactpersonid. De zoekopdracht is niet gevonden: 000056. Probeer deze URL's om te controleren of de verwijzingsgegevens bestaan: https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/contacts?$select=msdyn_contactpersonid.contactid&$filter=msdyn_contactpersonid eq '000056'
  • Kan de GUID voor het veld niet omzetten: msdyn_billingaccount.accountnumber. De zoekopdracht is niet gevonden: 1206-1. Probeer deze URL's om te controleren of de verwijzingsgegevens bestaan: https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/accounts?$select=accountnumber.account&$filter=accountnumber eq '1206-1'

Als rijen in de tabel klant waarden hebben in de kolommen ContactPersonID en InvoiceAccount, volgt u deze stappen om de initiële synchronisatie te voltooien. U kunt deze methode gebruiken voor alle standaardtabellen zoals accounts en contactpersonen.

  1. Verwijder in de Finance and Operations-app de kolommen ContactPersonID en InvoiceAccount uit de toewijzing Klanten V3 (accounts) en sla de toewijzing op.

    1. Selecteer op de pagina voor de toewijzing van twee keer wegschrijven voor Klanten v3 (accounts) op het tabblad Tabeltoewijzingen in het linkerfilter de optie Finance and Operations app.Customers V3. Selecteer in het rechterfilter Dataverse.Account.

    2. Zoek naar contactperson om de bronkolom ContactPersonID te vinden.

    3. Selecteer Acties en vervolgens Verwijderen.

      De kolom ContactPersonID verwijderen

    4. Herhaal deze stappen om de kolom InvoiceAccount te verwijderen.

      De kolom InvoiceAccount verwijderen

    5. Sla de wijzigingen in de toewijzing op.

  2. Schakel het bijhouden van wijzigingen uit voor de tabel Klanten v3.

    1. Selecteer in de werkruimte Gegevensbeheer de tegel Gegevenstabellen.

    2. Selecteer de tabel Klanten V3.

    3. Selecteer in het actievenster Opties en selecteer Wijzigingen bijhouden.

      De optie Wijzigingen bijhouden selecteren

    4. Selecteer Wijzigingen bijhouden uitschakelen.

      Selecteer Wijzigingen bijhouden uitschakelen

  3. Voer de eerste synchronisatie opnieuw uit voor de toewijzing Klanten V3 (Accounts). De eerste synchronisatie moet zonder fouten worden uitgevoerd.

  4. Voer de eerste synchronisatie uit voor de toewijzing CDS Contactpersonen V2 (contacts).

    Notitie

    Er zijn twee toewijzingen met dezelfde naam. Selecteer de toewijzing met de volgende omschrijving op het tabblad Details: Sjabloon voor twee keer wegschrijven voor sync tussen FO.CDS Vendor Contacts V2 to CDS.Contacts. Vereist nieuw pakket [Dynamics365SupplyChainExtended].

  5. Voeg de kolommen InvoiceAccount en ContactPersonId weer toe aan de toewijzing Klanten V3 (Accounts) en sla de toewijzing op. Nu maken de kolommen InvoiceAccount en ContactPersonId weer deel uit van de live synchronisatiemodus. In de volgende stap voert u de initiële synchronisatie uit voor deze kolommen.

  6. Voer de initiële synchronisatie opnieuw uit voor de toewijzing Klanten V3 (Accounts). Omdat het bijhouden van wijzigingen is uitgeschakeld, worden de gegevens voor InvoiceAccount en ContactPersonId uit de Finance and Operations-app gesynchroniseerd met Dataverse.

  7. Voor het synchroniseren van de gegevens voor InvoiceAccount en ContactPersonId van Dataverse met de Finance and Operations-app, gebruikt u een gegevensintegratieproject.

    1. Maak in Power Apps een gegevensintegratieproject tussen de tabellen Sales.Account en Finance and Operations apps.Customers V3. De gegevensrichting moet van Dataverse naar de Finance and Operations-app gaan. Omdat InvoiceAccount een nieuw kenmerk is voor twee keer wegschrijven, wilt u mogelijk de initiële synchronisatie voor dit kenmerk overslaan. Zie voor meer informatie Gegevens integreren in Dataverse.

      In de volgende afbeelding ziet u een project waarmee CustomerAccount en ContactPersonId worden bijgewerkt.

      Gegevensintegratieproject voor het bijwerken van CustomerAccount en ContactPersonId

    2. Voeg de bedrijfscriteria toe in het filter aan de kant van Dataverse, zodat alleen de rijen die aan de filtercriteria voldoen, in de app Finance and Operations worden bijgewerkt. Klik op de filterknop om een filter toe te voegen. Voeg vervolgens In het dialoogvenster Query bewerken een filterquery als _msdyn_company_value eq '<guid>' toe.

      [OPMERKING] Als de filterknop niet aanwezig is, maakt u een ondersteuningsticket om aan het gegevensintegratieteam te vragen om de filtermogelijkheid voor uw tenant in te schakelen.

      Als u geen filterquery voor _msdyn_company_value invoert, worden alle rijen gesynchroniseerd.

      Een filterquery toevoegen

    De initiële synchronisatie van de rijen is nu voltooid.

  8. Schakel het bijhouden van wijzigingen in voor de tabel Klanten V3 in de Finance and Operations-app.