脚本是否可以引用新记录中的一行?

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
}