Table of Contents

Aktivitäten-Berechnung

Einleitung

Mit der Aktivitäten-Berechnung lassen sich Feldwerte einer Aktivität automatisch berechnen und setzen – etwa beim Anlegen einer neuen Aktivität oder bei der Änderung eines Feldinhalts. Die Berechnung erfolgt über einen externen Dienst, der die Aktivitätsdaten erhält und geänderte Werte zurückliefert.

Beispiele

  • Beim Anlegen einer neuen Aktivität vom Typ „Besuch" soll die Bezeichnung automatisch mit dem heutigen Datum befüllt werden.
  • Ändert ein Benutzer das benutzerdefinierte Feld „Priorität" einer Aktivität, soll ein externes System eine neue Fälligkeitsdatum-Berechnung durchführen und das Ergebnis in das Feld „Fällig am" schreiben.

Wählen Sie bitte den Aktionstyp „Aktivitäten-Berechnung" aus.

Administration

Technische Angaben

Im Bereich Technische Angaben kann der Administrator die Aktivitätstypen auswählen, für die diese Aktion gelten soll. Dabei stehen alle im System angelegten Aktivitätstypen zur Verfügung – auch inaktive.

Auslöser

Im Bereich Ausführung bei kann konfiguriert werden, wann die Aktion ausgeführt wird:

  • Neuanlage (TriggeredBy = „creation"): Die Aktion wird ausgeführt, wenn eine neue Aktivität eines der konfigurierten Typen angelegt wird.
  • Änderung Feldinhalt (TriggeredBy = „fieldChange"): Die Aktion wird ausgeführt, wenn der Inhalt eines bestimmten Feldes geändert wird. Als Auswahlmöglichkeit stehen alle Felder (eigene und Standardfelder) der unter „Technische Angaben" hinterlegten Aktivitätstypen zur Verfügung. Die Einträge werden im Format „{Aktivitätstyp}.{Feldname}" angezeigt (jeweils in der Oberflächensprache des Administrators).

Gültig für

Im Bereich Gültig für steht zusätzlich der Toggle Systemprozesse zur Verfügung. Ist dieser aktiviert, kann die Aktion auch ohne direkte Benutzeraktion automatisch von Salesware in Hintergrundprozessen ausgeführt werden. Die Einstellung „Gültig für Business-Login-Gruppen" steht für diesen Aktionstyp nicht zur Verfügung.

Eingabeparameter

Neben den allgemeinen werden zusätzlich diese Parameter übergeben:

Key Datentyp Value
Id long die Id der Aktivität
Type string der technische Schlüssel des Aktivitätstyps
Title string die Bezeichnung der Aktivität
Description string die Beschreibung der Aktivität
ParentId long die Id der übergeordneten Aktivität
ParentType string der technische Schlüssel des Typs der übergeordneten Aktivität
ParentTitle string die Bezeichnung der übergeordneten Aktivität
Private bool Kennzeichen, ob die Aktivität als privat markiert ist
CreationDate DateTimeOffset das Erstellungsdatum der Aktivität
Creator long die Id des Erstellers der Aktivität
ModificationDate DateTimeOffset das Datum der letzten Änderung der Aktivität
Participants string[] ein Array der Ids aller Teilnehmer der Aktivität; Benutzer im Format "a:{userId}" (z.B. "a:204"), Kollaborationsgruppen im Format "g:{groupId}" (z.B. "g:5")
Fields Dictionary<string, object> alle konfigurierten Felder der Aktivität als Schlüssel-Wert-Paare (siehe Aufbau des Fields-Dictionary)

Aufbau des Fields-Dictionary

Der Key eines Eintrags entspricht dem technischen Schlüssel des Feldes, der in der Administration unter Basiskonfiguration / Aktivitäten / Felder nachgeschlagen werden kann:

  • Systemfelder tragen das Präfix system., z.B. "system.status", "system.dueDate", "system.atmosphere".
  • Benutzerdefinierte Felder verwenden einen generierten Wert, z.B. "49306b48".

Abhängig vom Feldtyp gilt folgender Datentyp für den Wert im Dictionary:

Feldtyp C#-Datentyp Beschreibung / Besonderheit
Texteingabe string?
Textfeld string?
Checkbox bool?
Fälligkeitsdatum string? ISO-8601-Datum ohne Uhrzeit, Format: "YYYY-MM-DD", z.B. "2026-04-07"
Datum (mit Uhrzeit) DateTimeOffset? ISO-8601-Datum mit Zeitzone, z.B. "2026-04-07T13:02:46.4289946+02:00"
Datum (ohne Uhrzeit) string? ISO-8601-Datum ohne Uhrzeit, Format: "YYYY-MM-DD", z.B. "2026-04-07"
Benutzer string? Format: "a:{userId}" für Benutzer (z.B. "a:204"), "g:{groupId}" für Kollaborationsgruppen (z.B. "g:5")
Zahlenwert decimal?
Bewertung int?
Checkliste ChecklistElement[]? Array von Objekten (siehe ChecklistElement)
Dropdown-Auswahl string? Technischer Schlüssel des ausgewählten Optionslistenwertes
Status string? Technischer Schlüssel des Statuswertes (z.B. "system.new", "system.inProgress", "system.closed")
Entitätsverknüpfung string? Schlüssel des verknüpften Datensatzes; bei Feldern auf der Entität Kontakt wird die ERP-verwendbare Id übergeben (z.B. die Kundennummer "1866990") – nicht die interne Salesware-Id. Für Kontaktfelder mit konfigurierter Ansprechpartner-Auswahl sind zusätzlich weitere Einträge im Dictionary vorhanden (siehe Entitätsverknüpfung Kontakt)
Währungsbetrag decimal?
Wiederholung IterationDefinition? Komplexes Objekt (siehe IterationDefinition)

ChecklistElement

Ein Checklisten-Wert ist ein Array von Objekten mit folgenden Eigenschaften:

Eigenschaft Datentyp Beschreibung
Key string Eindeutiger technischer Schlüssel des Eintrags
Label string Anzeigetext des Eintrags
Checked bool Kennzeichen, ob der Eintrag abgehakt ist

Beispiel:

[
  { "Key": "a1b2c3d4", "Label": "Angebot versenden", "Checked": true },
  { "Key": "e5f6a7b8", "Label": "Rückruf vereinbaren", "Checked": false }
]

IterationDefinition

Eine Wiederholungs-Definition ist ein Objekt mit folgenden Eigenschaften:

Eigenschaft Datentyp Beschreibung
Interval string? Art der Wiederholung (technischer Schlüssel, s.u.)
RepetitionAll int? Intervallgröße bei benutzerdefinierter Wiederholung (z.B. 2 für „alle 2 Wochen")
RepetitionUnit string? Einheit bei benutzerdefinierter Wiederholung (technischer Schlüssel, s.u.)
DynamicTimeRange bool? Kennzeichen, ob ein dynamischer Zeitraum verwendet wird
DayOfMonth int? Tag des Monats (1–31)
DynamicInterval string? Position des Wochentags im Monat (technischer Schlüssel, s.u.)
DayOfWeek int? Wochentag (0 = Sonntag, 1 = Montag, … 6 = Samstag)
Month short? Monat (1–12)

Mögliche Werte für Interval:

Wert Bedeutung
"none" Keine Wiederholung
"daily" Täglich
"weekdays" Werktags
"weekly" Wöchentlich
"monthly" Monatlich
"yearly" Jährlich
"userDefined" Benutzerdefiniert (Intervall via RepetitionAll + RepetitionUnit)

Mögliche Werte für RepetitionUnit (nur bei Interval = "userDefined"):

Wert Bedeutung
"day" Tag
"week" Woche
"month" Monat
"year" Jahr

Mögliche Werte für DynamicInterval:

Wert Bedeutung
"first" Erster
"second" Zweiter
"third" Dritter
"fourth" Vierter
"last" Letzter

Vererbung

Felder, bei denen die Vererbung vom Administrator aktiviert wurde, besitzen im Fields-Dictionary einen zusätzlichen Bool-Eintrag mit dem Suffix _isInherited (z.B. "system.contact_isInherited": false). Dieser gibt an, ob der Feldwert von einer übergeordneten Aktivität geerbt wurde. Der Eintrag ist schreibgeschützt und wird in der Rückgabe ignoriert.

Entitätsverknüpfung Kontakt

Kontaktfelder, bei denen zusätzlich ein Ansprechpartner ausgewählt werden kann (z.B. system.contact), liefern neben dem Haupteintrag vier weitere Einträge im Fields-Dictionary:

Key Datentyp Beschreibung
{fieldKey} string? ERP-verwendbare Id des verknüpften Kontakts (z.B. "1866990")
{fieldKey}_isInherited bool Kennzeichen, ob der Kontaktwert von einer übergeordneten Aktivität geerbt wurde
{fieldKey}.addition string? Schlüssel des verknüpften Ansprechpartners
{fieldKey}.addition_isInherited bool Kennzeichen, ob der Ansprechpartner von einer übergeordneten Aktivität geerbt wurde
{fieldKey}.additionReference string? Referenz-Id des Ansprechpartners (z.B. "867032")

Beispiel für das Systemfeld system.contact:

{
  "system.contact": "1866990",
  "system.contact_isInherited": false,
  "system.contact.addition": null,
  "system.contact.addition_isInherited": false,
  "system.contact.additionReference": "867032"
}

Ausgabeparameter

Neben den allgemeinen Rückmeldungen können folgende Parameter zurückgegeben werden:

Key Datentyp Value
Title string die neue Bezeichnung der Aktivität
Description string die neue Beschreibung der Aktivität
Fields Dictionary<string, object> die zu ändernden Felder als Schlüssel-Wert-Paare (gleicher Aufbau wie Eingabe-Fields)

Hinweis

Von den Standardfeldern einer Aktivität sind nur Bezeichnung (Title) und Beschreibung (Description) über die Rückgabe änderbar. Weitere Standardfelder in der Rückgabe werden stillschweigend ignoriert.

Verhalten bei der Auswertung der Rückgabe

  • Felder nicht in der Rückgabe: Ist ein Feld nicht in der Rückgabe enthalten, bleibt sein Wert in der Aktivität unverändert.
  • Inkompatible oder nicht konfigurierte Felder: Kann ein zurückgegebener Wert nicht übernommen werden (Feld im Aktivitätstyp nicht konfiguriert oder Datentyp inkompatibel), bleibt der Wert erhalten und es wird eine Meldung in die Ereignisanzeige der Administration geschrieben.
  • Änderungsprotokoll: Jede durch die Aktion bewirkte Feldänderung wird im Aktivitätenprotokoll festgehalten. Anstelle des auslösenden Benutzers wird dabei der Aktionsname verwendet:

    Aktion „{Aktionsname}" hat den Inhalt des Feldes „{Feldname}" auf „{Wert}" geändert.

  • Änderungsdatum: Eine durch die Aktion bewirkte Feldänderung aktualisiert das Änderungsdatum der Aktivität.
  • Hintergrundprozesse: Wird die Aktion aus einem Hintergrundprozess heraus ausgeführt, werden Rückgaben zur Benutzerinteraktion (Lightboxen, Prompts) ignoriert.