Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: wittmann_franz am 06.10.05 - 07:49:00
-
Hallo zusammen,
möchte Dokumente mit einem Leserfeld nach bestimmten Auswahlkriterien sichtbar bzw. nicht sichtbar machen.
unten stehende Formel befindet sich in einem berechnetem Leserfeld ("Leser"):
Die Felder MA_Abt_betro und MA_Abt_verant sind bearbeitbare Felder und werden je nach Zuständigkeit gefüllt.
OExxx usw. sind Gruppen aus dem names.nsf
Leider klappt es nicht mit den Dokumenten. Jeder sieht immer alles, obwohl die Formel das Feld "Leser" ordnungsgemäß füllt!!
_wert := @If(MA_Abt_betro = "alle GS" ; MA_Abt_betro +", OE002, OE003, OE004, OE005, OE006, OE007, OE008, OE010, OE011, OE016, OE025, OE026, OE041, OE051, OE052, OE053, OE054, OE056, OE057, OE058, OE059, OE061, OE062, OE063, OE064, OE065, OE066, OE067, OE078, OE081, OE083, OE084" ; MA_Abt_betro) ;
_wert1 := @Subset(@DbName;1) : @UserRoles : MA_Abt_verant : _wert ;
@If(@IsDocBeingSaved ; _wert1 ; Leser)
Server 5.0.8
Clients 5.0.11
Vielen Dank schon mal für Eure Hilfe
-
Hi,
nur mal so 'ne Idee. Hast du beim Leserfeld die Option "Mehrfachwerte zulassen" gesetzt?
Axel
-
Gibt es ein zusätzliches Leserfeld? Wie sieht es mit Autorenfeldern aus ( evtl. im Zusammenhang mit Rollen )? Die üblichen Verdächtigen halt.....
Gruß
Frank
-
Mehrfachwerte sind ausgewählt.
Weiter Leser oder Autoren Felder gibt es nicht.
-
Kann es sein, dass durch die Zusammensetzung des Wertes als einen String, der Wert nur als ein Wert erkannt wird? Mehrere Werte trennt man doch in Formeln per Doppelpunkt, so: "Wert1":"Wert2" etc.
-
Definitiv! Mehrfachwerte werden mit Doppelpunkt getrennt (in Formula).
Das was Du da eingibst ist ein einziger String "OE001,OE002,....,OE00n"
-
Hallo zusammen,
möchte Dokumente mit einem Leserfeld nach bestimmten Auswahlkriterien sichtbar bzw. nicht sichtbar machen.
unten stehende Formel befindet sich in einem berechnetem Leserfeld ("Leser"):
Die Felder MA_Abt_betro und MA_Abt_verant sind bearbeitbare Felder und werden je nach Zuständigkeit gefüllt.
OExxx usw. sind Gruppen aus dem names.nsf
Leider klappt es nicht mit den Dokumenten. Jeder sieht immer alles, obwohl die Formel das Feld "Leser" ordnungsgemäß füllt!!
_wert := @If(MA_Abt_betro = "alle GS" ; MA_Abt_betro +", OE002, OE003, OE004, OE005, OE006, OE007, OE008, OE010, OE011, OE016, OE025, OE026, OE041, OE051, OE052, OE053, OE054, OE056, OE057, OE058, OE059, OE061, OE062, OE063, OE064, OE065, OE066, OE067, OE078, OE081, OE083, OE084" ; MA_Abt_betro) ;
_wert1 := @Subset(@DbName;1) : @UserRoles : MA_Abt_verant : _wert ;
@If(@IsDocBeingSaved ; _wert1 ; Leser)
Server 5.0.8
Clients 5.0.11
Vielen Dank schon mal für Eure Hilfe
Wenn Du Deine Formel überarbeitest würde ich auf jeden Fall eine Rolle "[Admin]" als Leser hinzufügen. Notfalls in einem zusätzlichen Leserfeld. Das kann sehr hilfreich sein...
Du speicherst außerdem immer die @userrole des letzten Bearbeiters als Leser - dass kann einen Hintergrund haben, ich finde es zumindest ungewöhnlich.
Gruß
Frank
-
also meine Formel habe ich angepasst:
_wert := @If(MA_Abt_betro = "alle GS" ; "OE002:OE003:OE004:OE005:OE006:OE007:OE008:OE010:OE011:OE016:OE025:OE026:OE041:OE051:OE052:OE053:OE054:OE056:OE057:OE058:OE059:OE061:OE062:OE063:OE064:OE065:OE066:OE067:OE078:OE081:OE083:OE084" ; MA_Abt_betro) ;
_wert1 := @Subset(@DbName;1) : @UserRoles : MA_Abt_verant : _wert ;
@If(@IsDocBeingSaved ; _wert1 ; Leser)
Folgende Auswirkungen:
Ein User der nur in der Gruppe OE003 Mitglied ist sieht das Dokument nicht
sobald die Auswahl in MA_Abt_betro auf "alle GS" lautet.
Wenn z.Bsp.: OE002 und OE003 ausgewählt wird sieht er das Dokument.
Wenn z.Bsp.: nur OE 002 ausgwählt wird sieht er es nicht.
Genau so wie es sein soll.
Der Fehler liegt also defenitiv in der Umsetzung des Wertes "alle GS" und das weis ich leider nicht weiter
Danke schon mal für den Tipp mit der Admin Rolle, die hatte ich in der ACL auch schon hinterlegt, nur noch nicht in der Formel.
-
also meine Formel habe ich angepasst:
_wert := @If(MA_Abt_betro = "alle GS" ; "OE002":"OE003":"OE004":OE005:OE006:OE007:OE008:OE010:OE011:OE016:OE025:OE026:OE041:OE051:OE052:OE053:OE054:OE056:OE057:OE058:OE059:OE061:OE062:OE063:OE064:OE065:OE066:OE067:OE078:OE081:OE083:OE084" ; MA_Abt_betro) ;
_wert1 := @Subset(@DbName;1) : @UserRoles : MA_Abt_verant : _wert ;
@If(@IsDocBeingSaved ; _wert1 ; Leser)
Du mußt die Einzelwerte in "" setzen, sonst übergibst Du einen Wert ("OE002:OE002....). Bei der Fehlersuche würde ich entweder das Feld temporär sichtbar machen oder mir die Feldinhalte über die Dokumenteigenschaften ansehen. Dann sieht mann eigentlich sofort wo es "hakt".
Frank
-
ja, das wars vielen Dank an alle für die freundliche Hilfe.