Client script in scoped application is not executing the script include

harika26
Tera Contributor

The requirement is to create the pop up dialog box with all the attachments that the HR case form has when ever the handover checkbox is checked.

I have written the on change client script and called the script include using glide ajax. It is showing all the alerts from client script but not giving any logs from the script include.

Any help is appreciated. 

client script

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading || newValue === '') {
        return;
    }
    // var confirm_box = confirm("Confirm Box");
    if (newValue.toString() == 'true') {
        alert("HJ newValue---" + newValue);

        var recordSysId = g_form.getUniqueValue();
        alert("HJ recordSysId---" + recordSysId);
        var tableName = g_form.getTableName();
        alert("HJ  tableName---" + tableName);

        //Initialize and open the Dialog Window

       // var dialog = new GlideDialogWindow("confirm_dialog");
        // dialog.setTitle("Add Attachment to handover"); //Set the dialog title
       //var attach = new GlideAjax('sys_attachments');
        var attach = new GlideAjax('BICheckAttachment'); //BICheckAttachment
        alert("HJ Attach");
        attach.addParam('sysparm_name', 'getAttachmentsFromForm');
       attach.addParam('sysparm_id', recordSysId);
        attach.addParam('sysparm_table', tableName);
        attach.getXML(fill);
       
        function fill(response) {
          alert("HJ Response-" + response);
			 var answer = response.responseXML.documentElement.getAttribute("answer");
			 var dialog = new GlideDialogWindow("confirm_dialog");
            dialog.setTitle("Add Attachment to handover"); //Set the dialog title
            dialog.setPreference("target_sys_id", answer);
            dialog.setPreference("target_table", tableName);
            dialog.setSize(500, 500);
            dialog.render(); //Open the dialog

        }
    }
}

script include - accessible from all application scopes is selected.

var BICheckAttachment = Class.create();
BICheckAttachment.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
	getAttachmentsFromForm: function()
	{
		gs.info("HJ CHECK IN SCRIPT INCLUDE");
		var answer= [];
		var id = this.getParameter('sysparm_id');
		gs.info("HJ ID--"+id);
		var value = this.getParameter('sysparm_table');
		gs.info("HJ value--"+value);
		var grat= new GlideRecord('sys_attachment');
		grat.addQuery("table_sys_id",id);
		grat.addQuery("target_table", value);
		grat.query();
		while(grat.next())
			{				
				gs.info("HJ--grat"+grat.next());
            answer.push(grat.sys_id.toString());
            }
		gs.info("HJ Answer"+answer);
            return 'sys_idIN' + answer.join(",");
		
    },
				
    type: 'BICheckAttachment'
});

End result should be as below - I achieved it once but without changing anything it is not working again. Dont know how it worked earlier

image

 

28 REPLIES 28

you need not use GlideAjax etc to show the box when value is true

use this script and it would show the box with files present on current record when value is true

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
	if (isLoading || newValue === '') {
		return;
	}
	// var confirm_box = confirm("Confirm Box");
	if (newValue.toString() == 'true') {
		saveAttachment(g_form.getTableName(), g_form.getUniqueValue());		
	}
}

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

yes but it is removing the attachments even in the form as well, if we do it this way

In the HR Case form no modifications should be done even if in the new pop up box if we remove unneccessary attachments

why they want to view attachments on pop-up when it can be viewed on form?

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

when hand overing the case to incident, along with the table fields We also need to transfer the attachments

but they are just viewing the attachments and won't do any processing

then how does this help in transferring the files?

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader