RITM Variables are not exporting to PDF
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-17-2024 02:45 AM
Hi All,
I am facing issue on downloading the submitted RITM form.
Have written below code to get the ritm form but variables are not including in the form.How can we include the variables in the pdf form.
script is as below:
written in UI action:
var rm = new sn_ws.RESTMessageV2();
rm.setHttpMethod('GET');
var url = gs.getProperty("glide.servlet.uri") + current.getTableName()+ '.do?PDF&sys_id=' + current.sys_id + '&sysparm_view=globalops_view';
// gs.info("#url is" + url);
rm.setEndpoint(url);
// Create new properties and save user id and password of an admin account
// rm.setBasicAuth(gs.getProperty('glide.user.userid'), gs.getProperty('glide.user.password'));
rm.setBasicAuth('test', 'test');
rm.saveResponseBodyAsAttachment(current.getTableName(),current.sys_id,current.number + ".pdf");
//gs.info("#saved attachment is");
var response = rm.execute();
action.setRedirectURL(current.getTableName()+".do?sys_id="+current.sys_id);
// grCase.comments = "Ticket downloaded";
//data.isDownloaded = grCase.update();
gs.addInfoMessage(gs.getMessage("Ticket Downloaded"));
if anyone has implimented please help here.
thanks in advance
1 REPLY 1
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-18-2024 03:36 AM
hi @svani ,
can you try like below
UI action: 'PDF convert'
script :
function printVariables(){ //Client Side function
var sysid = g_form.getUniqueValue();
var gdw = new GlideModal('item_variables');
gdw.setTitle('Variables');
gdw.setWidth(1200);
gdw.setPreference('sysparm_number', g_form.getValue('number'));
gdw.setPreference('sysparm_item', g_form.getUniqueValue());
gdw.render();
}
ui page : HTML
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<link href="kb_styles.cssx" type="text/css" rel="stylesheet" />
<div id ="html_content" style="display: none;">
$[sysparm_item]
</div>
<div id='printClass'>
<div id="commentsdiv" style="display: block;">
<h4 style="font-weight: bold;">Status Change Form for: $[sysparm_number]</h4>
<!--<table>
<span><label for="comments">$[sysparm_item]</label></span>
</table> -->
<div id="variable_data"></div>
</div>
</div>
<input type='button' id='btn' value='Print' onclick='printPage();'></input>
</j:jelly>
client script:
var ga = new GlideAjax('fetchVariables1') ;
ga.addParam('sysparm_name','itemVariables');
ga.addParam('sysparm_item',document.getElementById('html_content').innerHTML);
ga.getXMLWait();
var val = ga.getAnswer();
//alert(val);
document.getElementById('variable_data').innerHTML = val;
function printPage()
{
var divToPrint=document.getElementById('printClass');
var newWin=window.open('','Print-Window');
newWin.document.open();
newWin.document.write('<html><body onload="window.print()">'+divToPrint.innerHTML+'</body></html>');
newWin.document.close();
setTimeout(function(){newWin.close();},10);
}
script include:
fetchVariables1 client callable true
var fetchVariables1 = Class.create();
fetchVariables1.prototype = Object.extendsObject(AbstractAjaxProcessor, {
itemVariables: function() {
var itemID = this.getParameter('sysparm_item');
var displayValue = '';
var desc = '';
desc += '<table style="width:100%" cellpadding="0" border="1">';
desc += '<tr>';
desc += '</tr>';
var newLineHTML = '';
var variables ='variables.';
var grItem = new GlideRecord('sc_req_item');
grItem.get(itemID);
var gr = new GlideRecord('sc_item_option_mtom');
gr.addQuery('request_item',itemID);
gr.addEncodedQuery("sc_item_option.valueISNOTEMPTY");
gr.orderBy('sc_item_option.order');
gr.query();
var i = 0;
while(gr.next()) {
variables ='variables.';
/* Put all variable values and labels from the variable pool into an array */
/* Only include non-empty variables, and exclude Label and Container variables */
//gr.sc_item_option.value.getDisplayValue() != '' gr.sc_item_option.value.getDisplayValue() != 'false'
if ( gr.sc_item_option.value.getDisplayValue() != 'false' && gr.sc_item_option.item_option_new.active == true && gr.sc_item_option.item_option_new.type != 11 && gr.sc_item_option.item_option_new.type != 19 && gr.sc_item_option.item_option_new.type != 20 && gr.sc_item_option.item_option_new.type != 14 ) {
//desc += j+") "+ v.getGlideObject().getQuestion().getLabel() + ': ' + v.getDisplayValue() + '<br>' ;
if(gr.sc_item_option.item_option_new.question_text == 'Current Annual Base' && i%2==1){
i++;
}
if(gr.sc_item_option.item_option_new.question_text == 'Current Supervisor' ){
//i++;
}
if(i%2==0) {
desc += '<tr>';
}
variables += gr.sc_item_option.item_option_new.name;
displayValue = grItem.getDisplayValue(variables);
if(displayValue==null || displayValue == undefined) {
displayValue = '';
}
if(gr.sc_item_option.item_option_new.question_text == 'Comments') {
newLineHTML += '<table style="width:100%" cellpadding="0" border="1">';
newLineHTML += '<tr><td style="text-align:left;padding:4px;width:20%;background: #80808040;"><span style="text-align:left;font-weight:900;padding:2px" >' + gr.sc_item_option.item_option_new.question_text + '</td><td style="width:80%;padding:4px;"></span><span style="text-align:left;white-space: pre-wrap;"> ' + gr.sc_item_option.value + ' </span></td></tr></table>';
}
else {
desc += '<td style="text-align:left;padding:4px;width:20%;background: #80808040;"><span style="text-align:left;font-weight:900;padding:2px" >' + gr.sc_item_option.item_option_new.question_text + '</td><td style="width:30%"></span><span style="text-align:left;white-space: pre-wrap;"> ' + displayValue + ' </span></td>';
}
if(i%2 == 1) {
desc += '</tr>';
}
i++;
}
}
desc += '</table>';
desc += newLineHTML;
return desc;
},
type: 'fetchVariables1'
});
Mark the article as helpful and if you found it useful.
Thanks,
BK