NetSuite SuiteScript发票tranid待生成及加载记录报错问题
NetSuite SuiteScript 2.x定时脚本发票创建问题求助
问题描述
- 使用SuiteScript 2.x定时脚本创建发票,确认记录已成功保存,但获取
tranid时显示*"To Be Generated"*。 - 尝试通过以下代码加载记录时,报错:Cannot read property "id" from undefined
var recordId = context.objRecord.id; var newRecord = record.load({ type: record.Type.INVOICE, id: recordId, isDynamic: true, });
- 参考相关帖子方案无效,Oracle官方文档示例均采用硬编码
tranid,寻求解决办法。
完整脚本代码
/** * @NApiVersion 2.x * @NScriptType ScheduledScript */ define(['N/runtime', 'N/record', 'N/search'], function(runtime, record, search) { return { execute: function(context) { var objRecord = record.create({ type: record.Type.INVOICE, isDynamic: true, defaultValues: { entity: 3413 } }); var mySearch = search.load({ id: 'customsearch2318' }); var mySearchItemFilter = search.createFilter({ name: 'item', operator: search.Operator.ISNOTEMPTY, summary: search.Summary.GROUP }); var mySearchItemFilter = search.createFilter({ name: 'quantity', operator: search.Operator.ISNOTEMPTY, summary: search.Summary.SUM }); var mySearchItemFilter = search.createFilter({ name: 'cost', operator: search.Operator.ISNOTEMPTY, summary: search.Summary.MAX }); mySearch.run().each(function(result) { var item = result.getValue({ name: 'item', summary: search.Summary.GROUP }); var quantity = result.getValue({ name: 'quantity', summary: search.Summary.SUM }); var cost = result.getValue({ name: 'custcol_location_sales_cost', summary: search.Summary.MAX }); log.debug({ title: 'items', details: item + " " + quantity + " " + cost }); objRecord.selectNewLine({ sublistId: 'item' }); objRecord.setCurrentSublistValue({ sublistId: 'item', fieldId: 'item', value: item }); objRecord.setCurrentSublistValue({ sublistId: 'item', fieldId: 'quantity', value: quantity }); objRecord.setCurrentSublistValue({ sublistId: 'item', fieldId: 'rate', value: 1 }); objRecord.setCurrentSublistValue({ sublistId: 'item', fieldId: 'custcol_location_sales_cost', value: cost }); objRecord.commitLine({ sublistId: 'item' }); return true; }); objRecord.setValue({ fieldId: 'location', value: 1 }); objRecord.save() var docNum = objRecord.getValue ({ fieldId: 'tranid' }) log.debug({ title: 'New Invoice', details: 'Record creation progress' + docNum }); } }; });
内容的提问来源于stack exchange,提问作者TheIronKing
相关产品推荐
相关产品推荐

