Ausdrücke
Diese Seite beschreibt alle verfügbaren Operatoren, Funktionen und Attribute, die in Code-Ausdrücken von Pertuniti verwendet werden können.
In dieser Beschreibung werden alle aktuell verfügbaren Operatoren, Funktionen und Attribute von Objekten beschrieben,
die innerhalb von Ausdrücken für Dokumententemplates verfügbar sind.
Häufig benötigt werden vermutlich die verfügbaren Funktionen und Attribute.
Eine übersichtliche Beschreibung der Dokumententemplates selbst findest du hier!
Literale
Literale sind Zeichenfolgen zur direkten Darstellung der Werte von Basistypen, z.B. Ganzzahlen.
Mehrere Literale können z.B. über Operatoren (mit Variablen) verknüpft oder in Funktionen als Argumente verwendet werden.
  
    
      | Eingabe | 
      Wert | 
      Beispiel | 
    
  
  
    
      [+/-]Zahl | 
      Typ Double | 
      1337 | 
    
    
      [+/-][Zahl].Zahl | 
      Typ Double | 
      -3.14 | 
    
    
      int(Double-Wert) | 
      Typ Integer | 
      int(42) | 
    
    
      'n Zeichen' | 
      Typ String | 
      'Hallo Welt' | 
    
    
      "n Zeichen" | 
      Typ String | 
      "Hallo Welt" | 
    
    
      \" | 
      Doppeltes Anführungszeichen | 
      "\"" | 
    
    
      \' | 
      Einfaches Anführungszeichen | 
      "\'" | 
    
    
      \n | 
      Neue Zeile | 
      "\n" | 
    
    
      \\ | 
      Backslash | 
      "\\" | 
    
    
      \sonst | 
      Ohne Interpretation übernommen | 
      "\pertuniti" = "pertuniti" | 
    
    
      True | 
      Typ Boolean: Wahr | 
      TRUE, true | 
    
    
      False | 
      Typ Boolean: Falsch | 
      FALSE, false | 
    
    
      Null | 
      Null | 
      NULL, null | 
    
  
Bei Strings muss das jeweils andere Anführungszeichen nicht escaped werden.
Nicht-String-Literale sind case-insensitive, d.h.
	false = FALSE = FaLsE.
Operatoren
	
		
			| Operator | 
			Semantik | 
		
	
	
		
			| Zahlen | 
		
		
			
				Arg
				+
				Arg
			 | 
			Addition | 
		
		
			
				Arg
				-
				Arg
			 | 
			Subtraktion | 
		
		
			
				Arg
				*
				Arg
			 | 
			Multiplikation | 
		
		
			
				Arg
				/
				Arg
			 | 
			Division | 
		
		
			
				Arg
				<
				Arg
			 | 
			Kleiner | 
		
		
			
				Arg
				<=
				Arg
			 | 
			Kleiner gleich | 
		
		
			
				Arg
				>
				Arg
			 | 
			Größer | 
		
		
			
				Arg
				>=
				Arg
			 | 
			Größer gleich | 
		
		
		
			
				Arg
				==
				Arg
			 | 
			Gleich | 
		
		
			
				Arg
				!=
				Arg
			 | 
			Ungleich | 
		
		
			| Boolean | 
		
		
			
				Arg
				and
				Arg
			 | 
			Und | 
		
		
			
				Arg
				or
				Arg
			 | 
			Oder | 
		
		
			
				!Arg
			 | 
			Negation | 
		
		
			
				Arg
				==
				Arg
			 | 
			Gleich | 
		
		
			
				Arg
				!=
				Arg
			 | 
			Ungleich | 
		
		
			| String | 
			Beispiel | 
		
		
			
				Arg
				+
				Arg
			 | 
			Konkatenation | 
			"a" + "b" = "ab" | 
		
		
			
				Arg
				*
				Arg
			 | 
			Multiplikation | 
			"." * 3 = "..." | 
		
		
			
				Arg
				and
				Arg
			 | 
			Boolesche and-Operation, false dabei repräsentiert durch "False" oder "", sonst true | 
			"True" and false = false | 
		
		
			
				Arg
				or
				Arg
			 | 
			Boolesche or-Operation, false dabei repräsentiert durch "False" oder "", sonst true | 
			"True" or false = true | 
		
		
			
				Arg
				==
				Arg
			 | 
			Gleich | 
		
		
			
				Arg
				!=
				Arg
			 | 
			Ungleich | 
		
		
			| Objekte | 
		
		
			
				Objekt.Feld
			 | 
			Zugriff auf Attribut Feld des Objektes Objekt | 
		
		
			
				Objekt[index]
			 | 
			Zugriff auf Listenelement oder Array Objekt an Position index | 
		
		
			
				Arg
				==
				Arg
			 | 
			Gleich | 
		
		
			
				Arg
				!=
				Arg
			 | 
			Ungleich | 
		
	
Funktionen
	- 
		
			now()
			
			Datum
		
		
			Aktuelles Datum (als java.util.Date)
		
	 
	- 
		
			attr(
			Objekt
			,
			Attribut
			)
			
			String | Date | Contact (Wert)
		
		
			Sofern übergebenes Objekt Eigenschaften hat (z.B. Fälle, Termine, Aufgaben, Dokumente): Zugriff auf Eigenschaft Attribut
		
	 
	- 
		
			int(
			String oder Zahl
			)
			
			Integer
		
		
			Parsen eines Strings oder umwandeln zu Ganzzahl
		
	 
	- 
		
			float(
			String oder Zahl
			)
			
			Double
		
		
			Parsen eines Strings oder umwandeln einer Zahl zu einem Double-Wert
		
		
			Hinweis: Einfache und doppelte Genaugikeit von Gleitkommazahlen wird in Ausdrücken nicht unterschieden. Die Genaueigkeit von Gleitkommazahlen entspricht den double-Werten einer JVM.
		
	 
	- 
		
			str(
			String oder Objekt
			)
			
			String
		
		
			Rückgabe als String oder Aufruf von toString() des übergebenen Objekts
		
	 
	- 
		
			len(
			String oder Array oder Liste
			)
			
			Integer
		
		
			Länge des Strings, der Liste oder des Arrays
		
	 
	- 
		
			dateformat(
			Datum
			,
			format
			)
			
			String
		
		
	 
	- 
		
			get(
			Collection<T>
			,
			Position
			)
			
			T
		
		
			Rückgabe eines Elements der Collection (Liste, Array) an der gewünschten Position
		
	 
	- 
		
			sort(
			Collection<T>
			,
			Sortierattribute...
			)
			
			List<T>
		
		
			Sortierung der Collection (Liste, Set). Ohne Sortierattribute werden die Werte selbst oder deren Textrepräsentation miteinander verglichen (aufsteigend). Mit Attributen werden diese der Reihe nach verglichen, bis sie sich unterscheiden. Sortierattribute können aufsteigend ("+attribut", "attribut") oder absteigend ("-attribut") angewendet werden.
		
	 
	- 
		
			format(
			Format
			,
			Argumente...
			)
			
			String
		
		
			Formatierung von Text, z.B. für Präzision von Nachkommastellen, Datum, ... ähnlich zu 
printf.
			Die Funktion 
format_DE benutzt für Zahlen als Tausendertrennzeichen einen Punkt und für die Nachkommastelle ein Komma.
			Für 
format_US wird ein Komma als Tausendertrennzeichen und ein Punkt für die Nachkommastelle (floating-point number) verwendet.
			Die Funktion 
format ist ein Alias für 
format_US.
			Die Formatierung selbst entspricht
			
https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html.
		
 
	 
	- 
		
			contact(
			Rollen...
			)
			
			Contact
		
		
			Finde ersten Kontakt des aktuellen Falls, der eine der übergebenen Rollen entspricht.
			Auswahl nach der Reihenfolge der Rollen. Wird kein Kontakt für eine übergebene Rolle gefunden, ist das Ergebnis null.
			Bei mehreren Kontakten mit gleicher Rolle erfolgt die Auswahl zufällig.
		
	 
	- 
		
			contacts_all()
			
			Contact[]
		
		
			contacts_all(
			Rollen...
			)
			
			Contact[]
		
		
			Finde alle Kontakte des aktuellen Falls, die mindestens einer der übergebenen Rollen entsprechen.
			Ohne Parameter werden alle Fallkontakte zurückgegeben.
			Kontakte mit mehreren Rollen werden nur einmal übergeben.
			Wird kein Kontakt gefunden, ist das Ergebnis Array der Größe 0.
		
	 
	- 
		
			address(
			Contact
			)
			
			Adresse
		
		
			address(
			Contact
			,
			Präferenzen...
			)
			
			Adresse
		
		
			Falls vorhanden, eine Adresse des Kontakts. Auswahl nach der Reihenfolge der Präferenzen.
			z.B. address(recipient, 'WORK', 'HOME') prüft erst nach Adresse mit Label WORK, falls nicht fündig mit Label HOME, falls nicht fündig die erste oder einzige Adresse.
		
	 
	- 
		
			email(
			Contact
			)
			
			String
		
		
			email(
			Contact
			,
			Präferenzen...
			)
			
			String
		
		
			Falls vorhanden, eine E-Mail-Adresse des Kontakts. Auswahl nach der Reihenfolge der Präferenzen.
		
	 
	- 
		
			fax(
			Contact
			)
			
			Phone
		
		
			fax(
			Contact
			,
			Präferenzen...
			)
			
			Phone
		
		
			Eine Telefonnummer vom Typ Fax Privat, Fax Arbeit, Anderes Fax. Auswahl nach der Reihenfolge der Präferenzen.
		
	 
	- 
		
			phone(
			Contact
			)
			
			Phone
		
		
			phone(
			Contact
			,
			Präferenzen...
			)
			
			Phone
		
		
			Eine Telefonnummer vom Typ Mobil, iPhone, Privat, Arbeit, Firmenzentrale. Auswahl nach der Reihenfolge der Präferenzen.
		
	 
	- 
		
			just_mobile(
			Contact
			)
			
			Phone
		
		
			just_mobile(
			Contact
			,
			Präferenzen...
			)
			
			Phone
		
		
			Eine Telefonnummer vom Typ Mobil, iPhone. Auswahl nach der Reihenfolge der Präferenzen.
		
	 
Verfügbare Attribute
Unser Sicherheitsmodell verhindert den Zugriff auf Eigenschaften von Objekten, die nicht explizit freigegeben wurden.
Die folgenden Listen beschreiben daher, für welche Art von Objekt diese Freigaben definiert sind und welche Informationen aktuell verfügbar sind.
Wir haben bisher nur Attribute in das Sicherheitsmodell aufgenommen, die für Vorlagen tatsächlich benötigt wurden. Wenn du Zugriff auf weitere Attribute benötigst, die in der Anwendung gespeichert, aber in diesen Tabellen nicht aufgeführt werden, kontaktiere johannes.tenschert@pertuniti.de.
Generell können Ausdrücke nur Informationen verwenden, auf die der ausführende Nutzer Zugriff hat, d.h. Dokumententemplates halten sich an das Rechtemanagement.
Fall
  
    
      | Name | 
      Typ | 
      Bedeutung | 
    
  
  
    
      | Name | 
      String | 
      Name des Falls | 
    
    
      | Owner | 
      Kontakt | 
      Fallbesitzer | 
    
    
      | Tasks | 
      Set | 
      Aufgaben des Falls (nicht gelöscht) | 
    
  
Kontakt
  
    
      | Name | 
      Typ | 
      Bedeutung | 
    
  
  
    
      | Prefix | 
      String | 
      Präfix des Namens, z.B. "Dr." | 
    
    
      | FirstName | 
      String | 
      Vorname | 
    
    
      | MiddleName | 
      String | 
      Zweiter Vorname (alle mittlere Vornamen) | 
    
    
      | LastName | 
      String | 
      Nachname | 
    
    
      | Suffix | 
      String | 
      Namenserweiterung, z.B. "M.B.A." | 
    
    
      | Organization | 
      String | 
      Organisationsname | 
    
    
      | isOrganization | 
      Boolean | 
      True wenn Kontakt eine Organisation | 
    
    
      | Birthday | 
      Datum | 
      Geburtstag | 
    
    
      | Gender | 
      String | 
      Geschlecht, Auswahl aus "MALE", "FEMALE", "OTHER", "UNKNOWN" | 
    
  
Adresse
  
    
      | Name | 
      Typ | 
      Bedeutung | 
    
  
  
    
      | POBox | 
      String | 
      Postfach | 
    
    
      | Extension | 
      String | 
      Zweite Adresszeile | 
    
    
      | Street | 
      String | 
      Straße / Hausnummer | 
    
    
      | Locality | 
      String | 
      Ort | 
    
    
      | Region | 
      String | 
      Bundesland / Region | 
    
    
      | Zipcode | 
      String | 
      Postleitzahl | 
    
    
      | Country | 
      String | 
      Land | 
    
  
Phone
  
    
      | Name | 
      Typ | 
      Bedeutung | 
    
  
  
    
      | Number | 
      String | 
      Telefon- oder Faxnummer | 
    
    
      | Type | 
      String | 
      Art der Telefonnummer, aktuell aus "MOBILE", "IPHONE", "PRIVATE", "WORK", "HEADQUARTERS" (Firmenzentrale), "FAX_PRIVATE", "FAX_WORK", "FAX_OTHER", "PAGER", "OTHER" (Sonstiges) | 
    
  
Task
  
    
      | Name | 
      Typ | 
      Bedeutung | 
    
  
  
    
      | Id | 
      Integer | 
      Id der Aufgabe | 
    
    
      | Description | 
      String | 
      Name der Aufgabe | 
    
    
      | Status | 
      TaskStatus | 
      Aktueller Status der Aufgabe | 
    
    
      | Assigned | 
      Contact | 
      Zugewiesen an (optional) | 
    
    
      | Due | 
      Date | 
      Fälligkeitsdatum (optional) | 
    
    
      | Priority | 
      Integer | 
      Priorität (optional) | 
    
    
      | Tags | 
      List | 
      Liste der zugewiesenen Tags | 
    
    
      | Order | 
      Integer | 
      Position in der Liste | 
    
  
TaskStatus
  
    
      | Name | 
      Type | 
      Bedeutung | 
    
  
  
    
      | Name | 
      String | 
      Nicht lokalisierter Name des Status | 
    
    
      | Type | 
      String | 
      Basistyp, aus "NEEDS_ACTION", "COMPLETED", "IN_PROGRESS", "CANCELLED" |