Probleme bei der anfänglichen Synchronisierung behandeln
Dieser Artikel enthält Informationen zur Problembehandlung für die Dual-write Integration zwischen Finanz- und Betriebs-Apps und Dataverse. Dieses Thema enthält insbesondere Informationen zur Fehlerbehebung, mit denen Sie Probleme beheben können, die mit der initialen Synchronisierung zusammenhängen.
Wichtig
Einige der in diesem Artikel behandelten Probleme erfordern möglicherweise entweder die Systemadministratorrolle oder Microsoft Azure Active Directory (Azure AD)-Anmeldeinformationen des Mandantenadministrators. Im Abschnitt zu jedem Problem wird erläutert, ob eine bestimmte Rolle oder Anmeldeinformationen erforderlich sind.
Prüfen Sie auf anfängliche Synchronisationsfehler in einer Finanz- und Betriebs-App
Nachdem Sie die Zuordnungsvorlagen aktiviert haben, sollte der Status der Zuordnungen lauten Laufen. Wenn der Status ist Nicht ausgeführt angezeigt wird, sind bei der ersten Synchronisierung Fehler aufgetreten. Um die Fehler anzuzeigen, wählen Sie die Anfängliche Synchronisierungsdetail Registerkarte auf der Duales Schreiben Seite.
Sie können die anfängliche Synchronisierung nicht abschließen: 400 Bad Request
Erforderliche Rolle zum Beheben der Fehler: System Administrator
Möglicherweise wird die folgende Fehlermeldung angezeigt, wenn Sie versuchen, das Mapping und die anfängliche Synchronisierung auszuführen:
[(Bad Request] , Der Remote-Server hat einen Fehler zurückgegeben: (400) Bad Request.), AX Export ist auf einen Fehler gestoßen.
Hier ist ein Beispiel für die vollständige Fehlernachricht.
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 ---
Wenn dieser Fehler konsistent auftritt und Sie die anfängliche Synchronisierung nicht abschließen können, führen Sie die folgenden Schritte aus, um das Problem zu beheben.
- Melden Sie sich bei der virtuellen Maschine (VM) für die Finanz- und Betriebs-App an.
- Öffnen Sie die Microsoft Management Console.
- In dem Bereich Dienstleistungen stellen Sie sicher, dass der Microsoft Dynamics 365 Data Import Export Framework-Dienst wird ausgeführt. Starten Sie ihn neu, wenn er gestoppt wurde, da die anfängliche Synchronisierung dies erfordert.
Anfänglicher Synchronisationsfehler: 403 Forbidden
Während der ersten Synchronisierung wird möglicherweise die folgende Fehlermeldung angezeigt:
([Forbidden], der Remote-Server hat einen Fehler zurückgegeben: (403) Forbidden.), AX beim Export ist ein Fehler aufgetreten
Führen Sie folgende Schritte aus, um das Problem zu beheben.
- Melden Sie sich bei der Finanz- und Betriebs-App an.
- Auf der Azure Active Directory Anwendungen Seite löschen Sie den DtAppID Client, und fügen Sie ihn dann erneut hinzu.
Selbstreferenzfehler oder Zirkelreferenzfehler während der ersten Synchronisation
Möglicherweise wird eine Fehlernachricht angezeigt, die dem folgenden Beispiel ähnelt, wenn eine Ihrer Zuordnungen Selbstreferenzen oder Zirkelreferenzen enthält: Die Fehler fallen in folgende Kategorien:
- Fehler in der Tabellenzuordnung Lieferanten V2 zu msdyn_vendors
- Fehler in der Tabellenzuordnung Kunden V3 zu Konten
Fehler in der Tabellenzuordnung von Lieferanten V2 zu msdyn_vendors beheben
Möglicherweise treten auf dem Computer die folgenden anfänglichen Synchronisierungsfehler für die Zuordnung Kreditoren V2 zu msdyn_vendors auf, wenn die Tabellen vorhandene Zeilen mit Werten in den Spalten PrimaryContactPersonId und InvoiceVendorAccountNumber haben. Diese Fehler passieren, weil InvoiceVendorAccountNumber eine selbstreferenzierende Spalte ist und PrimaryContactPersonId eine Zirkelreferenz in der Kreditorenzuordnung ist.
Die Fehlermeldungen, die Sie erhalten, haben das folgende Formular.
Die GUID für das Feld konnte nicht aufgelöst werden: <Feld>. Die Suche wurde nicht gefunden: <Wert>. Probieren Sie diese URL(s) aus, um zu überprüfen, ob die Referenzdaten vorhanden sind: https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/<entity>?$select=<field>&$filter=<field> eq <value>
Im Folgenden finden Sie einige Beispiele hierfür:
- Die GUID für das Feld konnte nicht aufgelöst werden: msdyn_vendorprimarycontactperson.msdyn_contactpersonid. Die Suche wurde nicht gefunden: 000056. Probieren Sie diese URL(s) aus, um zu überprüfen, ob die Referenzdaten vorhanden sind:
https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/contacts?$select=msdyn_contactpersonid.contactid&$filter=msdyn_contactpersonid eq '000056'
- Die GUID für das Feld konnte nicht aufgelöst werden: msdyn_invoicevendoraccountnumber.msdyn_vendoraccountnumber. Die Suche wurde nicht gefunden: V24-1. Probieren Sie diese URL(s) aus, um zu überprüfen, ob die Referenzdaten vorhanden sind:
https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/msdn_vendors?$select=msdyn_vendoraccountnumber,msdyn_vendorid&$filter=msdyn_vendoraccountnumber eq 'V24-1'
Wenn Sie Zeilen mit Werten in der Kreditorentabelle in den Spalten PrimaryContactPersonID und InvoiceVendorAccountNumber haben, führen Sie die Schritte im folgenden Abschnitt aus, um die erste Synchronisierung erfolgreich abzuschließen.
Löschen Sie in der Finanz- und Betriebs-App die Spalten PrimaryContactPersonId und InvoiceVendorAccountNumber aus der Zuordnung, und speichern Sie die Zuordnung.
Wählen Sie auf der Zuordnungsseite für duales Schreiben für Kreditoren V2 (msdyn_vendors) auf der Registerkarte Tabellenzuordnungen im linken Filter Finanz- und Betriebs-Apps.Kreditoren V2 aus. Wählen Sie im rechten Filter Sales.Vendor.
Suchen Sie nach primarycontactperson, um das Quellfeld PrimaryContactPersonId zu finden.
Wählen Sie Aktionen und dann Löschen.
Wiederholen Sie diese Schritte, um die Spalte InvoiceVendorAccountNumber zu löschen.
Speichern Sie Ihre Änderungen am Mapping.
Deaktivieren Sie die Änderungsverfolgung für die Tabelle Kreditoren V2.
Im Arbeitsbereich Datenmanagement wählen Sie die Kachel Datentabellen aus.
Wählen Sie die Tabelle Kreditoren V2 aus.
Wählen Sie im Aktionsbereich Optionen und wählen Sie dann Änderungsnachverfolgung.
Wählen Sie Änderungsverfolgung deaktivieren.
Führen Sie die erste Synchronisierung erneut für die Kreditoren V2 (msdyn‑vendors)-Zuordnung aus. Die erstmalige Synchronisierung sollte ohne Fehler erfolgreich ausgeführt werden.
Führen Sie die erste Synchronisierung für CDS-Kontakte V2 (Kontakte) Zuordnung aus. Sie müssen diese Zuordnung synchronisieren, wenn Sie die Spalte des primären Kontakts in der Tabelle der Kreditoren synchronisieren möchten, da die Kontaktzeilen zunächst synchronisiert werden müssen.
Fügen Sie die Spalten PrimaryContactPersonId und InvoiceVendorAccountNumber wieder der Kreditor V2 (msdyn_vendors)-Zuordnung hinzu, und speichern Sie die Zuordnung.
Führen Sie die erste Synchronisierung noch einmal für die Kreditoren V2 (msdyn_vendors)-Zuordnung aus. Weil die Änderungsnachverfolgung deaktiviert ist, werden alle Zeilen synchronisiert.
Aktivieren Sie die Änderungsnachverfolgung für die Tabelle Kreditor V2.
Beheben von Fehlern in der Tabellenzuordnung von Kunden V3 zu Konten
Möglicherweise treten auf dem Computer die folgenden anfänglichen Synchronisierungsfehler von Debitoren V3 zu Konten auf, wenn die Tabellen vorhandene Zeilen mit Werten in den Spalten ContactPersonID und InvoiceAccount haben. Diese Fehler passieren, weil InvoiceAccount eine selbstreferenzierende Spalte ist und ContactPersonId eine Zirkelreferenz in der Kreditorenzuordnung ist.
Die Fehlermeldungen, die Sie erhalten, haben das folgende Formular.
Die GUID für das Feld konnte nicht aufgelöst werden: <Feld>. Die Suche wurde nicht gefunden: <Wert>. Probieren Sie diese URL(s) aus, um zu überprüfen, ob die Referenzdaten vorhanden sind: https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/<entity>?$select=<field>&$filter=<field> eq <value>
Im Folgenden finden Sie einige Beispiele hierfür:
- Die GUID für das Feld konnte nicht aufgelöst werden: primarycontactid.msdyn_contactpersonid. Die Suche wurde nicht gefunden: 000056. Probieren Sie diese URL(s) aus, um zu überprüfen, ob die Referenzdaten vorhanden sind:
https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/contacts?$select=msdyn_contactpersonid.contactid&$filter=msdyn_contactpersonid eq '000056'
- Die GUID für das Feld konnte nicht aufgelöst werden: msdyn_billingaccount.accountnumber. Die Suche wurde nicht gefunden: 1206-1. Probieren Sie diese URL(s) aus, um zu überprüfen, ob die Referenzdaten vorhanden sind:
https://focdsdevtest2.crm.dynamics.com/api/data/v9.0/accounts?$select=accountnumber.account&$filter=accountnumber eq '1206-1'
Wenn Sie Zeilen mit Werten in der Debitorentabelle in den Spalten ContactPersonID und InvoiceAccount haben, führen Sie die Schritte im folgenden Abschnitt aus, um die erste Synchronisierung erfolgreich abzuschließen. Sie können diesen Ansatz für alle sofort einsatzbereiten Tabellen wie Konten und Kontakte verwenden.
Löschen Sie in der Finanz- und Betriebs-App die Spalten ContactPersonID und InvoiceAccount aus der Zuordnung Customers V3 (accounts) und speichern Sie dann die Zuordnung.
Wählen Sie auf der Seite Dual-write Zuordnung für Debitor V3 (Konten) auf der Registerkarte Tabellenzuordnungen im linken Filter Finanz- und Betriebs-App.Customers V3. Wählen Sie im rechten Filter Dataverse Konto.
Suchen Sie nach contactperson, um die Quellspalte ContactPersonID zu finden.
Wählen Sie Aktionen und dann Löschen.
Wiederholen Sie diese Schritte, um die Spalte InvoiceAccount zu löschen.
Speichern Sie Ihre Änderungen am Mapping.
Deaktivieren Sie die Änderungsverfolgung für die Tabelle Debitoren V3.
Im Arbeitsbereich Datenmanagement wählen Sie die Kachel Datentabellen aus.
Wählen Sie die Tabelle Debitoren V3 aus.
Wählen Sie im Aktionsbereich Optionen und wählen Sie dann Änderungsnachverfolgung.
Wählen Sie Änderungsverfolgung deaktivieren.
Führen Sie die erste Synchronisierung nochmals für die Debitoren V3 (Konten) Zuordnung aus. Die erstmalige Synchronisierung sollte ohne Fehler erfolgreich ausgeführt werden.
Führen Sie die erste Synchronisierung für CDS-Kontakte V2 (Kontakte) Zuordnung aus.
Notiz
Es gibt zwei Karten mit demselben Namen. Stellen Sie sicher, dass Sie jene Zuordnung mit der folgenden Beschreibung auf der Registerkarte Details auswählen: Duales Schreiben für die Synchronisierung zwischen FO.CDS-Kontakten V2 und CDS.Contacts. Benötigt neues Paket [Dynamics365SupplyChainExtended].
Fügen Sie die Spalten InvoiceAccount und ContactPersonID wieder der Zuordnung Debitoren V3 (Konten) hinzu, und speichern Sie dann die Zuordnung. Jetzt sind die Spalte InvoiceAccount und die Spalte ContactPersonID wieder Teil des Live-Synchronisationsmodus. Im nächsten Schritt machen Sie die anfängliche Synchronisierung für diese Spalten.
Führen Sie die erste Synchronisierung noch einmal für die Debitoren V3 (Konten) Zuordnung aus. Da die Änderungsverfolgung ausgeschaltet ist, werden die Daten für InvoiceAccount und ContactPersonId von der Finanz- und Betriebs-App mit Dataverse synchronisiert.
Um die Daten für InvoiceAccount und ContactPersonId aus Dataverse mit der Finanz- und Betriebs-App zu synchronisieren, müssen Sie ein Datenintegrationsprojekt verwenden.
Erstellen Sie in Power Apps ein Datenintegrationsprojekt zwischen den Tabellen Verkauf.Konto und Finanz- und Betriebs-Apps.Kunden V3. Die Datenrichtung muss von Dataverse zur Finanz- und Betriebs-App sein. Weil Rechnungskonto ein neues Attribut in dualem Schreiben ist, wollen Sie möglicherweise die anfängliche Synchronisierung dazu überspringen. Weitere Informationen finden Sie unter Datenintegration in Dataverse.
Das folgende Illustration zeigt ein Projekt, das Kundenkonto und ContactPersonId aktualisiert.
Fügen Sie die Kriterien für die Firma in den Filter auf der Dataverse-Seite ein, damit nur Zeilen, die den Filterkriterien entsprechen, in der Finanz- und Betriebs-App aktualisiert werden. Wählen Sie zum Hinzufügen die Schaltfläche Filter. In dem Dialog Abfrage bearbeiten können Sie eine Filterabfrage hinzufügen wie _msdyn_company_value eq '<guid>'.
[HINWEIS] Wenn die Schaltfläche Filter nicht vorhanden ist, erstellen Sie ein Support-Ticket, um das Datenintegrationsteam zu bitten, die Filterfunktion für Ihren Mandanten zu aktivieren.
Wenn Sie keine Filterabfrage für _msdyn_company_value eingeben, werden alle Zeilen synchronisiert.
Die anfängliche Synchronisierung der Zeilen ist nun abgeschlossen.
Schalten Sie in der Finanz- und Betriebs-App die Änderungsverfolgung für die Tabelle Kunden V3 wieder ein.
Anfängliche Sync-Fehler bei Zuordnungen mit mehr als 10 Nachschlagefeldern
Sie erhalten möglicherweise die folgende Fehlermeldung, wenn Sie versuchen, eine anfängliche Synchronisierung für Kunden V3 - Konten, Verkaufsaufträge-Zuordnungen oder eine beliebige Zuordnung mit mehr als 10 Nachschlagefeldern auszuführen:
CRMExport: Paketausführung abgeschlossen. Fehlerbeschreibung 5 Versuche, Daten von https://xxxxx//datasets/yyyyy/tables/accounts/items?$select=accountnumber, address2_city, address2_country, ... (msdyn_company/cdm_companyid eq 'id')&$orderby=accountnumber asc abzurufen schlug fehl.
Aufgrund der Nachschlagefeld-Beschränkung der Abfrage schlägt die anfängliche Synchronisierung fehl, wenn die Zuordnung der Entitäten mehr als 10 Nachschlagefelder enthält. Weitere Informationen finden Sie unter Abrufen von Datensätzen der Bezugstabelle mit einer Abfrage.
Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:
- Entfernen Sie optionale Nachschlagefelder aus der Dual-Write-Entitätszuordnung, so dass die Anzahl der Nachschlagefelder 10 oder weniger beträgt.
- Speichern Sie die Zuordnung und führen Sie die erste Synchronisierung durch.
- Wenn die initiale Synchronisierung für den ersten Schritt erfolgreich ist, fügen Sie die restlichen Nachschlagefelder hinzu und entfernen die Nachschlagefelder, die Sie im ersten Schritt synchronisiert haben. Stellen Sie sicher, dass die Anzahl der Nachschlagefelder 10 oder weniger beträgt. Speichern Sie die Zuordnung und führen Sie die erste Synchronisierung aus.
- Wiederholen Sie diese Schritte, bis alle Nachschlagefelder synchronisiert sind.
- Fügen Sie alle Nachschlagefelder wieder zur Zuordnung hinzu, speichern Sie die Zuordnung und führen Sie die Zuordnung mit Anfangssynchronisation überspringen aus.
Durch diesen Vorgang wird die Zuordnung für den Live-Sync-Modus aktiviert.
Bekanntes Problem bei der Erstsynchronisation von postalischen Adressen der Partei und elektronischen Adressen der Partei
Wenn Sie versuchen, die initiale Synchronisation von Postadressen der Partei und elektronischen Adressen der Partei auszuführen, erhalten Sie möglicherweise die folgende Fehlermeldung:
Partei-Nummer konnte nicht in Dataverse gefunden werden.
Es gibt einen auf DirPartyCDSEntity festgelegten Bereich in Finanz- und Betriebs-Apps, der Parteien vom Typ Person und Organisation filtert. Infolgedessen wird eine anfängliche Synchronisierung der Zuordnung CDS-Parteien - msdyn_parties keine Parteien anderer Typen zuordnen, einschließlich Juristische Entität und Betriebseinheit. Wenn die anfängliche Synchronisierung für CDS Partei Postadressen (msdyn_partypostaladdresses) oder Partei Kontakte V3 (msdyn_partyelectronicaddresses) ausgeführt wird, erhalten Sie möglicherweise den Fehler.
Wir arbeiten an einer Korrektur, um den Parteientypbereich für die Entität Finanzen und Betrieb zu entfernen, damit Parteien aller Typen erfolgreich mit Dataverse synchronisiert werden können.
Gibt es Leistungsprobleme beim Ausführen der anfänglichen Synchronisierung für Kunden oder Kontakte?
Wenn Sie die Erstsynchronisation für Kunden-Daten ausgeführt haben und die Kunden-Zuordnungen laufen haben und dann die Erstsynchronisation für Kontakte-Daten ausführen, kann es zu Leistungsproblemen beim Einfügen und Aktualisieren der LogistikPostalAdresse- und LogistikElektronischeAdresse-Tabellen für Kontakte-Adressen kommen. Die gleichen globalen Postadress- und elektronischen Adresstabellen werden für CustomerV3Entity und VendVendorV2Entity verfolgt und Dual-Write versucht, weitere Abfragen zu erstellen, um Daten auf die andere Seite zu schreiben. Wenn Sie die initiale Synchronisierung für Debitor bereits ausgeführt haben, dann stoppen Sie die entsprechende Zuordnung, während Sie die initiale Synchronisierung für Kontakte-Daten ausführen. Machen Sie das Gleiche für die Kreditor-Daten. Wenn die initiale Synchronisierung beendet ist, können Sie alle Zuordnungen ausführen, indem Sie die initiale Synchronisierung überspringen.
Float-Datentypen, die einen Nullwert haben, können nicht synchronisiert werden.
Die anfängliche Synchronisierung schlägt möglicherweise bei Datensätzen fehl, die einen Nullwert für ein Preisfeld haben, wie z.B. Fixer Zahlungsbetrag oder Betrag in der Transaktionswährung. In diesem Fall erhalten Sie eine Fehlermeldung, die dem folgenden Beispiel ähnelt:
Bei der Validierung der Eingabeparameter ist ein Fehler aufgetreten: Microsoft.OData.ODataException: Das Literal '000000' kann nicht in den erwarteten Typ 'Edm.Decimal' konvertiert werden,...
Das Problem betrifft den Wert Sprachgebietsschema unter Quelldatenformate im Modul Datenverwaltung. Ändern Sie den Wert des Feldes Language locale in en-us und versuchen Sie es erneut.