RenderAsString и renderAsPdf перестали работать? - PullRequest
0 голосов
/ 13 декабря 2018

Я попытался напечатать шаблон 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 скрипт скрипт?

Что я делаю не так и как я могу это исправить?

...