logo

NJP

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
image 01. ServiceNow Login
image 02. >> System Definition > Business Rules
image 03. New
image 04. Type name, for example "set Short Description App grp"
image 05. Select Group approval table sys_user
image 06. on the "When to run" tab, select before
image 07. select "query"
image 08. Select Advanced
image 09.Condition gs.getSession().isInteractive()
image 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

image 09.Condition gs.getSession().isInteractive() && !gs.hasRole("admin")

B. CONDITION ADMIN Role

image 09.Condition gs.getSession().isInteractive() && !gs.hasRole("admin")

B. CONDITION Specific for ...

image 09.Condition gs.getSession().isInteractive() && !query.includes('activeANYTHING')

C. Codifying

image 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();
}

image

Summary

Governance: Technical Best Practices eBook

View original source

https://www.servicenow.com/community/developer-articles/how-to-bypass-query-business-rule-for-catalog-variable/ta-p/2324165