23. Februar 2006 17:56

Nix, hier wird jetzt gebastelt, ich hab mir so Mühe gegeben ;-)

23. Februar 2006 18:03

Sicher hast Du Dir Mühe gegeben.
Ist ja auch eine schöne Sache, nur was machst Du, wenn da noch mehr Reports basierend auf dieser Tabelle hast?
Oder mit den Forms?

Mit den Sicherheitfilter hättest Du ja alles auf einem erledigt.

Aber das kannst Du natürlich machen wie Du wilst.

23. Februar 2006 18:05

Naja das war jetzt im Grunde nicht ganz Ernst gemeint, er soll natürlich die Lösung nehmen welche am besten und schnellsten funktioniert, würd ich auch nicht anders machen :-)

2. März 2006 11:21

Hallo Leute,

sorry, dass ich mich so lange nicht gemeldet habe. Hier meine Lösung:

Im OnPreDataItem habe ich folgenden Code eingefügt:

MemberOf.SETCURRENTKEY("User ID","Role ID");
MemberOf.SETRANGE("User ID",USERID);
MemberOf.SETRANGE("Role ID",'SUPER');
IF MemberOf.FIND ('-') THEN
Rolle_Super := TRUE;

IF Rolle_Super = FALSE THEN BEGIN
SETCURRENTKEY("Benutzer ID");
SETRANGE("Benutzer ID",MemberOf."User ID");
END;


Das funktioniert soweit ganz gut. Nun habe ich noch eine Frage zur Eingrenzung der Rechte bei einem Formular. Ich habe den Code entsprechende modifiziert und in den OnOpenForm Trigger eingefügt. Wie kann ich jetzt verhindern, dass der User den gesetzten Filter selbst wieder lösen kann? Danke für eure Infos. Ich hoffe, ihr seid nicht nachtragend :roll: :oops:

2. März 2006 11:42

Das Lösen des Filters kannst Du verhindern indem du vorher mit filtergroup(6) auf die Ebene
6 - Security - Used for applying security filters for user permissions.

umschaltest.

2. März 2006 12:24

Wow, das ging ja fix. Danke für die Info. Probiere es gleich aus.

2. März 2006 12:35

probiert hab ichs noch nicht, aber das ist die Info aus der C/SIDE Referenz zum Befehl filtergroup....

2. März 2006 13:19

funktioniert einwandfrei! Danke!