How to access a variable on a catalog task?

PranavSuj96
Mega Expert

Hello all,

I am writing an onSubmit script which will not allow the user to close the task if a variable from the catalog item that I display on the catalog task (I display it by selecting it in the workflow using the slushbucket). I tried using g_form.getValue('variables.variable_name'). This seems to not work...

 

Any ideas why? I'll post the script below. Also the onsubmit script is also preventing saving/updating..

Script:

function onSubmit() {

 if(g_form.getActionName('close_task') && g_form.getValue('short_description') == 'Precheck for Server Snapshot' && (g_form.getValue('variables.mc_storage')!='false' || g_form.getValue('variables.mc_storage')!='true')) {
  var val = g_form.getValue('variables.mc_storage');
  alert(val.getDisplayValue());
  return false;
 }
 return true;
}

1 ACCEPTED SOLUTION

ccajohnson
Kilo Sage

Based upon what you describe, I am guessing that you want to have specific variables become mandatory only on a particular task, and only when the record becomes closed. If this is true, we can use a UI Policy on the Catalog Task table (not a Catalog UI Policy) to achieve this. I have done this before, so if this is the case and you want more information, let me know.

View solution in original post

34 REPLIES 34

This is a great idea! I'll try it out!! how can I prevent closure of the task from an onChange client script?

You can do so like this:

if(condition is not true){
   g_form.addErrorMessage("Put your message here");
   return;
}

but this doesn't stop the closure itself right?

You're right, I am getting mixed up with a few other questions I am answering to. It does not prevent the submission itself. Have you try using business rule with the current.setAbortAction(true) to prevent the record from being saved?

I don't see any business rule being available for catalog items.