Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

Need help with UI Policy script using Glide Ajax

HARI KISHAN GVS
Mega Sage

Hi Team,

I created one script include and one Ui Policy to make some fields readonly value false.

when i run the script include in backgroup script, it is giving me the correct values. but it's not working in UI Policy script:

Script Include:

var NRChangeUtils = Class.create();
NRChangeUtils.prototype = Object.extendsObject(AbstractAjaxProcessor, {
    getStdChgTempFields: function() {
        var sysId = this.getParameter('sysparm_sys_id');
        var chg = new GlideRecord('change_request');
        chg.addQuery('sys_id', sysId);
        chg.query();
        if (chg.next()) {
            var temp = new GlideRecord('std_change_record_producer');
            temp.addQuery('name', chg.std_change_producer_version.std_change_producer.name);
            temp.query();
            if(temp.next()) {
                var unqval = temp.getUniqueValue();
            }
			var rec = new GlideRecord('std_change_record_producer');
			if(rec.get(unqval)){
				var util = new StdChangeUtilsSNC();
				var opr = util._parseEncodedQuery(rec.template.template);
				return opr.names;
			}
        }
    },

    type: 'NRChangeUtils'
});

 UI Policy script:

policy condition is change type is Standard

in execute true used this:

function onCondition() {
    alert('ABC');
    var gr = new GlideAjax("NRChangeUtils");
    gr.addParam('sysparm_name', 'getStdChgTempFields');
    gr.addParam('sysparm_sys_id', g_form.getUniqueValue());
    gr.getXMLAnswer(response);

    function response(answer) {
        var allFields = g_form.getFieldNames();
        alert('DEF');

        for (var fieldName in allFields) {
            if (!answer.includes(fieldName)) {
                g_form.setReadOnly(fieldName, false);
                alert(fieldName);
            }

        }
    }

}

alert('ABC') is generating but alert ('DEF') is not generating.

Could anyone please fix my script?

Thanks,

Hari Kishan.

1 REPLY 1

Brad Bowman
Mega Patron

Use the UI Policy script in an onLoad or onChange Catalog Client Script instead, adding whatever trigger conditions to the script.