Export button on Engagement form
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-12-2025 05:04 AM
Hello, I have to create an export UI action on engagement form. When I click on it, it will export the excel view of the test plans report which has the current details of the associated test plans to that engagement. How can I achieve this??
1 REPLY 1
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-02-2025 07:41 AM
Hi @BKash ,
1. Create a UI Action on the Engagement Form
-
Table: sn_
audit_engagement
-
Form button: checked
-
Client: checked
-
Name: Export Test Plans
-
Order: as preferred
-
Onclick: exportTestPlansExcel();
-
Script:
function exportTestPlansExcel() {
var engagementSysId = g_form.getUniqueValue();
var ga = new GlideAjax('TestPlanExportHelper');
ga.addParam('sysparm_name', 'getTestPlanSysIds');
ga.addParam('sysparm_engagement', engagementSysId);
ga.getXML(function(response) {
var testPlanSysIds = response.responseXML.documentElement.getAttribute("answer");
if (testPlanSysIds) {
var encodedQuery = 'sys_idIN' + testPlanSysIds;
var url = '/sn_audit_test_plan_list.do?sysparm_query=' + encodedQuery;
url += '&sysparm_view=default';
url += '&sysparm_target=sn_audit_test_plan';
url += '&CSV';
g_navigation.openPopup(url);
} else {
alert('No Test Plans found for this Engagement.');
}
});
}
2.Create a script include
Create a client callable script include named “TestPlanExportHelper” with the below script
var TestPlanExportHelper = Class.create();
TestPlanExportHelper.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getTestPlanSysIds: function() {
var engagementSysId = this.getParameter('sysparm_engagement');
var testPlanSysIds = [];
var gr = new GlideRecord('sn_audit_m2m_test_plan_engagement');
gr.addQuery('sn_audit_engagement', engagementSysId);
gr.query();
while (gr.next()) {
testPlanSysIds.push(gr.getValue('sn_audit_test_plan'));
}
gs.info('testPlanSysIds '+testPlanSysIds);
return testPlanSysIds.join(',');
},
type: 'TestPlanExportHelper'
});