Domino 9 und frühere Versionen > ND6: Entwicklung
Problem mit Dokument Berechtigungen
Axel:
Ich habe das Ganze bei mir mal nachgestellt und mit dieser HideWhen-Formel für den Button sollte es funktionieren:
!(@UserName=From) & @IsNotMember("[creator]"; @UserRoles)
Voraussetzung ist natürlich, dass der Username im Feld Form in diesem Format, CN=Vorname Nachname/OU=Division/O=Firma, vorliegt und dass, wenn die DB lokal liegt die konsistente ACL aktiviert ist.
Axel
judicious:
Alle Infos hier mal zusammengefasst:
Formular Felder:
Author: Text / computed for display
value: @UserName
Country: combobox / editable
City: dialog list / editable
Location: dialog list / editable
detail: text / editable
Configuration: RichText / Editable
HiddenFields:
showname: Text / computed for display
value: @Name([CN];Author)
From: Authors / Computed / Allow multiple values
value: @UserName : "[Creator]"
Buttons:
acsave: immer sichtbar
acclose: immer sichtbar
acedit: hide when --> Formel: !@UserName=From | !@IsMember("[creator]"; @UserRoles)
DB:
People, Server, Groups:
-Default- --> Editor ( keine Rolen )
Mein Name --> Manager ( Alle Rolen )
Rolen:
Creator
DBOwner
Developers
Sonstiges:
Enforce a consistent ACL across all replicas
Edit: Man... wieso geht es mit & ??? Jetzt geht es:
!(@UserName=From) & @IsNotMember("[Creator]"; @UserRoles)
!(@UserName=From) | @IsNotMember("[Creator]"; @UserRoles)
Cool danke erstmal. Ich weiss zwar nicht wieso das jetzt läöuft mit einem AND und nicht mit einem OR.
Jetzt habe ich aber direkt noch eine Frage:
Ich habe im Querysave folgenden Code:
Sub Querysave(Source As Notesuidocument, Continue As Variant)
'Created on 13.02.06 by someone
Dim ThisDoc As NotesDocument
Set ThisDoc = Source.Document
'Checks the mandatory fields and stops saving if a field is empty
If Source.FieldGetText("country") = "" Then
source.GotoField("country")
Messagebox "Country field is empty", 0 + 48, "Failure"
Continue = False
Exit Sub
End If
Source.Close
End Sub
Das klappt auch soweit, dass wenn ich das Feld leer lasse kommt die Meldung, aber danach kommt ein Fehler: Cannot execute the specified command.
umi:
Das liegt jetzt an den logischen operatoren:
!(@UserName=From) & @IsNotMember("[Creator]"; @UserRoles)
=> @username != from & @isnotmember("[Creator]";@userroles)
!(@UserName=From) | @IsNotMember("[Creator]"; @UserRoles)
=> @username!=from | @IsNotMember("[Creator]"; @UserRoles)
=> @username=from & @isMember("[Creator]"; @UserRoles)
koehlerbv:
Kleine Anmerkung: Auf einmal wird Creator ja gross geschrieben ... Der vorherige Vergleich auf "[creator]" konnte dann auch nicht klappen.
Zum QuerySave: Ein Source.Close hat da aber nichts zu suchen.
Bernhard
judicious:
--- Zitat von: koehlerbv am 20.02.06 - 15:18:06 ---Kleine Anmerkung: Auf einmal wird Creator ja gross geschrieben ... Der vorherige Vergleich auf "[creator]" konnte dann auch nicht klappen.
--- Ende Zitat ---
Keine Angst das habe ich immer korrigiert ;)
--- Zitat von: koehlerbv am 20.02.06 - 15:18:06 ---Zum QuerySave: Ein Source.Close hat da aber nichts zu suchen.
--- Ende Zitat ---
Wenn ich das aber weglasse, dann kommt zwar der Fehler, speichern lässt sich das Dokument aber trotzdem
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln