[Gelöst] Berechtigungen

8. Februar 2008 13:22

Hallo Miteinander

Um die Artikelstammdaten besser zu schützen, möchte ich die Berechtigungen einschränken. Dafür habe ich eine Rolle angepasst und die Berechtigungen für die Tabelle 27/ Artikel auf lesen = ja und rest auf indirekt gesetzt. Nun kann man mit dieser Rolle keine Einkaufs- und Verkaufslieferungen mehr buchen. Fehlermeldung: Sie haben keine Berechtigung zum Ändern von Datensätzen in der Tabelle Artikel. Irgendwie funktioniert es mit indirekt einfach nicht (Navision 4 SP1, SQL2000).

Besten Dank für eure Hilfe
Martin
Zuletzt geändert von Martin am 12. Februar 2008 17:25, insgesamt 1-mal geändert.

8. Februar 2008 13:32

Hallo Martin,

eine Frage: Wurde synchronisiert?
Bei jeder Rollen- Objekt-, Benutzer-Anpassung oder Änderung muss bei Verwendung des SQL Server synchronisiert werden. Dazu Extras - Zugriffsrechte - Synchronisieren aufrufen.

8. Februar 2008 13:56

Hallo Martin,

wenn man einer Tabelle indirekte Rechte gibt, muss in den ausgeführten Objekten die Zugriffsberechtigung hinterlegt sein.
Wenn also der Tipp von MrBurns nicht weiterhilft, am Besten mit dem Debugger prüfen, in welchem Objekt der Fehler auftritt und dann dort die Permissions anpassen.

8. Februar 2008 15:01

Hallo Zusammen

Ich habe nach jeder Anpassung synchronisiert. Die Codeunits sind bei uns in der Rolle ALL für alle User freigegeben.

Gruss, Martin

8. Februar 2008 15:12

Hallo Martin,

es geht hier nicht darum, ob die Codeunits in einer Rolle zugeordnet sind. Bei der Verwendung von indirekten Rechten kann der User (wie in Deinem Fall) einen Datensatz der Tabelle 27 nur ändern, wenn das Objekt, in dem der Modify durchgeführt wird, diese Berechtigung hat.

Dazu muss man in diesem Objekt Permissions eintragen.
Bei einer Codeunit über ObjectDesigner -> Codeunit auswählen -> Design -> Proporties und dann im Proporty Permission die Tabelle auswählen und die Rechte zuweisen, die hier erforderlich sind (z. B. T27 eintragen und ein Häkchen bei Modify setzen).
Bei einer Table kommt man zu diesen Proporties, wenn man sich im Design der Tabelle auf das erste leere (neue) Feld setzt und dann die Proporties aufruft.

8. Februar 2008 15:13

Hi Martina!

Martin hat geschrieben:Die Codeunits sind bei uns in der Rolle ALL für alle User freigegeben.

Was meinst du mit freigegeben?

Hast das gemacht, was woger geschrieben hatte?

woger hat geschrieben:wenn man einer Tabelle indirekte Rechte gibt, muss in den ausgeführten Objekten die Zugriffsberechtigung hinterlegt sein.

Gruß, Marc

8. Februar 2008 16:55

Hallo Zusammen

Super, es hat funktioniert. Musste zuerst einmal einen normalen Anwender mit dem Debugger berechtigen (System 5310).
Beim Verbuchen der Einkaufslieferung gab es einen Break auf der Codeunit 5804 Item Cost Management. Habe anschliessend dort die Permissions auf die Tabelle 27 gesetzt. Danach konnte ich verbuchen.

Danke und Gruss, Martin