Freigabe nach Business Central

Wann ein Datensatz nach Business Central übertragen werden darf — und warum die Reihenfolge zählt.

Das Feld „Sync zu BC"

Nicht jede Firma und nicht jeder Kontakt gehört nach Business Central. Ein Interessent, der nie zum Kunden wird, hat dort nichts verloren. Deshalb ist die Übertragung kein Automatismus, sondern eine bewusste Entscheidung: Das Feld Sync zu BC (wysa_sync2bc) gibt einen Datensatz frei. Erst dann liest die dsyr.DataBridge ihn und überträgt ihn.

Das Feld steht auf Firma, Kontakt, Verkaufschance und Verkaufschancenprodukt.

Die Grundregel: erst der Vater, dann das Kind

Business Central kann einen Kontakt nur anlegen, wenn dessen Firma dort bereits existiert. Genauso wenig kann eine Verkaufschance ohne ihren Kontakt übertragen werden. Daraus folgt die zentrale Regel der Integration:

Ein untergeordneter Datensatz darf erst freigegeben werden, wenn der übergeordnete nachweislich in Business Central angekommen ist.

„Nachweislich" heißt: Business Central hat den Schlüssel zurückgemeldet. Der Nachweis ist also nicht das gesetzte Häkchen, sondern ein gefülltes Rückmeldefeld:

Übergeordneter DatensatzNachweis der Ankunft
Firmawysa_bcSystemId bzw. wysa_bcCustomerNumber
Kontaktwysa_bcContactNumber
Verkaufschancewysa_bcOpportunityNumber

Diese Unterscheidung ist der Kern: Ein Häkchen bedeutet nur „soll übertragen werden", ein gefülltes Nummernfeld bedeutet „ist übertragen".

flowchart TD
    A["Firma freigeben<br/>(Sync zu BC = Ja)"] --> B{"BC-Nummer<br/>zurückgemeldet?"}
    B -- nein --> C["Kontakt kann noch nicht<br/>freigegeben werden"]
    B -- ja --> D["Kontakt freigeben"]
    D --> E{"BC-Kontaktnummer<br/>zurückgemeldet?"}
    E -- nein --> F["Verkaufschance kann noch nicht<br/>freigegeben werden"]
    E -- ja --> G["Verkaufschance freigeben"]

Was das im Alltag bedeutet

Kontakt an eine andere Firma hängen. Wird die übergeordnete Firma eines freigegebenen Kontakts gewechselt, prüft die Lösung, ob die neue Firma bereits in Business Central existiert. Ist sie es nicht, wird die Änderung abgelehnt — sonst entstünde dort ein Kontakt ohne Firma.

Verkaufschance ohne Kontakt. Eine Verkaufschance kann nicht ohne Kontakt übertragen werden. Fehlt er, wird die Freigabe abgelehnt. Ist er vorhanden, aber selbst noch nicht in Business Central angekommen, ebenfalls.

Vererbung von der Firma auf ihre Kontakte. Wird eine Firma freigegeben und ist ihre Übertragung bestätigt, können die zugehörigen Kontakte automatisch mit freigegeben werden. Das erspart die Einzelpflege. Gesteuert wird das über die Umgebungsvariable wysa_AutomaticContactSyncBC — siehe Konfiguration. Ist sie deaktiviert, bleibt die Freigabe je Kontakt eine manuelle Entscheidung.

Verkaufschancenprodukte. Positionen einer Verkaufschance folgen ihrer Verkaufschance. Das funktioniert in beiden Entstehungsreihenfolgen: Wird eine Position zu einer bereits übertragenen Verkaufschance hinzugefügt, wird sie sofort freigegeben; wird die Verkaufschance nachträglich übertragen, werden die bestehenden Positionen nachgezogen.

Kopieren einer Verkaufschance

Wird eine Verkaufschance samt Positionen kopiert, würde die Kopie die BC-Nummer des Originals mittragen — in Business Central entstünde ein doppelter Schlüssel. Deshalb erkennt die Lösung eine Kopie daran, dass die BC-Nummer bereits bei einem anderen Datensatz vergeben ist, und löscht dann die BC-Informationen der Kopie:

DatensatzGeleert / zurückgesetzt
VerkaufschanceBC-Verkaufschancennummer, BC-System-ID, Führendes Angebot; Sync zu BC = Nein
VerkaufschancenproduktBC-System-ID; Sync zu BC = Nein

Die Kopie gilt damit als neue, noch nicht übertragene Verkaufschance und muss bewusst erneut freigegeben werden.

Im Formular

Ergänzend zur Serverprüfung verhält sich das Formular vorausschauend:

  • Sync zu BC ist nur änderbar, solange es sinnvoll ist. Ist ein Datensatz bereits übertragen, wird das Feld gesperrt.
  • Von Business Central geführte Felder sind gesperrt. Sobald ein Datensatz dort existiert, lassen sich Nummern und Stammdatenfelder in Customer Engagement nicht mehr ändern — sie würden ohnehin überschrieben.
  • Speichern wird blockiert, bevor der Server ablehnt. Beim Kontakt prüft das Formular die Freigabesituation direkt beim Speichern und meldet das Problem sofort. Auch das automatische Zwischenspeichern wird in diesem Fall unterdrückt, damit keine Fehlermeldung ohne erkennbaren Anlass erscheint.

Sämtliche dieser Prüfungen gibt es zusätzlich auf dem Server. Wer Daten importiert oder über eine Schnittstelle schreibt, unterliegt denselben Regeln.