Personen-Feldern verarbeiten mit Nintex

Wenn man innerhalb von Nintex den Inhalt von Personen-Feldern verarbeiten möchte, ist das erst mal unproblematisch, solange das jeweilige Listenfeld keine Mehrfachauswahl zulässt…man nimmt einfach eine Nintex-Workflow-Variable vom Typ „Person“. Anders sieht es aus, wenn man eine „User defined Action“ (UDA) baut… hier gibt’s diesen Variablen-Typ nämlich nicht. Ebenso problematisch wird es, wenn das Personenfeld für eine Mehrfachauswahl konfiguriert ist… In beiden Fällen bleibt einem nur, auf eine Workflowvariable vom Typ „Text“ zurückzugreifen.
Soweit, so gut… spannend wird’s, wenn man die darin enthaltenen Personen innerhalb der Nintex-Logik weiterverarbeiten und z.B. als Empfänger für eine Benachrichtigung verwenden will. Im einfachsten Fall wird so eine Textvariable eins zu eins als Email-Empfänger genutzt. Doch was tun, wenn im Rahmen des Email-Versands eine Fehlermeldung auftaucht, die besagt, dass die Email-Adresse des Benutzers mit ID „1337“ nicht gefunden werden kann… in so einem Fall neigt man unweigerlich dazu, das Benutzerprofil als Übeltäter auszumachen… aber weit gefehlt…

Schaut man sich dann den Inhalt einer aus einem Personenfeld gefüllten Workflow-Textvariable an, kann das für 2 Personen so aussehen:

„[ID]#;[LoginName]#; [ID]#;[LoginName]“

oder auch:

„[LoginName];[LoginName]“

Im ersten Fall kommt es zu o.g. Fehlermeldung, im letzteren funktioniert alles wie erwartet.

Grundsätzlich wendet Nintex hier eine Standardformatierung an…wann allerdings welche Formatierung zieht, wovon das genau abhängig ist, haben wir noch nicht abschließend analysiert. Gefunden haben wir beide Varianten… Nintex selbst bietet allerdings in der Action zum Setzen einer Variable an, eine feste Formatierung vorzugeben (bei Daten, die aus Personenfeldern stammen z.B. „Login-Namen durch Semikolon getrennt“). Genau diese Einstellungsmöglichkeit sollte man nutzen, um sicher zu sein, jederzeit das gleiche Format zur Weiterverarbeitung vorzufinden.

Einen Haken hat das Ganze allerdings dann immer noch… denn diese fest vorgegebene Formatierung führt intern gnadenlos eine Typkonvertierung durch, die nicht mit NULL-Werten umgehen kann (ist also das Personenfeld in der jeweiligen Liste leer, kommt es innerhalb von Nintex zu einem Koersionsfehler!). Das Auslesen eines Personenfeldes innerhalb von Nintex mit einer vorgegebenen Formatierung darf also nur dann erfolgen, wenn sichergestellt ist, das das Feld nicht leer ist…ansonsten „Hand in Hand gegen die Wand“ 🙂 .

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.