Florian Ludwig
26 Apr 2016 | Aktualisiert am: 16 Dez 2022
Expertenbeiträge | 3 Min. Lesezeit

Vor einigen Wochen habe ich bei der Datensynchronisierung zwischen den ERP- und CRM-Systemen einen unbedachten Fehler gemacht. Die Synchronisierung sollte Einträge im CRM löschen, die eine bestimmte ID haben. Ich entwickelte meinen Code für den Löschvorgang, testete diesen mit verschiedenen Entitäten und veröffentlichte ihn. Leider gab es ein Szenario, das ich vergessen hatte zu testen. Dadurch wurden die falschen Datensätze gelöscht.

Nach der kurzen Panikattacke überlegte ich, wie ich herausfinden könnte, welche Einträge gelöscht wurden. Da wir mit dem CRM Online zu tun haben, ist es leider nicht möglich, in die Datenbank zu schauen. Also was könnte ich noch tun? Anschließend stellte ich fest, dass die Überwachung des Löschvorgangs viel leistungsstärker ist, als ich gedacht habe.

Anleitung: So stellen Sie gelöschte Einträge aus dem CRM wieder her

Audit-Zusammenfassung

Im ersten Augenblick sieht es so aus, als ob „Oh CRM hat protokolliert, dass ich einen wichtigen Lead gelöscht habe.“ Danach stellte ich fest, dass der Eintrag zwar nicht als bestehender Eintrag verfügbar ist, aber die Informationen der überwachten Felder sind noch da:

Überblick aller überwachten Felder

Also versuchte ich, an diese Informationen zu kommen. In CRM SDK fand ich den RetrieveAuditDetailsRequest. Diese Anfrage verlangt nur die Überwachungs-ID um die Audit-Details zu erhalten. Also muss man zunächst die Audits abfragen. In meinem Fall waren das die am 02.03.2016 gelöschten Leads.

RetrieveAuditDetailsRequest im CRM SDK

Anschließend müssen Sie den RetrieveAuditDetailsRequest mit der ID der Überwachungsentität ausführen, die vorher abgefragt wurde. Die RetrieveAuditDetailsResponse enthält ein AuditDetail, das nach AttributeAuditDetail gecasted, die gelöschte Entität als OldValue-Eigenschaft enthält.

Im AuditDetail gespeicherte Informationen

Mit dieser Information können Sie jetzt das tun, was notwendig ist, zum Beispiel die Daten durch die erneute Erstellung des alten Wertes wieder herstellen.

Ich denke, dass es mit diesen Kenntnissen ziemlich leicht ist, die gelöschten Daten im CRM wieder herzustellen. Sehr wichtig ist natürlich in diesem Kontext die aktivierte Überwachung. Felder, die für die Überwachung nicht freigegeben sind, werden nicht wieder hergestellt.


Eines der gängigsten Probleme in der CRM-Anpassung sind überflüssige Felder im Produktivsystem (managed). Wie Sie diese entfernen, erfahren Sie in diesem Artikel.

Answering