GlideAggregate count servicenow script



OnSubmit ClientScript:

function onSubmit() {
if (g_scratchpad.isFormValid) {
return true;
}
var actionName = g_form.getActionName();
//GlideAjax
var ga = new GlideAjax("YourScriptIncludeName");
ga.addParam("sysparm_name", "YourMethodName");
ga.addParam('sysparm_id', g_form.getValue('user'));
ga.getXMLAnswer(function(answer) {
// Check the answer returned by the script include method
if (answer == 'true') {
g_scratchpad.isFormValid = true;
g_form.submit(actionName);
} else {
g_scratchpad.isFormValid = false;
g_form.addErrorMessage('WARNING: Validation Failed');
}
});
return false;
}

ScriptInclude with GlideAggregate:

validationCheck: function() {
var sys_id = this.getParameter('sysparm_id');
var result = 'true';
var counter = 0;
if (sys_id) {
var posAggr = new GlideRecord('sn_hr_core_position');
posAggr.addEncodedQuery("u_reporting=" + sys_id);
posAggr.addAggregate("COUNT");
posAggr.query();
if (posAggr.next()) {
counter = parseInt(posAggr.getAggregate("COUNT"));
}
if (counter >= 1) {
result = 'false';
}
}
return result;
}