脚本是否可以引用新记录中的一行?
Is it possible for a script to reference a line on a new record?
这与 SuiteScript 1.0 上的一些旧问题有关。我有一个必须是 2.0 的 2.0 脚本,所以我不能使用旧的 nlapiGetLineItemValue
- 它必须是 Record.getSublistValue(options)
。但我需要它来获取新的未保存记录的行值 BeforeSubmit
.
它一直返回 "getSublistValue" is not defined in object,检查 NetSuite Field Explorer 确认未保存的记录没有定义的行。
同样适用于 AfterSubmit
.
那么在创建记录时是否有任何解决方法,或者甚至可以引用行项目值?
在问题适用的地方添加一些代码:
var recNew = context.newRecord
var ItemID = recNew.getSublistValue({
sublistId: 'items',
fieldId: 'itemid',
});
var listIDs = ["6646", "17745", "17945", "21349"];
var a_filters = [];
a_filters.push(new nlobjSearchFilter(ItemID, null, 'anyof', listIDs));
{
// an action
}
尝试使用
if(scriptContext.type == 'edit'){
var recNew = scriptContext.newRecord
recNew.getSublistValue(options)
}
getSublistValue 要求您传递行号。
var recNew = context.newRecord
for (var x =0; x< recNew.getLineCount({sublistId:'item'}); x++) {
var ItemID = recNew.getSublistValue({ sublistId: 'item', fieldId: 'item', line: x });
// DO STUFF
}
这与 SuiteScript 1.0 上的一些旧问题有关。我有一个必须是 2.0 的 2.0 脚本,所以我不能使用旧的 nlapiGetLineItemValue
- 它必须是 Record.getSublistValue(options)
。但我需要它来获取新的未保存记录的行值 BeforeSubmit
.
它一直返回 "getSublistValue" is not defined in object,检查 NetSuite Field Explorer 确认未保存的记录没有定义的行。
同样适用于 AfterSubmit
.
那么在创建记录时是否有任何解决方法,或者甚至可以引用行项目值?
在问题适用的地方添加一些代码:
var recNew = context.newRecord
var ItemID = recNew.getSublistValue({
sublistId: 'items',
fieldId: 'itemid',
});
var listIDs = ["6646", "17745", "17945", "21349"];
var a_filters = [];
a_filters.push(new nlobjSearchFilter(ItemID, null, 'anyof', listIDs));
{
// an action
}
尝试使用
if(scriptContext.type == 'edit'){
var recNew = scriptContext.newRecord
recNew.getSublistValue(options)
}
getSublistValue 要求您传递行号。
var recNew = context.newRecord
for (var x =0; x< recNew.getLineCount({sublistId:'item'}); x++) {
var ItemID = recNew.getSublistValue({ sublistId: 'item', fieldId: 'item', line: x });
// DO STUFF
}