我尝试将 PO 项目子列表字段添加到入站项目子列表中,但我的代码不起作用。 错误:无法读取未定义的属性(读取“加载”)
函数 pageInit(scriptContext) {
var purchaseOrder = scriptContext.record.load({
type: record.Type.PURCHASE_ORDER,
id: 'purchaseorder',
isDynamic: true
});
var lines = scriptContext.purchaseOrder.getLineCount({
sublistId: 'item'
});
var sample = scriptContext.purchaseOrder.getValue({
fieldId: 'custcitem_po'
});
if (sample != '' && sample != null) {
for (var i=0; i<lines; i++){
scriptContext.currentRecord.selectNewLine({
sublistId: 'items'
});
scriptContext.currentRecord.setCurrentSublistValue({
sublistId: 'items',
fieldId: 'custrecord_sample',
value: sample,
ignoreFieldChange: true
});
scriptContext.currentRecord.commitLine({
sublistId: 'items'
});
}
}
}
根据文档(不确定该链接是否有效 netsuite.com/app/help/helpcenter.nl?fid=section_4410597671.html,因此您可以使用全局搜索“pageInit(scriptContext)”)
scriptContext
参数没有 record
属性。只有currentRecord
。
也很可能
scriptContext
也没有 purchaseOrder
。
试试这个,抱歉,我当然无法测试,没那么简单。如果不起作用,请发表评论。
function pageInit(scriptContext) {
'use strict';
var purchaseOrder = scriptContext.currentRecord.get();
var lines = purchaseOrder.getLineCount({
sublistId: 'item'
});
var sample = purchaseOrder.getValue({
fieldId: 'custcitem_po'
});
if (sample != '') {
for (var i = 0; i < lines; i++){
scriptContext.currentRecord.selectNewLine({
sublistId: 'items'
});
scriptContext.currentRecord.setCurrentSublistValue({
sublistId: 'items',
fieldId: 'custrecord_sample',
value: sample,
ignoreFieldChange: true
});
scriptContext.currentRecord.commitLine({
sublistId: 'items'
});
}
}
}