UrmPermElementGet
UrmPermElementGet(int1, alpha2, bigint3) : logic
Element-Rechte ermitteln
Details
- int1: Elementtyp (
_UrmTypeElm...) - alpha2: Name des Elements
- bigint3: Berechtigungsflags
- Resultat:
logicRechte vorhanden - Siehe: Verwandte Befehle , Benutzerpflege ,
UrmPermElementGetRaw ()
Mit dieser Anweisung können die eigenen Rechte überprüft werden. In (int1) wird der Elementtyp und in (alpha2) der Name des Elementes (siehe Benutzerpflege ) übergeben. In (bigint3) wird eine beliebige Kombination von Berechtigungsflags angegeben. Die übergebene Kombination aus Berechtigungsflags kann mit folgenden Konstanten zusammengestellt werden:
_UrmPermRead: Berechtigung zum Lesen_UrmPermCreate: Berechtigung zum Erzeugen_UrmPermModify: Berechtigung zum Ändern_UrmPermModifyOwner: Berechtigung zum Ändern bei Objektbesitz_UrmPermDelete: Berechtigung zum Löschen_UrmPermDeleteOwner: Berechtigung zum Löschen bei Objektbesitz_UrmPermExecute: Berechtigung zum Ausführen_UrmPermConfig: Berechtigung zur Änderung der Datenstruktur_UrmPermElmGroupRead: Berechtigung Elementgruppen lesen_UrmPermElmGroupInsert: Berechtigung Element zur Gruppe hinzufügen_UrmPermElmGroupDelete: Berechtigung Element aus Gruppe löschen_UrmPermElmGroupRead: Berechtigung Benutzer zu Benutzergruppe hinzufügen_UrmPermElmGroupInsert: Berechtigung Benutzer aus Benutzergruppe entfernen
Der Programmierer kann eigene Rechte definieren. Dazu stehen ihm die _UrmPermUser-Konstanten zur Verfügung.
Ist der aktuelle Benutzer im Besitz aller übergebenen Rechte, gibt der Befehl true zurück. Ist mindestens eines der übergebenen Rechte nicht vorhanden, wird false zurück gegeben.
Ist das übergebene Element nicht vorhanden, wird false zurück gegeben.
Beispiel
// Darf ich eine Prozedur ausführen?
if (UrmPermElementGet(_UrmTypeElmProcedure, 'LibDbServices', _UrmPermExecute))
{
LibDbServices:RecReorg();
...
}
// Benutzerdefiniertes Element abfragen
if (UrmPermElementGet(_UrmTypeElmCustom, 'ModuleCustomer', _UrmPermRead | _UrmPermModify))
{
// Kundenmodul aufrufen
...
}
Mögliche Laufzeitfehler:
_ErrStringOverflow: Es wurde ein zu langer (mehr als80Zeichen) Elementname angegeben._ErrValueInvalid: Es wurde eine unbekannte Berechtigung (bigint2) übergeben.