How to created related attachment related list on change request table that should contain the attachment attached on approval request

rupali18
Kilo Contributor

I want to create the related list(Relationship) on change table as approval-attachment and it should shows the attachments attached while approving and rejecting the change request. 




1 ACCEPTED SOLUTION

this worked for me

CHG -> has 1 file

Approval record has 1 file

Total 2 records shown in related list

(function refineQuery(current, parent) {

	// Add your code here, such as current.addQuery(field, value);

	// get the approval records for this CHG
	var app = [];
	var gr = new GlideRecord("sysapproval_approver");
	gr.addQuery("sysapproval", parent.getUniqueValue());
	gr.addQuery("source_table", "change_request");
	gr.query();
	while(gr.next()) {
		app.push(gr.getUniqueValue());
	}

	app.push(parent.sys_id.toString());
	current.addQuery("table_sys_id" ,"IN", app.toString());

})(current, parent);

find_real_file.png

find_real_file.png

 

find_real_file.png

Please mark my response as correct and close the thread

Regards
Ankur

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

View solution in original post

16 REPLIES 16

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

attachments are added to sysapproval_approver records? can you share screenshots?

If yes then you would require to create relationship between sysapproval_approver and change_request table

Did you start on that?

Regards
Ankur

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

yes I have created the relationship.
Below is the code written in relationship.

 

var queryString = "table_nameINchange_request^table_sys_idIN" + parent.getValue("sysapproval") +","+parent.getValue("sys_id");


//queryString="table_nameINsc_request,sc_req_item,sc_task^table_sys_idIN"+parent.getValue("sysapproval") +","+parent.getValue("sys_id");
var gr = new GlideRecord("change_request");
gr.addQuery("number", 'sysapproval');
gr.query();
while (gr.next()) {
queryString += "," + gr.sys_id.toString();
}
current.addEncodedQuery(queryString);

Can you share configuration image?

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

something like this

(function refineQuery(current, parent) {

	// Add your code here, such as current.addQuery(field, value);
	var queryString = "table_nameINchange_request^table_sys_idIN" + parent.getUniqueValue();

	// get the approval records for this CHG
	var app = [];
	var gr = new GlideRecord("sysapproval_approver");
	gr.addQuery("sysapproval", parent.getUniqueValue());
	gr.query();
	while(gr.next()) {
		app.push(gr.getUniqueValue());
	}

	current.addQuery(queryString).addOrCondition("table_sys_id" ,"IN", app.toString());

})(current, parent);

find_real_file.png

Regards
Ankur

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