NickSuite
08/29/2023, 1:07 PMresponse.writeFile({
file: render.transaction({entityId: parseInt(params.record_id), printMode: render.PrintMode.PDF}),
isInline: true
});
But I cannot use this as I have to pass in data via custom data source.NElliott
08/29/2023, 1:33 PMNickSuite
08/29/2023, 1:34 PMbattk
08/29/2023, 1:42 PMbattk
08/29/2023, 1:43 PMbattk
08/29/2023, 1:45 PMCUSTTMPL_SALE
, you have only showed that the sales order's form has a valid templateNickSuite
08/29/2023, 3:38 PMfunction printPDF(params) {
var renderer = render.create();
renderer.setTemplateByScriptId({
scriptId: 'CUSTTMPL_SALE'
});
var lookupResult = search.lookupFields({type: search.Type.VENDOR, id: params.vendor_id, columns: ['altname']});
renderer.addCustomDataSource({
format: render.DataSource.OBJECT,
alias: 'data',
data: {
vendor_id: params.vendor_name,
vendor_name: lookupResult.altname
}
});
renderer.addRecord({
templateName: 'record',
record: record.load({
type: params.record_type,
id: parseInt(params.record_id)
})
});
return renderer.renderAsString();
}
var fileObj = printPDF(params);
response.setHeader({
name: 'Content-disposition',
value: 'filename="' + params.tran_id + '"'
});
var pdfFile = render.xmlToPdf({
xmlString: fileObj
});
response.writeFile({file: pdfFile});
But this works fine:
response.write({
output: renderer.renderAsString()
});
(edited)
I have tested printing the template using the code below and that works fine as well.
response.writeFile({
file: render.transaction({entityId: parseInt(params.record_id), printMode: render.PrintMode.PDF}),
isInline: true
});
battk
08/29/2023, 3:40 PMNickSuite
08/29/2023, 3:41 PMNickSuite
08/29/2023, 3:42 PMresponse.write({
output: renderer.renderAsString()
});
battk
08/29/2023, 3:42 PMbattk
08/29/2023, 3:43 PMNickSuite
08/29/2023, 3:43 PMNickSuite
08/29/2023, 3:43 PMbattk
08/29/2023, 3:43 PMbattk
08/29/2023, 3:44 PMNickSuite
08/29/2023, 3:44 PMbattk
08/29/2023, 3:45 PMNickSuite
08/29/2023, 3:46 PMbattk
08/29/2023, 3:46 PMbattk
08/29/2023, 3:47 PMNickSuite
08/29/2023, 3:47 PMbattk
08/29/2023, 3:47 PMNickSuite
08/29/2023, 3:48 PMNickSuite
08/29/2023, 3:48 PMbattk
08/29/2023, 3:51 PMbattk
08/29/2023, 3:51 PMNickSuite
08/29/2023, 3:52 PMNickSuite
08/29/2023, 4:00 PM