Я попытался напечатать шаблон html / pdf, который хранится в картотеке, после нажатия на пользовательскую кнопку печати (я распечатал ее через пользовательское событие).
Я создал скрипт Suitelet для генерации этогоPDF.
Код моего суллета выше;
/**
* @NApiVersion 2.x
* @NScriptType Suitelet
* @NModuleScope SameAccount
*/
define(['N/log','N/file','N/render','N/record','N/xml'],
function(log,file,render,record,xml) {
function onRequest(context) {
var recordID = context.request.parameters['custparam_id'];
if (recordID != null) {
var xmlFile = file.load({
id: 'Templates/custtmpl_template.xml'
});
var salesrec = record.load({
type: record.Type.SALES_ORDER,
id: recordID
});
var subsidiary =record.load({
type: record.Type.SUBSIDIARY,
id: salesrec.getValue('subsidiary')
});
var renderer = render.create();
var xmlContent = xmlFile.getContents();
renderer.templateContent = xmlContent;
renderer.addRecord('record', salesrec);
renderer.addRecord('subsidiary', subsidiary);
var response = context.response;
response.addHeader({
name: 'Content-Type:',
value: 'application/pdf'
});
response.addHeader({
name: 'Content-Disposition',
value: 'inline; filename="report.pdf"'
});
var pdf = renderer.renderAsString();
var filepdf = renderer.renderAsPdf(pdf);
response.writeFile(filepdf, false);
}
}
return {
onRequest: onRequest
};
});
Но после выполнения я получил эту ошибку;
{"type": "error.SuiteScriptError", "name": "UNEXPECTED_ERROR", "сообщение": NULL, "стек": [ "renderAsString (N / render.js)", "onRequest (PrintOrder.js $ 2854 $ debugger.user: 44)", "(PrintOrder.js $ 2854 $ debugger.wrap:28)», "(NRG_SL_PrintItem.js $ 2854 $ debugger.wrap: 19)", "(NRG_SL_PrintItem.js $ 2854 $ debugger.wrap: 34)", "(NRG_SL_PrintItem.js $ 2854 $ debugger.wrap: 1)"],"причина": {"тип": "внутренняя ошибка", "код": "UNEXPECTED_ERROR", "детали": null, "userEvent": null, "stackTrace": ["renderAsString (N / render.js)","onRequest (PrintOrder.js $ 2854 $ debugger.user: 44)", "(PrintOrder.js $ 2854 $ debugger.wrap: 28)", "(PrintOrder.js $ 2854 $ debugger.wrap: 19)", "(PrintOrder.JS $ 2854 $ debugger.wrap: 34) " "(PrintOrder.js $ 2854 $ debugger.wrap: 1)"], "notifyOff" ложь}, "идентификатор":" a6f6ef7a-e6f9-4087-83f7-85f23ce08a0d-2d323031382e31322e3133"," notifyOff ": false," userFacing ": false}
Что означает эта ошибка?
Есть ли другой способ распечатать PDF-файл?h скрипт скрипт?
Что я делаю не так и как я могу это исправить?