Search SuiteScript更新搜索结果字段
我在SuiteScript2.0中进行了搜索,搜索效果很好。但是对于搜索返回的每个记录,我想更新一个特定字段(我在其他地方使用它来确定该记录已被检查)。这可能是一个非常大的结果集,因此我必须对其进行分页。这是我的密码:Search SuiteScript更新搜索结果字段,search,netsuite,suitescript,updating,Search,Netsuite,Suitescript,Updating,我在SuiteScript2.0中进行了搜索,搜索效果很好。但是对于搜索返回的每个记录,我想更新一个特定字段(我在其他地方使用它来确定该记录已被检查)。这可能是一个非常大的结果集,因此我必须对其进行分页。这是我的密码: var sResult = mySearch.runPaged({pageSize: 10}); for (var pageIndex = 0; pageIndex < sResult.pageRanges.length; pageIndex++) { var s
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()
})
});
}
var sResult=mySearch.runPaged({pageSize:10});
对于(var pageIndex=0;pageIndex
您可以看到我在哪里调用了result.setValue()
,这是一个不存在的函数。但它显示了我想更新“跟踪器”字段的位置以及我想使用的数据
我是不是完全找错人了?如何更新每个返回结果的字段?如果不能直接更新搜索结果并将值写回记录,则需要先加载记录。代码段没有说明您正在搜索或要加载的记录类型,但总体思路是(代替result.setValue行):
请记住SuiteScript治理和您修改的记录数。加载和保存太多,脚本将比预期提前终止。如果无法直接更新搜索结果并将值写回记录,则需要先加载记录。代码段没有说明您正在搜索或要加载的记录类型,但总体思路是(代替result.setValue行):
请记住SuiteScript治理和您修改的记录数。加载并保存太多,脚本将比预期提前终止。正如Simon所说,您不能直接更新搜索结果,但可以使用submitFields方法 此示例来自NetSuite文档:
var otherId = record.submitFields({
type: 'customrecord_book', //record Type
id: '4', // record Id
values: {
'custrecord_rating': '2'
}
});
这种方法保存的治理比加载和保存记录要多。正如Simon所说,您不能直接更新搜索结果,但可以使用submitFields方法 此示例来自NetSuite文档:
var otherId = record.submitFields({
type: 'customrecord_book', //record Type
id: '4', // record Id
values: {
'custrecord_rating': '2'
}
});
这种方法将保存比加载和保存记录更多的治理。糟糕的设计:不要在迭代中使用result.setValue,而是将它们推到“更新”数组,然后在数据之后。forEach还有另一个函数,该函数循环通过更新数组,并使用record.submitFields()在那里处理它们
小心治理……糟糕的设计:不要在迭代中使用结果。setValue将它们推到“更新”数组中,然后在数据之后。forEach还有另一个函数,它循环通过更新数组,并在其中使用record处理它们。submitFields()
注意治理……文档中说“使用此方法时,不需要加载或提交父记录”。但是我仍然需要加载记录来获取记录本身,不是吗?不是,示例代码中的记录是模块名。您不必加载记录。文档中说“当您使用此方法时,您不需要加载或提交父记录”。但是我仍然需要加载记录来获取记录本身,不是吗?不是,示例代码中的记录是模块名。你不必加载记录。