在客户端脚本中使用时如何设置子列表值。我尝试了所有的方法,但它没有工作,并返回相同的错误。
fieldChanged: function(context){
var record = currentRecord.get();
//var record = context.currentRecord; // not working
if(context.fieldId =='custpage_cancel'){
var objSublist = record.getSublist({ //returns sublist obj but can not set
sublistId: 'custpage_sublist'
});
objSublist.setSublistValue({ // Not working ERROR: objSublist.setSublistValue is not a function
fieldId : 'custpage_id',
line : 0,
value : true
});
// record.setSublistValue({ // Not working ERROR: objSublist.setSublistValue is not a function
// sublistId: 'custpage_sublist',
// fieldId: 'custpage_id',
// line: 0,
// value: true
// });
}
}
错误:截图
答案 0 :(得分:4)
尝试选择该行并设置值,在netsuite中为当前记录,他们更喜欢使用选择行和设置值
var records = context.currentRecord
var lineNum = records .selectLine({
sublistId: 'custpage_sublist',
line: 0
});
records.setCurrentSublistValue({
sublistId: 'custpage_sublist',
fieldId: 'custpage_id',
value: true,
ignoreFieldChange: true
});
records.commitLine({
sublistId: 'sublistidentire'
});
答案 1 :(得分:0)
尝试对自定义列表子列表“列表”执行相同操作,并抛出错误
用户事件脚本
function beforeLoad(){
var form = scriptContext.form;
var sublistaAplicar=form.addSublist({
id: 'custpage_invoice',
type: 'list',
label: 'Facturas',
tab: 'custpage_aplicar'
});
sublistaAplicar.addField({
id : 'custpage_type',
type : serverWidget.FieldType.TEXT,
label : 'Type'
});
}
client script.js
function validateField(scriptContext) {
var currentRecord = scriptContext.currentRecord;
var lineNum = currentRecord.selectLine({
sublistId: 'custpage_invoice',
line: 0
});
currentRecord.setCurrentSublistValue({
sublistId: 'custpage_invoice',
fieldId: 'custpage_type',
value: 'test',
ignoreFieldChange: true
});
currentRecord.commitLine({
sublistId: 'custpage_invoice'
});
}
答案 2 :(得分:-2)
在客户端脚本上选择行之前,可能需要先使用插入新行的命令。