How to get field value cat_item and compare to other table

Fidel Fernandez
Tera Expert

Hi All,

I'm trying to make a Glide Ajax  and Script Include, in the next form i have a field name task and i need to take from the table Request Item, take field Item (cat_item) and compare if are 'Solicitud de nuevo producto', if are the same populate in the Time card category to "project", if not the same its othe category, but i can't make it.

Script Include :

var projectRequest = Class.create();
projectRequest.prototype = Object.extendsObject(AbstractAjaxProcessor, {

    getCategory: function() {


        var cat_item = new GlideRecord('sc_req_item');


        var sysID = this.getParameter('sysparm_sysid');


        if (cat_item.get(sysID)) {


            return cat_item.name; 

        }


    },

 

    type: 'projectRequest'
});

The first part of scrip it´s work´s, is i choose one incident the category its populate to Incident, but the other part it´s not working

Client Script:

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading || newValue === '') {
        return;
    }
    var taskValue = g_form.getReference('task', changeValues);


    function changeValues(task) {

        if (task.sys_class_name == 'incident') {

            g_form.setValue('category', 'incident');

        } else if (task.sys_class_name == 'sc_req_item') {

            var sysID = g_form.getParameter('sysparm_id');
            var ga = new GlideAjax('projectRequest'); // name of script include

            ga.addParam('sysparm_name', 'getCategory'); // name of function in script include


            ga.addParam('sysparm_sysid', sysID);


            ga.getXML(parseResponse);

 

            function parseResponse(response) {


                var answer = response.responseXML.documentElement.getAttribute("answer");


                alert(answer);


                g_form.setValue('name', answer);


            }


        }


    }
}

1 ACCEPTED SOLUTION

Harish KM
Kilo Patron
Kilo Patron

 var sysID = g_form.getParameter('sysparm_id'); //this line should be

var sysID = g_form.getValue("fieldname"); 

your glideajax should look like this

  var ga = new GlideAjax('projectRequest'); // name of script include

            ga.addParam('sysparm_name', 'getCategory'); // name of function in script include
            ga.addParam('sysparm_sysid', sysID ); // add the line here to send it to script include

                ga.getXML(parseResponse);

            function parseResponse(response) {

                var answer = response.responseXML.documentElement.getAttribute("answer");

                alert(answer);

                g_form.setValue('name', answer);
            }

        }

SCript Include

 getCategory: function() {

 var sysID = this.getParameter('sysparm_sysid');

 var cat_item = new GlideRecord('sc_req_item');

if (cat_item.get(sysID)) {

  return cat_item.item; 

 }

  },

Regards
Harish

View solution in original post

1 REPLY 1

Harish KM
Kilo Patron
Kilo Patron

 var sysID = g_form.getParameter('sysparm_id'); //this line should be

var sysID = g_form.getValue("fieldname"); 

your glideajax should look like this

  var ga = new GlideAjax('projectRequest'); // name of script include

            ga.addParam('sysparm_name', 'getCategory'); // name of function in script include
            ga.addParam('sysparm_sysid', sysID ); // add the line here to send it to script include

                ga.getXML(parseResponse);

            function parseResponse(response) {

                var answer = response.responseXML.documentElement.getAttribute("answer");

                alert(answer);

                g_form.setValue('name', answer);
            }

        }

SCript Include

 getCategory: function() {

 var sysID = this.getParameter('sysparm_sysid');

 var cat_item = new GlideRecord('sc_req_item');

if (cat_item.get(sysID)) {

  return cat_item.item; 

 }

  },

Regards
Harish