The client needs to populate a PDF template on a separate page when a custom button is clicked. The PDF template can be render in a suitelet page.
/**
* @NApiVersion 2.1
* @NScriptType Suitelet
*/
define(['N/record', 'N/render'],
/**
* @param{record} record
* @param{render} render
*/
(record, render) => {
/**
* Defines the Suitelet script trigger point.
* @param {Object} scriptContext
* @param {ServerRequest} scriptContext.request - Incoming request
* @param {ServerResponse} scriptContext.response - Suitelet response
* @since 2015.2
*/
const onRequest = (scriptContext) => {
try{
var record1 = scriptContext.request.parameters.currentRec;
log.debug("record", record1);
var renderer = render.create();
renderer.addRecord({
templateName: 'record',
record: record.load({
type: record.Type.SALES_ORDER,
id:record1
}),
});
renderer.setTemplateById(136);
var renderData = renderer.renderAsPdf();
scriptContext.response.writeFile(renderData, true);
}
catch(e){
log.error("error@onRequest",e)
}
}
return {onRequest}
});