Vertreterauswahl auf OU einschränken

Willkommen in unserer deutschsprachigen Anwendergemeinde.
Stellen Sie ruhig ihre Fragen oder teilen Sie ihr Wissen mit anderen.

Moderator: hdroege

Post Reply
Johnny
Posts: 15
Joined: 18. Oct 2023, 13:17
Contact:

Vertreterauswahl auf OU einschränken

Post by Johnny » 22. Feb 2024, 20:03

Hallo zusammen,

wir haben kürzlich beschlossen, dass der Kunde in seinem Profil im Self Service Portal seinen Stellvertreter auswählen soll. Das dafür vorgesehene Feld heißt im objectpicker "SPSUserClassBase.ProxyPerson".

Will der Kunde seinen Stellvertreter auswählen bekommt er aber eine Auswahl an allen im System befindlichen User. Es wird also keine Beschränkung auf seine OU gemacht (es gibt viele verschiedene Kunden mit verschiedenen OU´s bei uns im System).

Im Layoutdesigner gibt es in diesem Feld nun die Möglichkeit einen Filterausdruck zu hinterlegen. In dem String der UserClassBase gibt es aber keinen String der auf die OU geht. Ich habe nur das Feld "Company" gefunden.

Ich stocke daher nun wie ich eine Einschränkung auf die OU machen kann. Jeder Kunde soll in seinem Profil nur einen Stellvertreter auswählen können der auch tatsächlich zu seiner OU gehört.

Hat jemand eine Idee wie man den Filterausdruck nennen könnte?

LG

MF_NSc
Posts: 88
Joined: 12. Aug 2019, 15:27
Contact:

Re: Vertreterauswahl auf OU einschränken

Post by MF_NSc » 23. Feb 2024, 08:42

Die OU befindet sich nicht in der SPSUserClassBase, sondern in der SPSCommonClassBase. Das Attribut heisst OU und ist eine Relation zur SPSOrgUnitClassBase.

Der Filter erwartet einen ASQL Ausdruck, der in Abhängigkeit des Currentuser erstellt werden muss.
Vorgehensweise (EDIT: bis Version 12.0.3. Ab 12.0.3. muss man anders vorgehen > siehe weiter unten die nächsten Beiträge ab 13:01):
SCHRITT 1 NEUE Context Variable anlegen
- Context-Variable anlegen vom Typ "String", z.B. "FilterProxyPerson".
- Geh in den Erweiterer Modus
- mit + Hinzufügen sucht man die SPSUserType.SPSCommonClassBase.OU raus. Es wird automatisch ein Variablennamen vergeben, z.B. oU.
- Skript (Achtung der Varaiblennamen ist CaseSensitiv - Schreibweise im Namen und im Script MÜSSEN identisch sein:

$value= $format ("T(SPSCommonClassBase).OU='"+ oU.$value+"'");
return $value;

- Speichern

SCHRITT 2 Filter zuweisen
- Attribut ProxyPerson auswählen und bei Filterausdruck die angelegte Context-Variable auswählen.
Last edited by MF_NSc on 26. Feb 2024, 08:46, edited 3 times in total.

Johnny
Posts: 15
Joined: 18. Oct 2023, 13:17
Contact:

Re: Vertreterauswahl auf OU einschränken

Post by Johnny » 23. Feb 2024, 11:03

Hallo lieben Dank dir für die schnelle Antwort! :?

Ich hab das jetzt genau so gemacht. Die Context Variable habe ich in der "SPSUserClassBase.ProxyPerson" angelegt (hoffe das meintest du).
Bild1.png
(150.6 KiB) Downloaded 18 times
Nach dem Speichern bin ich ins Attribut ProxyPerson und wollte im Filterausdruck die Variable auswählen, dort kann man allerdings nur eine Filter-Expression "schreiben". Eine Variable "auswählen" kann ich nicht.
Bild2.png
(32.29 KiB) Downloaded 17 times
Mache ich etwas falsch? :(

MF_NSc
Posts: 88
Joined: 12. Aug 2019, 15:27
Contact:

Re: Vertreterauswahl auf OU einschränken

Post by MF_NSc » 23. Feb 2024, 11:21

Nein, die Context wird bei "Context" angelegt, nicht innerhalb der SPSUserClassBase > bei den Datenquellen ganz nach unten scrollen, da gibts den Bereich "Context". Bei mir heisst es hier halt "CheckOU"
Image

Image

Bei Klick auf das Attribut und Filter geht normalerweise der Bereich aus wo man aus "Modell", "Lokalisierbar" oder "Statisch" auswählen kann. Bei Modell such ich mir dann die zuvor angelegte Context einfach aus.
Image

Johnny
Posts: 15
Joined: 18. Oct 2023, 13:17
Contact:

Re: Vertreterauswahl auf OU einschränken

Post by Johnny » 23. Feb 2024, 12:07

Mein Fehler, war an ganz anderer Stelle....

Ich hab den String jetzt unter "Object" einfach erstellt und dann genau so wie du beschrieben hast den Ausdruck in den Erweiterer Modus geschoben..
String.png
(51.89 KiB) Downloaded 15 times
so weit so gut.

Allerdings kann ich dann, wenn ich nochmal in den objektwähler gehe und damit in das Attribut selbst, kein Modell im Filterausdruck auswählen. Also er öffnet mir das Fenster gar nicht komischerweise.
Bild3.png
(341.39 KiB) Downloaded 16 times
Hoffe man kann es etwas erkennen. Man klickt rein und sieht nur seinen blinkenden Cursor. Wenn ich allerdings ein Feld drüber auf "Erlaubte Typen" gehe da blendet er das Feld ein. Gibt mir aber im Anschluss dann nicht das gewünschte Ergebnis.


Vielen lieben Dank dir schonmal für die Hilfe
Last edited by Johnny on 23. Feb 2024, 12:32, edited 1 time in total.

Johnny
Posts: 15
Joined: 18. Oct 2023, 13:17
Contact:

Re: Vertreterauswahl auf OU einschränken

Post by Johnny » 23. Feb 2024, 12:23

hmmm... ich denke der Fehler liegt im angelegten String, dass dieser bei mir unter "Object" liegt und nicht frei als eigener Stringtype..
aber sehe keine Möglichkeit da einen "freiliegend" hinzuzufügen. Ich hoffe du verstehst was ich meine.

Wenn ich unter "Object" gehe kann ich "Eigenschaft hinzufügen" auswählen.
Unbenannt.png
(53.05 KiB) Downloaded 15 times
Ansonsten sehe ich nicht wie..

MF_NSc
Posts: 88
Joined: 12. Aug 2019, 15:27
Contact:

Re: Vertreterauswahl auf OU einschränken

Post by MF_NSc » 23. Feb 2024, 13:01

Einfach auf "Context" klicken und dann unten Eigenschaft hinzufügen. Beim Anlegen kannst Du den Typ mitgeben.
Warum bei Dir keine Auswahl aus den Modellen zu Verfügung steht kann ich nicht sagen - ich kenn das nicht anders schon seit x Versionen. Welche Version setzt Du ein?

Johnny
Posts: 15
Joined: 18. Oct 2023, 13:17
Contact:

Re: Vertreterauswahl auf OU einschränken

Post by Johnny » 23. Feb 2024, 13:32

besten Dank.. hat geklappt.

aber mich den Context dann im Filter auswählen lässt er nicht zu. Du hast recht, es liegt an der Version. Wir haben die 12.0.3. Habe den Hilfeartikel dazu gefunden, da steht es auch drinF
https://help.matrix42.com/030_DWP/010_S ... Expression

Unter dem Absatz "Declare Parameters" denke ich könnte man den dann hinzufügen.
Kann es sein dass es dann heißt > @{context.OU}:{string}?

MF_NSc
Posts: 88
Joined: 12. Aug 2019, 15:27
Contact:

Re: Vertreterauswahl auf OU einschränken

Post by MF_NSc » 23. Feb 2024, 15:43

Ah...die Änderungen in 12.0.3. hatte ich vorhin nicht auf dem Schirm. Ja, dann mit der neuen Logik bauen.
Hab keine Testumgebung aktuell mit 12.0.3., aber ungefähr so

Filter Expression: T(SPSCommonClassBase).OU=@UserOU:guid

Und beim Parameter, der dann eingefügt wird: die SPSUserType>SPSCommonClassBase>OU auswählen

Johnny
Posts: 15
Joined: 18. Oct 2023, 13:17
Contact:

Re: Vertreterauswahl auf OU einschränken

Post by Johnny » 23. Feb 2024, 20:37

jouuuu.. jetzt hat das geklappt!!! :mrgreen:

besten Dank dir!!

..d.h. wir hätten uns eigentlich die Context Variable mit dem String sparen können richtig? (was jetzt weniger schlimm ist :D )

Post Reply

Return to “Deutsch”

Who is online

Users browsing this forum: No registered users and 1 guest