RITM Variables are not exporting to PDF

svani
Tera Contributor

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

Bhavya11
Kilo Patron

 hi @svani ,

 

can you try like below

 

UI action: 'PDF convert'

Bhavya11_0-1729247655961.png

 

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