jannes wrote
Thanks answering.
So, unfortunately it is not possible to easily hide/display a SAVE | NEW | DELETE button based on the table access / permissions.
There is a lot of overhead needed to achieve this.
The meta-data is in the system, but we can not use these properties via business-rules.
It would be great if we (in AIM 8.7 ?) don't need to develop a read-only copy of the each form (without SAVE | NEW | DELETE buttons) anymore.
@Support, what is your idea ?
Hmm I feel like two questions are being answered here which was not my intention.
It is possible to hide buttons easily, it's just not without cost.
Applicability
loggedInRegularUser.AccessLevel='Admin'
Show for users who are Admin
loggedInRegularUser.AccessLevel<>'Admin'
Show for everyone who is not Admin
loggedInRegularUser.AccessLevel IN ''Admin', 'Some Other level
Show for a list
The more buttons you have with accessibility conditions the heavier the load. If you have lots of conditions then it would be better to have to multiple forms for access levels and have the condition checking run when selecting the record and present the most appropriate form. If it is two buttons the impact will be relatively low, if you have 15 operations with three level conditions and a lot of logic then the overhead will be high.
If you had a form with 10 buttons and you are testing each of these for accessibility against three access levels then it would be faster for the end user to have three different forms one for each access level with no accessibility conditions.
The RegularUser.AccessLevel field and the AccesLevel BO are directly related but requires two acts, you need to create a Access Level Object AND add the line to the RegularUser.AccessLevel attribute (they should probably be automatically related)
If you set Access Level objects to alter access to Business Objects then it limits that access to ALL instances of that BO. This has flow on impacts, if for example you have Object1 which has a peer single relationship to ObectReference and restrict access to ObjectReference for AcessLevel restricted then you will get errors should a user with AccessLevel Restricted try to view Object1, due to the reference not being available.