首页 > 解决方案 > SuiteScript 更新搜索结果字段

问题描述

我在 SuiteScript 2.0 中进行了搜索,它运行良好。但是对于搜索返回的每条记录,我想更新一个特定的字段(我在其他地方使用它来确定该记录已被检查)。它可能是一个非常大的结果集,所以我必须对其进行分页。这是我的代码:

var sResult = mySearch.runPaged({pageSize: 10});
for (var pageIndex = 0; pageIndex < sResult.pageRanges.length; pageIndex++) 
{
    var searchPage = sResult.fetch({ index: pageRange.index });

    searchPage.data.forEach(function (result) 
    {
        var name = result.getValue({ name: "altname"})
        
        result.setValue({
                          name: 'tracker',
                          value: new Date()
        })
    });
}             

你可以看到我在哪里调用了result.setValue(),这是一个不存在的函数。但它显示了我想要更新“跟踪器”字段的位置以及我想要使用的数据。

我在这里完全是在叫错树吗?如何更新每个返回结果的字段?

标签: searchnetsuitesuitescriptupdating

解决方案


正如西蒙所说,您不能直接更新搜索结果,但您可以使用 submitFields 方法。

此示例来自 NetSuite 文档:

var otherId = record.submitFields({ 
    type: 'customrecord_book', //record Type
    id: '4', // record Id
    values: {
        'custrecord_rating': '2'
    }
});

这种方法将比加载和保存记录节省更多的治理。


推荐阅读