NetSuite通过Suitlet 2.0呈现包含当前记录数据的高级PDF时出现问题 [英] Netsuite problem rendering an Advanced PDF with current record data via Suitelet 2.0
本文介绍了NetSuite通过Suitlet 2.0呈现包含当前记录数据的高级PDF时出现问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问题:我需要从直运客户的未结销售订单创建虚拟装箱单。
第1步:我创建了一个调用此客户端脚本点击处理程序的用户事件按钮:
define(['N/url', 'N/currentRecord'], function (url, currentRecord) {
function pageInit(context) {
}
function onButtonClick() {
var suiteletUrl = url.resolveScript({
scriptId: 'customscript_zg_drop_packingslip_pdf', // my suitelet script id
deploymentId: 'customdeploy_zg_drop_packingslip_pdf', // my suitelet deployment id
returnExternalUrl: false,
params: {
custom_id: currentRecord.get().id,
},
});
window.open(suiteletUrl);
}
exports.onButtonClick = onButtonClick;
exports.pageInit = pageInit;
return exports;
});
第二步:我被套在手提箱上了。我希望它从当前记录中提取数据并通过高级PDF模板传递,以便在新窗口中创建我的直接发货装箱单。
define(['N/render', 'N/record', 'N/xml'],
function(render, record, xml) {
function onRequest(context) {
var id = context.request.parameters.custom_id;
if (!id) {
context.response.write('The parameter "custom_id" is required');
return;
}
var renderer = render.create(id);
renderer.setTemplateByScriptId("CUSTTMPL_128_3768700_732"); // The ID of my Packing Slip Advanced PDF Template
var myPdf = context.response.write(renderer.templateContent);
}
return {
onRequest:onRequest
}
})
当前输出不会显示为pdf,它会随浏览器窗口一起拉伸和缩放。而且,我只获得模式浏览器令牌ID,而不是通过它传递当前记录数据。它目前看起来是这样的:
但我希望它看起来像这样(就像我的高级PDF模板实际看起来一样),具有来自当前销售订单的真实数据,并作为浏览器中的pdf,我可以保存、打印和通过电子邮件发送。我不需要在文件柜中创建或存储这些文件:
要生成推荐答案文件,必须使用:
context.response.writeFile(renderer.renderAsPdf());
renderer.create函数也不接受"id":您可以在此处找到有关如何生成PDF文件的很好的示例:https://system.netsuite.com/app/help/helpcenter.nl?fid=section_4412042824.html
举个例子:
var renderer = render.create();
renderer.addRecord('saleorder', record.load({
type: record.Type.SALES_ORDER,
id: context.request.parameters.custom_id
}));
renderer.setTemplateByScriptId("CUSTTMPL_128_3768700_732");
context.response.writeFile(renderer.renderAsPdf());
这篇关于NetSuite通过Suitlet 2.0呈现包含当前记录数据的高级PDF时出现问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文