how to make field mandatory when group name.manger,members added have changes

raj765_32
Tera Contributor

Hi can anyone pls help me with scenario for,

 

when a field in group table 

"Name"

"Manager"

"Group Members'

 

are updated. i have to make a field "Worknotes" mandatory in group table

i have written a before business rule with an update option and written the below code:

 

(function executeRule(current, previous /*null when async*/) {

if(current.name.changes() || current.manager.changes() || current.sys_user_grmember.changes())

if(current.u_work_notes.isNil){

gs.addErrorMessage("Please fill data in worknotes field");
current.setAbortAction(true);
}

})(current, previous);
 
whenever changes are made for the above two fields record is getting saved but i dont want record to be saved unless worknotes field is filled and the above code is not working when group members are added or removed.
 
Please help me with this

 

2 ACCEPTED SOLUTIONS

SN_Learn
Kilo Patron
Kilo Patron

Hi @raj765_32 ,

 

Please try the below:

SN_Learn_0-1722229387632.png

 

In Advance section:

(function executeRule(current, previous /*null when async*/ ) {

    if (current.u_work_notes.isNil()) {
        gs.addErrorMessage("Please fill data in worknotes field");
        current.setAbortAction(true);
    }

})(current, previous);

 

This will work for both the fields 'Name' and 'Manager' but not for Group members because that is not a field rather it is a separate table. So, we need to write a business rule on that table separately.

 

----------------------------------------------------------------
Mark this as Helpful / Accept the Solution if this helps.

View solution in original post

Go with 3 checkbox as true, then it will also consider when you are removing user:

SN_Learn_0-1722235780863.png

 

 

----------------------------------------------------------------
Mark this as Helpful / Accept the Solution if this helps.

View solution in original post

21 REPLIES 21

Satishkumar B
Giga Sage
Giga Sage

Hi @raj765_32 
why don't you prefer writing a "onChange" client Script. 
You can also try UI Policy

Happy Learning
…………………………………………..
Mark it helpful 👍and Accept Solution !! If this helps you to understand.

SN_Learn
Kilo Patron
Kilo Patron

Hi @raj765_32 ,

 

Please try the below:

SN_Learn_0-1722229387632.png

 

In Advance section:

(function executeRule(current, previous /*null when async*/ ) {

    if (current.u_work_notes.isNil()) {
        gs.addErrorMessage("Please fill data in worknotes field");
        current.setAbortAction(true);
    }

})(current, previous);

 

This will work for both the fields 'Name' and 'Manager' but not for Group members because that is not a field rather it is a separate table. So, we need to write a business rule on that table separately.

 

----------------------------------------------------------------
Mark this as Helpful / Accept the Solution if this helps.

Can you please send me code for group members also?

@raj765_32 , Try the below:

 

Business rule on [sys_user_grmember] table, before insert

SN_Learn_0-1722230760487.png

 

Script:

 

(function executeRule(current, previous /*null when async*/ ) {

    var grp = new GlideRecord('sys_user_group');
    if (grp.get(current.group)) {
        if (gs.nil(grp.u_work_notes)) {
            gs.addErrorMessage("Please fill data in worknotes field");
            current.setAbortAction(true);
        }
    }
})(current, previous);

 

 

----------------------------------------------------------------
Mark this as Helpful / Accept the Solution if this helps.