How to Bypass query business rule for catalog variable / Controlling record access
Import
·
Nov 28, 2019
·
article
How to Bypass query business rule for catalog variable
| Image | Description |
|---|---|
| 01. ServiceNow Login | |
| 02. >> System Definition > Business Rules | |
| 03. New | |
| 04. Type name, for example "set Short Description App grp" | |
| 05. Select Group approval table sys_user | |
| 06. on the "When to run" tab, select before | |
| 07. select "query" | |
| 08. Select Advanced | |
| 09.Condition gs.getSession().isInteractive() | |
| 10. Script current.addActiveQuery(); | |
| 11. Click Save/update |
OK, it's the procedure to restrict BUT How to Control record access inserting an exception?
A. CONDITION ADMIN Role
| 09.Condition gs.getSession().isInteractive() && !gs.hasRole("admin") |
|---|
B. CONDITION ADMIN Role
| 09.Condition gs.getSession().isInteractive() && !gs.hasRole("admin") |
|---|
B. CONDITION Specific for ...
| 09.Condition gs.getSession().isInteractive() && !query.includes('activeANYTHING') |
|---|
C. Codifying
| 10. Script please see below... "var query = gs.getUrlOnStack(); " in this case i'm usign URL to verify the item (catalog) and allow some specific catalog item to search for inactive users. |
|---|
var query = gs.getUrlOnStack();
var vactive = true;
if (query) {
if (!query.includes("88ca63d2dba8e3c02511fa910f96196d") )
{vactive = false;}
if (!query.includes("62a7bfaf0a0a0a6500c49682bd82376a") )
{vactive = false;}
if (vactive == true)
{current.addActiveQuery();}
}
else {
current.addActiveQuery();
}
View original source
https://www.servicenow.com/community/developer-articles/how-to-bypass-query-business-rule-for-catalog-variable/ta-p/2324165