Freigeben über


Zusammenführen von Tabellenzeilen mit der Web-API

Wenn Sie duplizierte Datensätze finden, können Sie sie mithilfe der Zusammenführungsaktion zu einem Datensatz kombinieren.

Hinweis

Es können nur die folgenden Entitätstypen zusammengeführt werden:

Zusammenführungsaktion

"Zusammenführen" ist eine ungebundene Aktion, die vier Parameter akzeptiert:

Name Typ Description Wahlfrei
Target crmbaseentity Das Ziel des Zusammenführungsvorgangs. Nein
Subordinate crmbaseentity Der Entitätsdatensatz, aus dem Daten zusammengeführt werden sollen. Nein
UpdateContent crmbaseentity Weitere Entitätsattribute, die während des Zusammenführungsvorgangs festgelegt werden sollen. Yes
PerformParentingChecks Boolean Gibt an, ob überprüft werden soll, ob die übergeordneten Informationen für die beiden Entitätsdatensätze unterschiedlich sind. Nein

Beim Zusammenführen werden alle nützlichen Daten aus dem Subordinate Datensatz in den Target Datensatz verschoben. Vorhandene Daten im Target Datensatz werden nicht überschrieben. Anschließend wird der Subordinate Datensatz deaktiviert. Zum Ausführen dieses Vorgangs muss der Aufrufer Berechtigungen und Zugriffsrechte für die Datensätze verfügen, die als Target und Subordinate angegeben sind.

Verwenden Sie eine POST-Anforderung, um Daten zum Zusammenführen von Datensätzen zu senden. In diesem Beispiel werden zwei Kontoentitätsdatensätze zusammengeführt, während die accountnumber-Eigenschaft des Datensatzes, der nach dem Zusammenführen bestehen bleibt, aktualisiert wird.

Anforderung:

POST [Organization URI]/api/data/v9.2/Merge HTTP/1.1
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json

{
  "Target": {
    "name": "Account 1",
    "accountid": "bb8055c0-aea6-ea11-a812-000d3a55d474",
    "@odata.type": "Microsoft.Dynamics.CRM.account"
  },
  "Subordinate": {
    "name": "Account 2",
    "accountid": "c38055c0-aea6-ea11-a812-000d3a55d474",
    "@odata.type": "Microsoft.Dynamics.CRM.account"
  },
  "UpdateContent": {
    "accountnumber": "1234",
    "@odata.type": "Microsoft.Dynamics.CRM.account"
  },
  "PerformParentingChecks": false
}

Von Bedeutung

Da die Typen Target, Subordinate und UpdateContent nicht explizit durch den Parameter definiert werden, müssen Sie die @odata.type-Anmerkung verwenden, um den Typ festzulegen.

Antwort:

HTTP/1.1 204 No Content
OData-Version: 4.0

Zusammenführungsverhalten für Vorfall

Das Zusammenführungsverhalten für incident (Tabelle) unterscheidet sich von account, contact und lead Tabellen.

  • Die UpdateContent Parameterdaten werden nicht verwendet.

  • Die Zusammenführung wird im Sicherheitskontext des Benutzers ausgeführt.

    Zusammenführungsvorgänge für andere Tabellen werden mit einem Systembenutzersicherheitskontext ausgeführt. Da Vorfallzusammenführungsvorgänge im Sicherheitskontext des Benutzers ausgeführt werden, muss der Benutzer über die Sicherheitsberechtigungen verfügen, um eine der Aktionen auszuführen, z. B. die Neuverknüpfung verwandter Datensätze, die der Zusammenführungsvorgang ausführt.

    Wenn der Benutzer, der Datensätze zusammenführt, nicht über Berechtigungen für alle Aktionen verfügt, die im Zusammenführungsvorgang enthalten sind, schlägt der Zusammenführungsvorgang fehl, und es wird ein Rollback auf den ursprünglichen Zustand ausgeführt.

Siehe auch

Nutzen von Web-API-Aktionen
Zusammenführen doppelter Datensätze
MergeRequest-Klasse
Verwaltungshandbuch: Zusammenführen von Daten
Dynamics 365 for Service: Zusammenführen von Fällen