Ein Entscheidungsknoten ist ein Knoten, der einen oder mehrere Eintrittspunkte und genau zwei Austrittspunkte hat: true und false. Ein Entscheidungsknoten muss immer ein Skript haben, das entweder true oder false zurückgibt.
Das Ticket wandert in den Entscheidungsknoten, dann wird das Skript ausgeführt und abhängig vom Ergebnis (true oder false) verlässt das Ticket den Entscheidungsknoten über den entsprechenden Austrittspunkt.
Abbildung 61: ConSol CM Process Designer - Entscheidungsknoten
Ein Entscheidungsknoten hat folgende Eigenschaften:
Name
Pflichtangabe, technischer Objektname.
Bezeichnung
Optional, der lokalisierte Name, der auf der GUI des Web Clients angezeigt wird.
Bedingung
Pflichtangabe, ein Skript, das true oder false zurückgibt, muss angegeben werden.
Ticket-Protokoll Sichtbarkeit
Pflichtangabe. Diese Eigenschaft definiert, auf welchem Sichtbarkeitslevel die Durchführung der Aktivität im Ticketprotokoll im Web Client angezeigt wird. Die möglichen Werte sind:
Die Aktivität wird auf dem Sichtbarkeitslevel angezeigt, das im Admin Tool, Navigationsgruppe Tickets, Navigationselement Protokoll, konfiguriert ist. Je nach Aktivitätstyp wird eine der folgenden Einstellungen verwendet:
Abbildung 62: ConSol CM Web Client - Sichtbarkeitslevel im Ticketprotokoll
Autom. Aktualisierung deaktivieren
Legt das Verhalten des Tickets fest, wenn ein Ereignis gefeuert oder ausgeführt wurde. Normalerweise wird nach einem Ereignis automatisch eine Ticket-Update-Operation durchgeführt. Bei mehreren direkt aufeinanderfolgenden Ereignissen, sollten Sie es vermeiden, nach jedem einzelnen Ereignis eine Ticket-Update-Operation anzustoßen. Setzen Sie dazu für alle Ereignisse außer dem letzten Ereignis der Kette das Feld Autom. Aktualisierung deaktivieren auf true. So wird das Ticket erst nach dem letzten Ereignis aktualisiert.
Abbildung 63: ConSol CM Process Designer - Entscheidungsknoten: Eigenschaften
Im folgenden Beispiel soll das System automatisch überprüfen, ob der Kunde (Hauptkunde des Tickets) ein VIP-Kunde ist. Wenn ja, soll das Ticket das Overlay VIP erhalten (im Beispiel einen gelben Stern).
Abbildung 64: ConSol CM Admin Tool - Kundenfeld "vip" in den Kundendaten
Abbildung 65: ConSol CM Web Client - Kundenfeld "VIP" für Kunden-/Kontaktdaten
import com.consol.cmas.core.server.service.*
import com.consol.cmas.common.model.customfield.meta.UnitDefinitionType
def ticket = workflowApi.ticket
// fetch main contatc of the ticket
def maincontact = ticket.getMainContact()
def unit_type = maincontact.definition.type
log.info 'vipCheck: Unittype is ' + unit_type
log.info 'vipCheck: Unittype class is ' + unit_type.getClass()
if(unit_type == UnitDefinitionType.COMPANY) {
log.info 'No vipCheck for comapnies possible! Returning false ... '
return false
} else if (unit_type == UnitDefinitionType.CONTACT){
// fetch e-mail address of the man contact. The data object group field has to be addressed using data object group name:data object group field name
def vip_field
def custgroup = maincontact.customerGroup.name
log.info 'vipCheck: Customergroup is now ' + custgroup
switch(custgroup) {
case "Reseller": vip_field = "vip_person";
break;
case "DirectCustomers": vip_field = "vip_dircust"
break;
case "MyCustomerGroup": vip_field = "vip"
break;
case "OurPartnerCompanies": vip_field = "vip_partners"
break;
case "RetailCustomers": vip_field = "retail_vip"
break;
}
def vip_value = maincontact.get(vip_field)
log.info 'VIP is now ' + vip_value
if (vip_value){
return true
} else {
return false
}
}
Code-Beispiel 7: Bedingungsskript: Aktivität sollte nur für VIP-Kunden angezeigt werden
Abbildung 66: ConSol CM Web Client - Ticket-Icon mit VIP-Overlay