Service Catalog: get display value of reference catalog variable

alert(g_form.getDisplayBox('<variable_name>').value);

note: this doesn't work in Service Portal, and not sure if it's officially supported since it doesn't appear in the GlideForm documentation!

for serviceportal, some experimentation below...

---

was having a play with GlideRecord in Service Portal view...


function onSubmit() {
    var urlString=top.location.toString();
    var res=true;
    var bPortal=false; //--loaded from Service Portal?
    if(urlString.indexOf('id=sc_cat_item')>-1){
        bPortal=true;
    }
    var itemID='';
    try{
        if (bPortal){
            itemID= g_form.getSysId(); //--service portal friendly
        }else{
            //--standard servicenow form
            itemID= gel('sysparm_id').value;
        }
    }catch (ex){
        //--
        alert('An error has occurred in the form load ' + ex.toString());
    }
   
    if (g_form.getValue('retail_owned_by')=='' || g_form.getValue('retail_assigned_to')==''){
        alert('owned by / assigned to not populated for the item selected');
        return false;
       
    }else{
        var bLaptop=false;
       
        alert(itemID);
        var displayTxt='';
        if (!bPortal){
        displayTxt=g_form.getDisplayBox('retail_kit').value.toLowerCase();
            bLaptop=(displayTxt.indexOf('lenovo')>-1);
            if (bLaptop){
                res=confirm('proceed?');
            }
            alert('return...' + res);
            return res;
           
        }else{
           
            //--SERVICE PORTAL LOGIC:
           
            var field_sysid=g_form.getValue('retail_kit');
            //--service portal view
            //--reluctantly, a gliderecord. Cant use synchronous AJAX calls and need to be able to prevent form submission
            //--https://docs.servicenow.com/bundle/istanbul-servicenow-platform/page/build/service-portal/concept/unsupported_client_scripts.html
            var grRL=new GlideRecord('u_mab_retail_sc_lookup');
            grRL.addQuery('sys_id', field_sysid);
            /*grRL.query();
            if (grRL.next()){
                alert('getKitDisplay:: test gl');
                //alert('getKitDisplay:: u_name:' + grRL.getValue('u_name'));
                //alert('getKitDisplay:: sys_id:' + grRL.getValue('sys_id'));
                //alert('getKitDisplay:: getTableName: ' + grRL.getTableName());
                //displayTxt=grRL.getValue(u_name);
            }*/
            grRL.query(function(grRL) {
                if (grRL.next()){
                    alert('in func');
                    alert('getKitDisplay:: u_name:' + grRL.getValue('u_name'));
                    displayTxt=    grRL.getValue('u_name').toLowerCase();
                    bLaptop=(displayTxt.indexOf('lenovo')>-1);
                   
                    if (bLaptop){
                        res=confirm('proceed?');
                    }
                    alert('return...' + res);
                    return res;
                }
            });
           
        }
        /*alert('test---' + displayTxt);
        alert(bLaptop);
       
        if (itemID=='4c08fea3379d97803bef532e53990e03'){ //--additional equipment
            if (g_form.getValue('retail_additional_flag')=='true'){
                alert(g_form.getValue('hidden_addtl_sections'));
            totalCounter=parseInt(g_form.getValue('hidden_addtl_sections'));
                for (iC=1;iC<totalCounter;iC++){
                    //alert(iC);
                }
            }
        }*/
       
       
       
       
        //return true;
    }
   
}





Comments

Popular posts from this blog

Running transform maps asynchronously

Post a command to the ECC queue for the mid server to initiate a powershell file copy

GlideRecord setValue