Delen via


Problemen tijdens eerste synchronisatie oplossen

Dit artikel bevat informatie voor het oplossen van problemen met de integratie van Twee keer wegschrijven tussen apps voor financiën en bedrijfsactiviteiten 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 artikel 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 app voor financiën en bedrijfsactiviteiten

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 app voor financiën en bedrijfsactiviteiten.
  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 app voor financiën en bedrijfsactiviteiten.
  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 niet omzetten voor het veld: 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 niet omzetten voor het veld: 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 app voor financiën en bedrijfsactiviteiten 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 Tabeltoewijzingen in het linkerfilter apps voor financiën en bedrijfsactiviteiten.Leveranciers 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 uit voor 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 voor 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 niet omzetten voor het veld: 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 niet omzetten voor het veld: 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 app voor financiën en bedrijfsactiviteiten 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 app voor financiën en bedrijfsactiviteiten.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 synchronisatie 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 app voor financiën en bedrijfsactiviteiten gesynchroniseerd met Dataverse.

  7. Voor het synchroniseren van de gegevens voor InvoiceAccount en ContactPersonId van Dataverse met de app voor financiën en bedrijfsactiviteiten, gebruikt u een gegevensintegratieproject.

    1. Maak in Power Apps een gegevensintegratieproject tussen de tabellen Sales.Account en apps voor financiën en bedrijfsactiviteiten.Customers V3. De gegevensrichting moet van Dataverse naar de app voor financiën en bedrijfsactiviteiten 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 voor financiën en bedrijfsactiviteiten worden bijgewerkt. Klik op de filterknop om een filter toe te voegen. U kunt vervolgens in het dialoogvenster Query bewerken een filterquery toevoegen zoals _msdyn_company_value eq '<guid>'.

      [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_companyvalue 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 app voor financiën en bedrijfsactiviteiten.

Initiële synchronisatieproblemen in toewijzingen met meer dan 10 opzoekvelden

Mogelijk wordt het volgende foutbericht weergegeven wanneer u een initiële synchronisatiefout probeert uit te voeren op Klanten V3 - Rekeningen, toewijzingen van Verkooporders of een toewijzing met meer dan 10 opzoekvelden:

CRMExport: uivoering van pakket voltooid. Foutbeschrijving 5 Pogingen om gegevens van https://xxxxx//datasets/yyyyy/tables/accounts/items?$select=rekeningnummer, address2_city, address2_country, ... (msdyn_company/cdm_companyid 'id')&$orderby=accountnumber asc op te halen is mislukt.

Vanwege de opzoekbeperking van de query, kan de eerste synchronisatie niet worden uitgevoerd wanneer de entiteitstoewijzing meer dan 10 zoekopdrachten bevat. Zie Gerelateerde tabelrecords met een query ophalen voor meer informatie.

Volg deze stappen om dit probleem op te lossen:

  1. Verwijder optionele opzoekvelden uit de entiteitstoewijzing voor twee keer wegschrijven, zodat het aantal zoekopdrachten 10 of minder is.
  2. Sla de toewijzing op en voer de initiële synchronisatie uit.
  3. Wanneer de initiële synchronisatie voor de eerste stap is uitgevoerd, voegt u de resterende opzoekvelden toe en verwijdert u de opzoekvelden die u in de eerste stap hebt gesynchroniseerd. Zorg ervoor dat het aantal opzoekvelden 10 of minder is. Sla de toewijzing op en voer de initiële synchronisatie uit.
  4. Herhaal deze stappen totdat alle opzoekvelden zijn gesynchroniseerd.
  5. Voeg alle opzoekvelden weer toe aan de toewijzing, sla de toewijzing op en voer de toewijzing uit met Initiële synchronisatie overslaan.

Via dit proces wordt de modus voor toewijzing voor live synchronisatie ingeschakeld.

Bekend probleem tijdens de initiële synchronisatie van postadressen van partijen en elektronische adressen van partijen

Mogelijk wordt het volgende foutbericht weergegeven wanneer u probeert de oorspronkelijke synchronisatie van postadressen en elektronische adressen van partijen uit te voeren:

Partijnummer kan niet worden gevonden in Dataverse.

Er is een bereik ingesteld voor DirPartyCDSEntity in apps voor financiën en bedrijfsactiviteiten waarmee partijen van het type Persoon en Organisatie worden gefilterd. Hierdoor worden bij een initiële synchronisatie van de toewijzing van CDS-partijen - msdyn_parties geen partijen van andere typen gesynchroniseerd, waaronder Rechtspersoon en Operationele eenheid. Wanneer de initiële synchronisatie wordt uitgevoerd voor postadressen van CDS-partij (msdyn_partypostaladdresses) of Partijcontacten V3 (msdyn_partyelectronicaddresses) wordt er mogelijk een fout weergegeven.

We werken aan een oplossing om het bereik partijtype voor de Finance + Operations-entiteit te verwijderen, zodat partijen van alle typen naar Dataverse kunnen worden gesynchroniseerd.

Zijn er prestatieproblemen als de initiële synchronisatie voor gegevens van klanten of contactpersonen wordt uitgevoerd?

Als u de initiële synchronisatie voor gegevens van Klanten hebt uitgevoerd, de toewijzingen van Klanten uitvoert en u vervolgens de initiële synchronisatie voor gegevens van Contactpersonen uitvoert, kunnen er prestatieproblemen optreden tijdens het invoegen en bijwerken van de tabellen LogisticsPostalAddress en LogisticsElectronicAddress voor adressen van contactpersonen. Dezelfde algemene postadres- en elektronische adrestabellen worden bijgehouden voor CustCustomerV3Entity en VendVendorV2Entity en met twee keer wegschrijven wordt geprobeerd meer query's te maken om gegevens naar andere de andere kant te schrijven. Als u de initiële synchronisatie voor Klant al hebt uitgevoerd, stopt u de bijbehorende toewijzing tijdens het uitvoeren van de initiële synchronisatie van gegevens van Contactpersonen. Voer voor gegevens van Leverancier hetzelfde uit. Wanneer de initiële synchronisatie is voltooid, kunt u alle toewijzingen uitvoeren door de initiële synchronisatie over te slaan.

Het gegevenstype Float met een nulwaarde kan niet worden gesynchroniseerd

De initiële synchronisatie kan mislukken voor records met een nulwaarde voor een prijsveld, zoals een Vast betalingsbedrag of Bedrag in de transactievaluta. In dit geval ontvangt u een foutbericht van de volgende strekking:

Er is een fout opgetreden bij het valideren van invoerparameters: Microsoft.OData.ODataException: Kan de letterlijke '000000' niet converteren naar het verwachte type Edm.Decimal ,...

Het probleem heeft te maken met de waarde Landinstelling taal onder Indelingen van brongegevens in de module Gegevensbeheer. Wijzig de waarde van het veld Landinstelling taal in en-us en probeer het opnieuw.