- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-02-2017 10:13 AM
Hello all,
So in a catalog item I created there are attachments that need to be mandatory based on the catalog tasks in the workflow. In the request the first catalog client script works correctly, but the other ones I created for the catalog tasks don't show and instead shows the initial attachment. It basically asks to attach the same attachment over and over again.
Does anyone know how I can make it mandatory only on specific catalog tasks. I already tried checkmarking "Apples on Catalog Tasks" and that didn't work.
This is what I have for the one that does work but keeps showing repeatedly:
Thanks in advance!!
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-02-2017 09:11 PM
Hi Grace,
An update on my existing post, you can use Glide Aggregate on Server side which is a Best Practice for better System Performance rather than using Glide Record on Client Side. Write an Before Insert/Update Business Rule on Catalog Task Table as below:
Condition: You can specify the Catalog Item for which you want to configure this validation by dot walking as mentioned below:
Select "Show Related Fields" option from the filter condition first and then dot walking as "Request Item-->Requested Item fields"
Post which you can select the field as "item" is "Your Item Name" as shown below:
Script:
(function executeRule(current, previous /*null when async*/) {
var att = new GlideAggregate('sys_attachment');
att.addAggregate('COUNT');
att.addQuery('table_name', current.getTableName());
att.addQuery('table_sys_id', current.sys_id);
att.query();
var count = 0;
if (att.next()) {
count = att.getAggregate('COUNT');
if (count<1) {
gs.addInfoMessage("Please attach Attachment");
current.setAbortAction(true);
}
}
})(current, previous);
Hope this helps.Mark the answer as correct/helpful based on impact.
Regards,
Shloke
Regards,
Shloke
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-02-2017 10:18 AM
Hello Grace,
This is a pretty good post about it, maybe it can be what you're looking for.
How to Make Service Catalog Attachments Mandatory in ServiceNow | SN Commander
Hope it's useful
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-14-2021 09:15 AM
I'm getting an invalid update error .... Match not found, reset to original
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-14-2021 11:47 AM
Hi John,
In current releases code is not longer needed to make this happen.
There is a new variable type called 'Attachment' which you can use and make it mandatory.
Let me know if this helps. (:

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-02-2017 10:28 AM
Hey Grace,
Try this -
- var sys_id = gel('sys_uniqueValue').value;
- var attachment = new GlideRecord('sys_attachment');
- attachment.addQuery('table_name','sc_task');
- attachment.addQuery('table_sys_id',sys_id);
- attachment.query();
- if (!attachment.next()) {
- alert ('Attach an attachment.');
- }