This article has been prompted by a question I was asked at a recent Client Side training. Can a system administrator limit certain rights on reports so that they can only be executed after office hours?
This question took me into a neutral mode for a minute. I was like how can I achieve these? Certainly I remembered that I have done something that sounds very similar to above query. That was hiding category based on User Rights. Now the challenge was to hide the same for certain amount of time. After a lot of efforts I finally got the solution.
We can take advantage of the fact that reports are grouped into categories.
Report Categories are managed by the System Administrator under System Menus. To check the available report categories Admin user have to navigate to below path.
1. Go to Administration | Advanced Customization | System Menus
2. An option named as ReportsTabGroup will be available.
Here, we can add SQL clause which will control the access. For example the Administrator Reports category (System Usage) has the SQL clause. This limits the access to users with the correct rights.
SQL Clause: User_per_admin=3
Taking this as an example we can restrict access to a report category after a certain time by SQL date functions e.g. DATEPART(). Below can be the SQL condition which can be added.
SQL Function: user_userid is not null and DATEPART(HH,GETDATE())>17
1. Retrieve Key Value using Custom URL
2. Report Category Access to particular users in Sage CRM
3. Restricting Reports data to authorized users
4. Access Rights to create new Reports in Sage CRM
5. How to Remove Report Category from CRM?