- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-31-2023 07:55 AM
Hi All,
Hi all,
There are 5 groups:
Level1: Group1
Level2:
Group2
Group3
Group4
Group5
In the incident form, assignment group field... Only the members of Level1 OR Level2 can assign tickets to Level2 list of groups otherwise it should throw an error and setabortaction(true)
Level2 list of groups can reassign in between them.
Could anyone please help me with business rule code? Thanks
Mark this as Helpful / Accept the Solution if this helps.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-10-2023 01:48 PM - edited 08-10-2023 02:02 PM
Hi, after multiple attempts I am able to achieve this. I am posting the solution if anyone in the future comes up with the same requirement.
Create a Business Rule on the table on which this needs to be implemented. I am using incident table as an example.
When to run: before + update
Filter condition: Assignment Group Changes
(function executeRule(current, previous /*null when async*/ ) {
var curr = current.assignment_group;
var prev = previous.assignment_group;
if ((prev != '[Group1 sysID]') && (curr == '[Group2 sysID]' || curr == '[Group3 sysID]' || curr == '[Group4 sysID]' || curr == '[Group5 sysID]' )) {
if (prev != '[Group2 sysID]' && (curr == '[Group2 sysID]' || curr == '[Group3 sysID]' || curr == '[Group4 sysID]' || curr == '[Group5 sysID]' )){
if (prev != '[Group3 sysID]' && (curr == '[Group2 sysID]' || curr == '[Group3 sysID]' || curr == '[Group4 sysID]' || curr == '[Group5 sysID]' )) {
if (prev != '[Group4 sysID]' && (curr == '[Group2 sysID]' || curr == '[Group3 sysID]' || curr == '[Group4 sysID]' || curr == '[Group5 sysID]' )){
if (prev != '[Group5 sysID]' && (curr == '[Group2 sysID]' || curr == '[Group3 sysID]' || curr == '[Group4 sysID]' || curr == '[Group5 sysID]' )){
gs.addErrorMessage('Please assign to Group1');
current.setAbortAction(true);
}
}}}}
})(current, previous);
Mark this as Helpful / Accept the Solution if this helps.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-10-2023 01:48 PM - edited 08-10-2023 02:02 PM
Hi, after multiple attempts I am able to achieve this. I am posting the solution if anyone in the future comes up with the same requirement.
Create a Business Rule on the table on which this needs to be implemented. I am using incident table as an example.
When to run: before + update
Filter condition: Assignment Group Changes
(function executeRule(current, previous /*null when async*/ ) {
var curr = current.assignment_group;
var prev = previous.assignment_group;
if ((prev != '[Group1 sysID]') && (curr == '[Group2 sysID]' || curr == '[Group3 sysID]' || curr == '[Group4 sysID]' || curr == '[Group5 sysID]' )) {
if (prev != '[Group2 sysID]' && (curr == '[Group2 sysID]' || curr == '[Group3 sysID]' || curr == '[Group4 sysID]' || curr == '[Group5 sysID]' )){
if (prev != '[Group3 sysID]' && (curr == '[Group2 sysID]' || curr == '[Group3 sysID]' || curr == '[Group4 sysID]' || curr == '[Group5 sysID]' )) {
if (prev != '[Group4 sysID]' && (curr == '[Group2 sysID]' || curr == '[Group3 sysID]' || curr == '[Group4 sysID]' || curr == '[Group5 sysID]' )){
if (prev != '[Group5 sysID]' && (curr == '[Group2 sysID]' || curr == '[Group3 sysID]' || curr == '[Group4 sysID]' || curr == '[Group5 sysID]' )){
gs.addErrorMessage('Please assign to Group1');
current.setAbortAction(true);
}
}}}}
})(current, previous);
Mark this as Helpful / Accept the Solution if this helps.