Einleitung
Mit Hilfe dieser Aktion kann in den Speicherprozess des Kontakts – egal ob bei Neuanlage oder Bearbeitung eines bestehenden Kontakts – eingegriffen werden.

Ein Benutzer legt einen Kunden an und vergisst die Angabe eines wichtigen Wertes. Beim Speichern wird das festgestellt und das Speichern wird verhindert. Zudem wird dem Benutzer angezeigt, welche Angabe er noch vornehmen muss.

Ein Benutzer bearbeitet eine Adresse und ändert einen Wert. Beim Speichern wird festgestellt, dass genau dieser Wert abhängig von anderen Angaben in den Adressdaten einen anderen als den vom Benutzer eingegebenen Wert haben muss. Der Wert wird automatisch korrigiert und dem Benutzer wird eine Information angezeigt.
Mit Hilfe dieser Aktion kannst du nun also anhand von Kontakt- aber auch Belegdaten beim Speichern eines Kontaks eine Reaktion basierend auf individuellen Regelwerken anstoßen.
Wähle bitte den Aktionstyp „Kontakt speichern“ aus.
Auslöser
In der Karte „Ausführung bei“ kannst du festlegen, wann die Aktion ausgelöst wird.
Wenn du „Speichern eines Kontakts“ (TriggeredBy = „customerSave“) aktivierst, wird die Aktion immer ausgeführt, wenn ein Kontaktdatensatz im ERP-System gespeichert wird.

Der Kontakt wird auch gespeichert, wenn ein Angebot oder eine Bestellung an das ERP-System übergeben wird.
Die Aktion kann in diesen Entitäten bzw. Kontakttypen ausgelöst werden:
- Adresse/Interessent (address)
- Ansprechpartner (contactPerson)
- Interessent (prospect)
- Kunde (customer)
- Lieferant (supplier)
Eingabeparameter
Neben den allgemeinen werden zusätzlich diese Daten übergeben:
Key | Datentyp | Value |
---|---|---|
SageAdressenItem | Sagede.OfficeLine.Data.Entities. Main.AdressenItem | das Sage-Objekt (Adresse), das gespeichert werden soll |
SageKontokorrentItem | Sagede.OfficeLine.Data.Entities. Main.KontokorrentItem | das Sage-Objekt (Kunde), das gespeichert werden soll |
SageAnsprechpartnerItem | Sagede.OfficeLine.Data.Entities. Main.AnsprechpartnerItem | das Sage-Objekt (Ansprechpartner), das gespeichert werden soll |
Custom | Dictionary<string, object> | die Custom-Felder, die für den Kontakt definiert sind (s. Entity-Spezifische Eingabeparameter) |

Wird ein Kontakt neu angelegt, ist noch keine ID (AdressenItem.Adresse, KontokorrentItem.Kto, AnsprechpartnerItem.Nummer) oder eine entsprechende Referenz (AdressenItem.Adresse) gesetzt.
Ausgabeparameter
Es werden die allgemeinen Rückmeldungen erwartet.
Key | Datentyp | Value |
---|---|---|
SageAdressenItem | Sagede.OfficeLine.Data.Entities. Main.AdressenItem | das Sage-Objekt (Adresse), das gespeichert werden soll |
SageKontokorrentItem | Sagede.OfficeLine.Data.Entities. Main.KontokorrentItem | das Sage-Objekt (Kunde), das gespeichert werden soll |
SageAnsprechpartnerItem | Sagede.OfficeLine.Data.Entities. Main.AnsprechpartnerItem | das Sage-Objekt (Ansprechpartner), das gespeichert werden soll |
CancelSave | bool | das Kennzeichen, ob das Speichern abgebrochen werden soll |
Custom | Dictionary<string, object> | die Custom-Felder, die für den Kontakt definiert sind (s. Entity-Spezifische Ausgabeparameter) |
Der Aufbau der Custom-Felder entspricht folgendem Schema:
{
"contact": {
"Tabellenname.Spaltenname": "Wert"
}
}