How to add requested item group approvals to a pdf document
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-27-2023 12:17 AM
Hi,
I have a requirement to create a pdf. The pdf need to contain variables from an RITM like name of user, serial number, model and date. they also want to add group approvals added to this.
Using a BR to add the variables Is there any way to add the RITM group approvals ? Please help on this.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-27-2023 12:24 AM
@Community Alums
you can use OOB PDF Generation API, form the HTML string and convert it to pdf
check these links
Building a PDF report using PDFGenerationAPI
Next-Gen PDF Generation – Part 1
How to use ServiceNow PDF Generation API
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-27-2023 02:06 AM
any idea what the table name is for the RITM approvals groups and name to retrieve the approval info ? I tried with the variable ownership but no approvals information there
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-27-2023 04:19 AM
Used the below code but the approvals don't populate In the pdf document. Please help
(function executeRule(current, previous /*null when async*/ ) {
var instance = gs.getProperty('instance_name');
var wn = "<img src=\"https://" + instance + ".service-now.com/rps_logo_pdf.svg\" alt=\"RPSLogo\" width=\"150\" height=\"200\">" + "\n";
var vs = current.variables.equipment_details; //Change your variable set name here/////
var vsArr = JSON.parse(vs);
//current.stage.changesTo('Request Approved')
var pdfContent = '';
pdfContent += '<p style="color:blue;background-color: ">' + "Equipment Details for Requested Item :" + current.number + "</p>";
for (var k = 0; k < vsArr.length; k++) {
pdfContent = pdfContent + "<table style=\"border-collapse: collapse; width: 100%;\" border=\"1\"><tbody><tr><td style=\"width: 50%;\"><b> " + vsArr[k].model_category_1 + ":" + "</b></td><td style=\"width: 50%;\">" + vsArr[k].serial_number_1 + "</td></tr></tbody></table>";
}
// pdfContent = pdfContent + '</table>';
var vardetstr = '';
var keys = [];
var set = new GlideappVariablePoolQuestionSet();
set.setRequestID(current.sys_id);
set.load();
vardetstr += '<p style="color:blue;background-color: ">' + current.number + "\n Opened date :" + current.opened_at + "</p>";
vardetstr += '<p style="color:blue;background-color: ">' + " Opened date :" + current.opened_at + "</p>";
var vs1 = set.getFlatQuestions();
//gs.addInfoMessage('Test'+vs);
// for (var j = 0; j < vs1.size(); j++) {
// if (vs1.get(j).getLabel() != '') {
// vardetstr += "<table style=\"border-collapse: collapse; width: 100%;\" border=\"1\"><tbody><tr><td style=\"width: 50%;\"><b> " + vs1.get(j).getLabel() + ":" + "</b></td><td style=\"width: 50%;\">" + vs1.get(j).getDisplayValue() + "</td></tr></tbody></table>";
// }
// }
for (i = 0; i < vs1.size(); i++) {
if (vs1.get(i).getLabel() != '' && JSUtil.notNil(vs1.get(i).getDisplayValue())) {
if ((vs1.get(i).getLabel() != 'Accept or Reject') && (vs1.get(i).getLabel() != 'Type of Relocation:') && (vs1.get(i).getLabel() != 'Is this Equipment Relocation in a Branch?') && (vs1.get(i).getLabel() != 'Is this request for you ?') && (vs1.get(i).getLabel() != 'Cost Centre Code') && (vs1.get(i).getLabel() != 'Corporate Grade') && (vs1.get(i).getLabel() != 'Mobile Number') && (vs1.get(i).getLabel() != 'Description:'))
var ritm = new GlideRecord('sc_req_item');
ritm.addQuery('state', 'approved');
ritm.query();
while (ritm.next()) {
// Fetch approval records related to the RITM
var approvalGr = new GlideRecord('sysapproval_approver');
approvalGr.addQuery('document_id', ritm.sys_id);
approvalGr.query();
while (approvalGr.next()) {
var assignmentGroup = approvalGr.sysapproval.assignment_group.getDisplayValue();
var sysApproval = approvalGr.sysapproval.getDisplayValue();
var approver = approvalGr.approver.getDisplayValue();
var state = approvalGr.state;
}
}
{
vardetstr = vardetstr + "<table style=\"border-collapse: collapse; width: 100%;\" border=\"1\"><tbody><tr><td style=\"width: 50%;\"><b> " + vs1.get(i).getLabel() + ":" + "</b></td><td style=\"width: 50%;\">" + vs1.get(i).getDisplayValue() + "</td></tr></tbody></table>";
}
}
}
var djj = wn + '\n\n\n' + vardetstr + '\n\n\n' + '\n\n\n' + pdfContent;
var p = new RPSPDF();
p.createPDF(prs, 'sc_req_item', current.getValue("sys_id"), current.number + '.pdf');
})(current, previous);