小编Rob*_*b G的帖子

Suitescript 2.0 ResultSet.Each 回调函数超过 4000

几年前,我编写了一个脚本(如下)(此后就没有编写过代码 - 所以有相当多的内容或生锈;D),其中 ResultSet 现在超过 4000 条记录,这是编写脚本时没有预料到的。错误如下:

{"type":"error.SuiteScriptError","name":"SSS_SEARCH_FOR_EACH_LIMIT_EXCEEDED","message":"nlobjSearchResultSet.forEachResult(callback) 一次返回的搜索结果不能超过 4000 个。请修改您的搜索条件或修改回调逻辑,使返回结果不超过4000条。”...

解决此问题的最佳方法是使用不同的技术(例如 Map/Reduce - 我现在必须学习),或者是否有一种方法可以过滤搜索,以便从搜索中仅返回一定数量的结果,并且其余记录在后续执行中返回/处理吗?

谢谢

//...
invoiceSearch.run().each(function(result) {
    // ensure script usage okay
    if (usageOkay()) {
        entityID = result.getValue({
            'name': 'internalid',
            'join': 'customer',
            'summary': search.Summary.GROUP
        });

        var maxAmountCustomerRecord = result.getValue({
            'name': 'custentity_amount_maxorder_2years',
            'join': 'customer',
            'summary': search.Summary.GROUP
        });

        var maxAmountCalculated = result.getValue({
            'name': 'formulacurrency',
            'formula': 'CASE WHEN {closedate} >= ADD_MONTHS(SYSDATE, -(12 * 2)) THEN {amount} ELSE NULL END',
            'summary': search.Summary.MAX
        });
        // in case the calculated amount is null then …
Run Code Online (Sandbox Code Playgroud)

javascript callback netsuite suitescript suitescript2.0

3
推荐指数
1
解决办法
4286
查看次数