Service Catalog: Hidden Checkboxes on catalog Item form are visible in Approval Summarizer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-04-2017 02:54 AM
Hi All,
I am working on building a Catalog item where I have a Checkbox Variable that becomes visible on certain conditions.
Suppose , I have selected a condition where this checkbox shall be invisible . and I submit the Order . It goes to Approval Request.
Now, In Approval Summarizer on 'Approval form' , this checkbox is still visible . This is happening only with checkbox as it takes the value as "False" and displays in Approval Summarizer.
Please help me how can I get rid of invisible checkboxes on approval form.
Much Appreciated!!
- 1,942 Views

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-04-2017 05:39 AM
I don't think there's a way around this since the summarizer a formatter and not a actual form. The client script/ui policy works on forms only for a given table. Since you are looking at "related" information to the approval via the summarizer, client scripts and ui policies that referenced form (in your case the RITM) will not be triggered and your checkbox will not be hidden. Sorry.
I like the idea. if you feel strongly about this being in the platform, I invite you to open an enhancement request! Our product managers DO listen.
Enhancement requests: Tell us how you would improve the ServiceNow product
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-15-2017 11:59 AM
Hi Chuck.
I was able to resolve this issue by adding below script in Macro "approval_variable_summary"
<j:if test="${jvar_question.isVisibleSummary()&&jvar_question.getDisplayValue() != ''&&jvar_question.getDisplayValue()!='false'}">
Basically, jvar_question.getDisplayValue()!='false' solved my issue.
The complete script is :
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:evaluate jelly="true">
var set = new GlideappVariablePoolQuestionSet();
set.setRequestID('${jvar_sc_req_item}');
set.setTaskID('${jvar_sc_task}');
set.load();
</g:evaluate>
<table cellspacing="0" cellpadding="0" width="100%">
<j:forEach var="jvar_question" items="${set.getFlatQuestions()}">
<j:if test="${jvar_question.isVisibleSummary()&&jvar_question.getDisplayValue() != ''&&jvar_question.getDisplayValue()!='false'}">
<g:summarize_question question="${jvar_question}" />
</j:if>
</j:forEach>
</table>
</j:jelly>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-14-2020 02:02 PM
Hi Neetika,
I'm considering this approach. However, will it hide ANY checkboxes with a value of 'false'? Or only those that are hidden via UI Policy or Client Script? This could cause issues for us if it is hiding any unchecked box.
Thanks,
Steve
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-11-2022 07:36 PM
Did you ever find an answer to this?
We have the same problem where checkboxes, hidden by UI polices will always display on approval, ticket details etc