Datensatz zusammenführen per Script möglich?

CRM11, Large

Hallo,
ich habe zwei „Sorten“ von Verkaufschancen im System, die sich prinzipiell in ihrer Abarbeitung unterscheiden (Einmal habe ich zuerst ein Produkt und finde dann einen Kunden dafür, das andere Mal habe ich zuerst einen Kunden und organisiere ein Produkt für ihn). Bislang war die Verarbeitung entlang dieser Abläufe die Norm. Mittlerweile hat sich das geändert und Kunden (mit bestehnder VKChance1) erhalten ein Produkt mit bestehnder VKChance2.
Ich kann die beiden Verkaufschancen per „Datensatz zusammenführen“ exakt so vereinigen, dass es für unsere Bedürfnisse passt, ich bin allerdings der einzige…

Ich würde also gerne einen Button programmieren der

  • nur die korrekten VKChancen zum Zusammenführen anbietet (Filter setzen möglich?)
  • dann die beiden VKChancen zusammenführt, ohne dass der Benutzer noch weitere Eingaben machen muss (was von welcher VKChance behalten wird, ist immer gleich)

Geht so etwas per Script?

Vielen Dank im Voraus
Wolfgang

Sorrrieeee, aktuell gibt es keinen COM Zugriff auf die „Datensätze Zusammenführen“ Funktion.

Sie müssten die Logik im Script selber bauen, welches Feld wie im Record gewinnen soll. Das Umhängen der Relationen (wenn überhaupt erforderlich, hängt ja von Ihrem Datenmodell ab) würde ich direkt auf SQL Ebene über das SQLShell Objekt machen (die Fremdschlüsselspalte aller Datensätze mit dem aktuellen, alten Fremdschlüsselwert auf den neuen Fremdschlüsselwert UPDATEn)

Die Auswahl „des zweiten Datensatzes“ würde per DialogSelectRecord für einen gemäß Ihren Regeln auf „korrekte VKChancen“ gefilterten RecordSet passieren.

Das interaktive Zusammenführen könnten Sie scriptseitig per InvokeMenu im nicht-vollautomatisierbaren Fall zumindest anstoßen.

Schade, schade, schade…

Ich kann also die Fremdschlüssel per SQL ohne Nebenwirkungen umhängen?
Und die „Hülle“ der Verkaufschance, die in die zweite integriert wurde, einfach per DELETE FROM table… löschen?
Oder mache ich da was kaputt?
Was passiert mit Datensätzen wie z.B. Termine/Aufgaben, die noch auf den Datensatz verweisen? Ist das Datenmodell so strikt, dass solche Datensätze eine Löschung verhindern?

Vielen Dank einstweilen
Wolfgang

Auf unserer offenen CRM Plattform mit transparentem Datenmodell auf SQL Server / PostgreSQL Basis „dürfen“ Sie fast alles. :smiley: - nur um ganz sicher zu gehen: das Datenmodell Ihrer eigenen Solution kenne ich nicht und kann nicht beurteilen, wo hier Constraints (im Sinne von referentieller Integrität) angebracht bzw. aktiviert sind und wo nicht.

Termine zum Datensatz ist ein guter Punkt: Die Option, dass Termine „umgehängt“ werden, die gibt es (interaktiv) gar nicht. :grimacing: In Ihrem Script könnten Sie das natürlich, die „Verknüpfung“ zum Datensatz sind in einer eigene Tabelle geparkt. Ab hier wird es allerdings „hardcore“, das wäre etwas, das man im Rahmen einer Customizing-Consulting-Dienstleistung bilateral besprechen müsste.

Das Löschen würde ich über Record.Delete machen, dann wäre noch ein etwaiger Papierkorb automatisch im Spiel, ebenso Benutzerrechte. Wenn Sie über die Shell ein „DELETE“ Statement absetzen, dann ist es final. Allerdings würde ich gar nicht Löschen:

:information_source: Insight bei combit: Wir bei combit führen auch Verkaufschancen (interaktiv, ohne Script) zusammen, wo nötig. ABER wir löschen die „andere“ Verkaufschance NICHT. Wir haben einen Status „Duplikat“ eingeführt und nutzen diesen dafür.

Warum? Weil dann keine Daten für statistische Auswertungen verloren gehen.

„Entwicklung der Verkaufschancen über die Zeit“, „Welche Quellen führten zu interessanten Verkaufschancen?“ etc. pp => wenn hier die Daten der zusammengeführten Verkaufschance fehlen, weil sie gelöscht wird, dann entsteht eine gewisse Betrachtungsunschärfe. Zum Beispiel sagt Google Analytics „100 Conversions im Mai“, die Anzahl neuer Verkaufschancen im combit CRM für Mai ist aber nur 80 - wie kann das sein?! => nämlich genau dann, wenn Sie 20 Verkaufschancen zusammengeführt und anschließend gelöscht haben. Da solche Betrachtungen eh schon z.T. unscharf sind, wollen wir hier nicht noch einen zusätzlichen „Fehler“ durch das Löschen generieren, also lassen wir sie leben, „blenden“ sie aber aus, indem dem der tägliche „TODO Filter“ für uns „Duplikate“ ausschließt.

Aus demselben Grund führen wir auch nicht ALLE Felder des Duplikats in die andere Verkaufschance zusammen. Zum Beispiel die Info „Woher kam die Verkaufschance“ („Quelle“) gehört ja zum Zeitstempel ihrer Entstehung. Wenn ich die Quelle einer April Verkaufschance aber jetzt in eine Verkaufschance von Januar überführe, dann stimmt die Kampagnenauswertung nachher nicht, die würde jetzt einen Erfolg im Januar verbuchen, es war aber April. (Und die urspr. Quelle der Januar-Verkaufschance wäre gar nicht mehr nachvollziehbar.) => daher löschen wir bei combit inhouse zusammengeführte Verkaufschancen nicht. :slight_smile: