Override reference qualifier
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-22-2013 08:32 AM
I am attempting to create an OnChange Client Script that will change the value of the specific Override Reference Qualifier from True to False. The only trouble I have is the syntax to change this value when a specified condition is true. Below I will give you my attempts to access this variable and hopefully someone can lead me in the correct direction.
I believe the one liner should be something like this...
Attempt 1: task.cmdb_ci.sys_dictionary_override.reference_qual_override="false";
Attempt 2: sys_dictionary_override.sc_req_item.cmdb_ci.reference_qual_override = "false";
Attempt 3: sys_dictionary_override.sc_req_item.cmdb_ci.reference_qual_override = 'false';
Thank you in advance.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-23-2013 08:33 AM
I came a little short with your approach. I am probably not calling the function correctly or simply not working. I can document what I have currently.
I have a onChange Client Script on the sc_req_item table, field name CI Class that will change the CI to CI NOT found when the CI Class is = CI Not Found. Also, listens to where the CI Class to is the Value "None". I tested the script with an alert and the condition for if(CI_Class=="None") does work. Below is my Client Script.
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (!isLoading){
if(newValue != '') {
var CI_Class = g_form.getValue('u_ci_class');
var CI = g_form.getValue('cmdb_ci');
var CI_Not_Found = "c0aa269d613b54003aff006d8225b8d6";
var CINone = new CIClassFalse();
if(CI_Class=="cmdb_ci_CI_Not_Found")
{
//alert(CI_Class);
g_form.setValue('cmdb_ci', CI_Not_Found);
}
if(CI_Class=="None")
{
//alert("Hey!");
CINone.CIClassfunction();
}
}
}
}
My Script Include should set the Value of the override from true to false. I tested this in a background script and it works. Script include is below.
function CIClassfunction() {
var gr = new GlideRecord("sys_dictionary_override");
gr.addQuery('reference_qual_override','true');
gr.addQuery('name','sc_req_item');
gr.addQuery('element','cmdb_ci');
gr.query();
while (gr.next())
{
gr.setValue('reference_qual_override', 'false');
gr.update();
}
}
I may be calling the function wrong. Any assistance will be appreciated.
Thank you
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-24-2013 06:52 AM
Thank you for all of your assistance. After discussing with my coworker, he explained that adding a reference qualifier would act like an onChange condition where it checks every time you click on the magnify glass or type in the reference field.
Had a little bump in the road with syntax but after all everything worked out as planned.
Thanks so much.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-22-2013 12:26 PM
I am more aiming this direction but still currently not able to change he value.
var gr = new GlideRecord("sys_dictionary_override");
gr.addQuery('reference_qual_override','true');
gr.addQuery('name','sc_req_item');
gr.addQuery('element','cmdb_ci');
gr.query();
while (gr.next())
{
gr.setValue('reference_qual_override', 'false');
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-22-2013 02:27 PM
Do you still need the Override Reference Qualifier, what about removing it?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-22-2013 06:16 PM
Yes. The Override Reference Qualifier changes the original Reference Qualifier set. For a specific condition during my onChange client script I would like the Override Reference Qualifier off.
Please read below for a better understanding.