Identify multiple Child Tasks linked to Parent Task

awentz
Kilo Contributor

I'm trying to disable choices on a choice drop-down (via UI Policy) if there is more than one Active Child record linked to the Parent. It's not working and throwing unexpected results. My guess is I'm not using the aggregate function correctly to identify the Parent-Child Relationship. Both these tables   - Case (parent) and Case Task(child) are tables that extend from the Primary Task table.  

Here's the first code I used (UI Policy):

AutoTemplate.JPG

Unexpected Results:

UnexpectedResults.JPG

It cannot be the 'disableOption' calls because I can get those to work on a simple UI Policy when I use a Condition on the 'When to Apply'.

Any help would be appreciated.

1 ACCEPTED SOLUTION

manikorada
ServiceNow Employee
ServiceNow Employee

Angela,



I doubt if you can use GlideAggregate in Client side thing like UI policy and you can't use 'current' in UI policy


Try something like this:



var count = new GlideRecord('u_ap_case_task');


count.addQuery('active', true);


count.addQuery('parent', g_form.getUniqueValue());


count.query();


var total = 0;


while(count.next())


{


total++;


}



if(total > 1)


{


//do your code here


}


View solution in original post

16 REPLIES 16

manikorada
ServiceNow Employee
ServiceNow Employee

Angela,



Thats great. Can you mark this as answered if this is solved. This will help others.


Yes, I just marked your original response as Correct since it contained the full code plus the knowledge of not using Aggregate in a UI Policy. Thank you again for your help on this.