Fejlfinde problemer under den indledende synkronisering
Denne artikel indeholder fejlfindingsoplysninger for dobbeltskrivning mellem programmer til finans og drift og Dataverse. Specifikt indeholder emnet fejlfindingsoplysninger, der kan hjælpe dig med at løse problemer, der kan opstå under den første synkronisering.
Vigtig
Nogle af de problemer, som denne artikel vedrører, kræver muligvis enten rollen systemadministrator eller legitimationsoplysninger fra Microsoft Azure Active Directory (Azure AD)-lejeradministratoren. I afsnittet for hvert spørgsmål forklarer, om der kræves en bestemt rolle eller legitimationsoplysninger.
Kontrollere for indledende synkroniseringsfejl i programmer til finans og drift
Når du har aktiveret tilknytningsskabelonerne, skal status for tilknytningerne være Kører. Hvis status er Kører ikke, er der opstået fejl under den første synkronisering. Hvis du vil have vist fejlene, skal du vælge fanen Oplysninger om første synkronisering på siden Dobbeltskrivning.
Du kan ikke fuldføre den første synkronisering: 400 ugyldig anmodning
Påkrævet rolle for at rette fejlen: Systemadministrator
Du kan få vist følgende fejlmeddelelse, når du forsøger at køre tilknytningen og den første synkronisering:
([Ugyldig anmodning], Fjernserveren returnerede en fejl: (400) Ugyldig anmodning). AX-eksport registrerede en fejl.
Her er et eksempel på den fulde fejlmeddelelse.
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 ---
Hvis denne fejl opstår konsekvent, og du ikke kan fuldføre den første synkronisering, skal du følge disse trin for at løse problemet.
- Log på den virtuelle maskine (VM) for programmer til finans og drift.
- Åbn Microsoft Management Console.
- I ruden Services skal du sikre dig, at Microsoft Dynamics 365 Dataimport/eksportstruktur-tjenesten kører. Genstart, hvis den er stoppet, fordi den første synkronisering kræver det.
Fejl under første synkronisering: 403 forbudt
Du kan få vist følgende fejlmeddelelse under første synkronisering:
([Forbudt], Fjernserveren returnerede en fejl: (403) forbudt.), AX-eksport registrerede en fejl
Følg disse trin for at løse dette problem.
- Log på programmer til finans og drift.
- Slet DtAppID-klienten på siden Azure Active Directory-programmer, og tilføj den derefter igen.
Selvreference- eller cirkulær referencefejl under første synkronisering
Du kan få vist en fejlmeddelelse, hvis nogen af dine tilknytninger har selvreferencer eller cirkulære referencer. Fejlene falder i disse kategorier:
- Fejl i tabeltilknytningen V2–to–msdyn_vendors for kreditorer
- Fejl i tabeltilknytningen V3–to–Accounts for debitorer
Løse fejl i tabeltilknytningen V2–to–msdyn_vendors for kreditorer
Du kan støde ind i indledende synkroniseringsfejl for tilknytning af Kreditorer V2 til msdyn_vendors, hvis tabellerne har eksisterende rækker med værdier i kolonnerne PrimaryContactPersonId og InvoiceVendorAccountNumber. Disse fejl skyldes, at InvoiceVendorAccountNumber er en selvrefererende kolonne, og at PrimaryContactPersonId er en cirkulær reference i kreditortilknytningen.
De fejlmeddelelser, du modtager, har følgende form.
Kunne ikke fortolke guid'et for feltet: <felt>. Opslaget blev ikke fundet: <værdi>. Prøv denne eller disse URL-adresser for at se, om referencedataene findes: https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/<entity>?$select=<field>&$filter=<field> eq <value>
Her er nogle eksempler:
- Kunne ikke fortolke guid'et for feltet: msdyn_vendorprimarycontactperson.msrixn_contactpersonid. Opslaget blev ikke fundet: 000056. Prøv denne eller disse URL-adresser for at se, om referencedataene findes:
https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/contacts?$select=msdyn_contactpersonid.contactid&$filter=msdyn_contactpersonid eq '000056'
- Kunne ikke fortolke guid'et for feltet: msdyn_invoicevendoraccountnumber.msdyn_vendoraccountnumber. Opslaget blev ikke fundet: V24-1. Prøv denne eller disse URL-adresser for at se, om referencedataene findes:
https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/msdn_vendors?$select=msdyn_vendoraccountnumber,msdyn_vendorid&$filter=msdyn_vendoraccountnumber eq 'V24-1'
Hvis der er rækker i kreditortabellen med værdier i kolonnerne PrimaryContactPersonId og InvoiceVendorAccountNumber, skal du følge disse trin for at fuldføre den første synkronisering.
I programmer til finans og drift skal du slette kolonnerne PrimaryContactPersonId og InvoiceVendorAccountNumber fra tilknytningen og derefter gemme tilknytningen.
Gå til siden dobbeltskrivning-tilknytning for Kreditorer V2 (msdyn_vendors), og vælg fanen Tabeltilknytninger. I venstre filter skal du vælge programmer til finans og drift.Kreditorer V2. I højre filter skal du vælge Sales.Vendor.
Søg efter primarycontactperson for at finde kildekolonnen PrimaryContactPersonId.
Vælg Handlinger, og vælg derefter Slet.
Gentag disse trin for at slette kolonnen InvoiceVendorAccountNumber.
Gem ændringerne i tilknytningen.
Slå ændringssporing fra for tabellen Kreditorer V2.
I arbejdsområdet Datastyring skal du markere feltet Datatabeller.
Vælg tabellen Kreditorer V2.
I handlingsruden skal du vælge Indstillinger og derefter vælge Ændringssporing.
Vælg Deaktiver ændringssporing.
Kør den første synkronisering for tilknytningen Kreditorer V2 (msdyn_vendors). Den første synkronisering skal køres uden fejl.
Kør den første synkronisering for tilknytningen CDS kontakter V2 (kontakter). Du skal synkronisere denne tilknytning, hvis du vil synkronisere kolonnen med den primære kontakt i kreditortabellen, fordi den første synkronisering også skal udføres for kontaktrækkerne.
Føj kolonnerne PrimaryContactPersonId og InvoiceVendorAccountNumber tilbage til tilknytningen Kreditorer V2 (msdyn_vendors), og gem tilknytningen.
Kør den første synkronisering igen for tilknytningen Kreditorer V2 (msdyn_vendors). Alle rækker synkroniseres, fordi ændringssporing er deaktiveret.
Slå ændringssporing til igen for tabellen Kreditorer V2.
Løse fejl i tabeltilknytningen V3–to–Accounts for debitorer
Du kan støde ind i indledende synkroniseringsfejl for tilknytning af Kreditorer V3 til Konti, hvis tabellerne har eksisterende rækker med værdier i kolonnerne ContactPersonId og InvoiceAccount. Disse fejl opstår, fordi InvoiceAccount er en selvrefererende kolonne, og ContactPersonID er en cirkulær reference i kreditortilknytningen.
De fejlmeddelelser, du modtager, har følgende form.
Kunne ikke fortolke guid'et for feltet: <felt>. Opslaget blev ikke fundet: <værdi>. Prøv denne eller disse URL-adresser for at se, om referencedataene findes: https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/<entity>?$select=<field>&$filter=<field> eq <value>
Her er nogle eksempler:
- Kunne ikke fortolke guid'et for feltet: primarycontactid.msdyn_contactpersonid. Opslaget blev ikke fundet: 000056. Prøv denne eller disse URL-adresser for at se, om referencedataene findes:
https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/contacts?$select=msdyn_contactpersonid.contactid&$filter=msdyn_contactpersonid eq '000056'
- Kunne ikke fortolke guid'et for feltet: msdyn_billingaccount.accountnumber. Opslaget blev ikke fundet: 1206-1. Prøv denne eller disse URL-adresser for at se, om referencedataene findes:
https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/accounts?$select=accountnumber.account&$filter=accountnumber eq '1206-1'
Hvis der er rækker i debitortabellen med værdier i kolonnerne ContactPersonID og InvoiceAccount, skal du følge disse trin for at fuldføre den første synkronisering. Du kan bruge denne fremgangsmåde til alle indbyggede tabeller, f.eks. Konti og Kontakter.
I programmer til finans og drift skal du slette kolonnerne ContactPersonID og InvoiceAccount fra tilknytningen Debitorer V3 (konti) og derefter gemme tilknytningen.
Gå til siden med dobbeltskrivning-tilknytning for Debitorer V3 (konti), og vælg fanen Tabeltilknytninger. I venstre filter skal du vælge programmer til finans og drift.Debitorer V3. I højre filter skal du vælge Dataverse.Account.
Søg efter contactperson for at finde kildekolonnen ContactPersonID.
Vælg Handlinger, og vælg derefter Slet.
Gentag disse trin for at slette kolonnen InvoiceAccount.
Gem ændringerne i tilknytningen.
Slå ændringssporing fra for tabellen Debitorer V3.
I arbejdsområdet Datastyring skal du markere feltet Datatabeller.
Vælg tabellen Debitorer V3.
I handlingsruden skal du vælge Indstillinger og derefter vælge Ændringssporing.
Vælg Deaktiver ændringssporing.
Kør den første synkronisering for tilknytningen Debitorer V3 (konti). Den første synkronisering skal køres uden fejl.
Kør den første synkronisering for tilknytningen CDS kontakter V2 (kontakter).
Bemærk!
Der er to tilknytninger med samme navn. Vælg tilknytningen med følgende beskrivelse under fanen Detaljer: Dobbeltskrivningsskabelon for synkronisering mellem FO.CDS Kreditorkontakter V2 til CDS.Contacts. Kræver ny pakke [Dynamics365SupplyChainExtended].
Tilføj kolonnerne InvoiceAccount og ContactPersonId igen i tilknytningen Debitorer V3 (konti), og gem tilknytningen. Nu er både kolonnen InvoiceAccount og kolonnen ContactPersonId igen en del af den direkte synkroniseringstilstand. I det næste trin udfører du den første synkronisering for disse kolonner.
Kør den første synkronisering igen for tilknytningen Debitorer V3 (konti). Da ændringssporing er slået fra, bliver dataene for InvoiceAccount og ContactPersonId synkroniseret fra programmer til finans og drift til Dataverse.
Hvis du vil synkronisere dataene for InvoiceAccount og ContactPersonId fra Dataverse til programmer til finans og drift, skal du bruge et dataintegrationsprojekt.
I Power Apps skal du oprette et dataintegrationsprojekt mellem tabellerne Sales.Account og programmer til finans og drift.Debitorer V3. Dataretningen skal ligge fra Dataverse til programmer til finans og drift. Da InvoiceAccount er en ny attribut i dobbeltskrivning, kan det være en god idé at springe den første synkronisering over for den. Du kan finde flere oplysninger under Integrere data i Dataverse.
Følgende illustration viser et projekt, der opdaterer CustomerAccount og ContactPersonId.
Tilføj firmakriterierne i filteret på Dataverse-siden, så kun de rækker, der opfylder filterkriterierne, opdateres i programmer til finans og drift. Hvis du vil tilføje et filter, skal du vælge filterknappen. I dialogboksen Rediger forespørgsel kan du tilføje en filterforespørgsel som _msdyn_company_value eq '<guid>'.
[BEMÆRK] Hvis filterknappen ikke er til stede, skal du oprette en supportanmodning for at bede dataintegrationsteamet om at aktivere filtreringsfunktionen på din lejer.
Hvis du ikke indtaster en filterforespørgsel for _msdyn_company_value, synkroniseres alle rækker.
Den første synkronisering af rækkerne er nu fuldført.
Aktivér ændringssporing igen i programmer til finans og drift for tabellen Debitorer V3.
Første synkroniseringsfejl på oversigter med mere end 10 opslagsfelter
Du kan få vist følgende fejlmeddelelse, når du forsøger at køre en første synkroniseringsfejl i Debitor V3 – Konti, tilknytninger af Salgsordrer eller en oversigt med mere end 10 opslagsfelter:
CRMExport: Pakkeudførelse fuldført. Fejlbeskrivelse: 5 forsøg på at hente data fra https://xxxxx//datasets/yyyyy/tables/accounts/items?$select=accountnumber, address2_city, address2_country, ... (msdyn_company/cdm_companyid eq 'id')&$orderby=accountnumber asc mislykkedes.
På grund af opslagsbegrænsningen i forespørgslen mislykkes den første synkronisering, når enhedstilknytningen indeholder mere end 10 opslag. Yderligere oplysninger finder du i Hente relaterede tabelposter med en forespørgsel.
Følg disse trin for at løse dette problem:
- Fjern valgfrie opslagsfelter fra enhedsoversigten for dobbeltskrivning, så antallet af opslag er 10 eller færre.
- Gem oversigten, og udfør den første synkronisering.
- Når den første synkronisering af det første trin lykkes, skal du tilføje de resterende opslagsfelter og fjerne de opslagsfelter, du har synkroniseret i første trin. Sørg for, at antallet af opslagsfelter er 10 eller færre. Gem oversigten, og kør den første synkronisering.
- Gentag disse trin, indtil alle opslagsfelter er synkroniseret.
- Føj alle opslagsfelterne tilbage til oversigten, gem oversigten, og kør oversigten den Spring første synkronisering over.
Denne proces aktiverer oversigten for live-synkroniseringstilstand.
Kendt problem under første synkronisering af parts postadresser og elektroniske adresser
Du kan få vist følgende fejlmeddelelse, når du prøver at køre den første synkronisering af parts postadresser og elektroniske adresser:
Partnummer blev ikke fundet i Dataverse.
Der er angivet et interval på DirPartyCDSEntity i programmer til finans og drift, der filtrerer parter af typen Person og Organisation. Som følge heraf vil en første synkronisering af tilknytningen CDS-parter – msdyn_parties ikke synkronisere parter af andre typer, herunder Juridisk enhed og Driftsenhed. Når den første synkronisering køres for CDS-parts postadresser (msdyn_partypostaladdresses) eller Partkontakter V3 (msdyn_partyelectronicaddresses), kan du få modtage fejlmeddelelsen.
Vi arbejder på en rettelse for at fjerne parttypeintervallet på finans og drift-enheden, så parter af alle typer kan synkroniseres med Dataverse uden problemer.
Er der problemer med ydeevnen under den første synkronisering af debitor- eller kontaktdata?
Hvis du har kørt den første synkronisering af data for Debitor og har aktive tilknytninger af typen Debitor, og du derefter kører den første synkronisering af data for Kontakter, kan der være problemer med ydeevnen under indsættelser og opdateringer til tabellerne LogisticsPostalAddress og LogisticsElectronicAddress for adresser for Kontakter. Samme globale postadresse og elektroniske adressetabeller spores for CustCustomerV3Entity og VendVendorV2Entity, og dobbeltskrivning forsøger at oprette flere forespørgsler for at skrive data til en anden side. Hvis du allerede har kørt den første synkronisering for Debitor, skal du stoppe den tilsvarende oversigt, mens du kører den første synkronisering af data for Kontakter. Gør det samme med data for Kreditor. Når den første synkronisering er fuldført, kan du køre alle oversigterne ved at springe over den første synkronisering.
Floatdatatype, der har en nulværdi, kan ikke synkroniseres
Den første synkronisering kan mislykkes for poster, der har en nulværdi for et prisfelt, f.eks. Fast betalingsbeløb eller Beløb i transaktionsvalutaen. Her vil du så modtage en fejlmeddelelse, der ligner følgende eksempel:
Der opstod en fejl under validering af inputparametrene: Microsoft.OData.ODataException: Kan ikke konvertere konstanten '000000' til den forventede type'Edm. Decimaltal,...
Problemet er med værdien for Landestandard for sprog under Kildedataformater i modulet Datastyring. Rediger værdien i feltet Landestandard for sprog for en-us, og prøv derefter igen.