Prevent child records from displaying on parent table

Marcel H_
Tera Guru

Ok, so I'm sure that I'm just having a bone-head moment, and there is probably a simple configuration for what I want, but I've been configuring so many different things recently that when I noticed this situation, I think that I'm just spinning my wheels looking for something.

Basically I've extended some base tables, in this case sys_user, core_company and cmn_location, while working on a project for an internal team that wants to use SN to do after action review reports. These reports may contain records related to VIP clients, contract partners specific only to their operations (I don't want them to have to sift through 100s of other company names, or expose those records to others) and locations that are not a part of our typical day to day operations. I figured extending the above tables would give me most of the fields that I need without having to reinvent the wheel for this type of data.

Now, the issue that I'm having is that while these are in extended tables (I'll use sys_user as my example) the child table's records are showing up in the parent table modules as well. For example, I will go to User Administration> Users and search for TestUser in the "Name" field. Now in this case, I know for certain that TestUser is only on one of the extended child tables of sys_user, but shows up anyway with all the other records on the parent table. I can change the application menu to filter on Class=User, but we do have staff that need to be able to filter the list, but I still don't want them seeing these child records.

I see that on Task I can see all the child records of various tables too, but for some reason I expect that. I know also that I've extended other tables like sc_request and don't see the child records on the parent table, even as an admin.

Basically what I want is unless someone can specifically see the modules that are related to these extended tables, those records are completely hidden to everyone except a specific role, and not in a way that can be circumvented (like a list filter).

If I have to bite the bullet and make a brand new table and define all the various fields, I will do so, but I'd prefer not to (since I've already done the work), and I'm not sure what would prevent the same thing from happening again unless I made a new table for each type of "User" record I need to reference. Any help is greatly appreciated. Thanks!

7 REPLIES 7

No. It will run every time you query the table and it should. In a List or while searching record from reference to this table.


It should run because, if a user can't see record from list view, he shouldn't see it from anywhere.



And it wont impact performance. ServiceNow has also used similar query business rule. Even if you setup ACL, it will also run always everytime you open that table. So I dont think, we should worry about it.



Please mark this response as correct or helpful if it assisted you with your question.

Hi


I had the same issue with the on before query business rule,


i have resolve it by adding some conditions to restrict its runing only to concerned lists and related lists.


For that i have created a script include in which i have built the conditions then i have called that script include in the condition field of the business rule.



Thanks,


Layla


Can you post condition which you had put in business rule

 

Thanks In Advance.