首页 > 解决方案 > 为什么我的 NetSuite 脚本失败并出现 RCRD_DSNT_EXIST 错误

问题描述

我是 NetSuite 的新手,所以请保持温和。

我有一个简单的脚本,其目的是删除从特定搜索返回的所有引号。

这里是:

function executeSavedSearch()
{
    var searchresults = nlapiSearchRecord('estimate', 1234, null, null);
    for (var i = 0; searchresults != null && i < searchresults.length; i++) 
    {
        var searchresult = searchresults[i];
        nlapiDeleteRecord(searchresults[i].getRecordType(), searchresults[i].getId());
    }
}

而已。但是每次我运行它都会失败,并且执行日志显示 RCRD_DSNT_EXIST,详细信息为“该记录不存在”。

我已经多次确认搜索 ID(上面的 1234)是正确的。搜索返回许多记录,因此并不是没有脚本可以处理的结果。

感激地收到任何帮助。

标签: javascriptscriptingnetsuite

解决方案


尝试这个。

var estimateSearch = nlapiSearchRecord("estimate", null,
        [
            // add or remove filters as per your need.
            ["formulanumeric: {internalid}", "between", "200", "300"],
            "AND",
            ["mainline", "is", "T"] // In order to avoid duplicate records in result, do not remove this filter 
        ],
        [
            new nlobjSearchColumn("internalid") // Result column
        ]
    );
    var quoteId;
    for (var i = 0; estimateSearch != null && i < estimateSearch.length; i++) {
        quoteId = estimateSearch[i].getValue('internalid');
        nlapiLogExecution("Debug", "Quote ID: " + quoteId, " Index: " + i);
        // nlapiDeleteRecord('Estimate', quoteId); // Verify the Execution Logs before you uncomment this line of code.
    }

我希望这将有所帮助。


推荐阅读