javascript - 如何获取NetSuite上的所有项目列表?

标签 javascript netsuite

我刚刚开始使用 NetSuite,并尝试使用 ReSTLet 提取所有包含详细信息的项目。通过一些研究,我能够提取所有项目,但我现在所做的方式并不简单。我首先使用 nlapiSearchRecord 提取项目的所有 id,然后循环遍历每个 id,以使用 nlapiLoadRecord 获取每个项目的详细信息并将其添加到数组中。这样一来,就花费了很多时间。还有其他方法可以提取所有项目及其详细信息吗?下面是我的代码。

function getAllIDs() {
    return nlapiSearchRecord('item', null, null, null);
 }

function getRecord() {
    var all_IDs = getAllIDs();
    var len=all_IDs.length;
    var result =new Array();

  for(var i=0;i<all_IDs.length;i++) {
    if(all_IDs[i].getRecordType()==="inventoryitem")
        result[i]=nlapiLoadRecord(all_IDs[i].getRecordType(),all_IDs[i].id)
    }
    return result;
}

最佳答案

您可以使用 @Krypton 建议的内容,但最多始终会获得 1000 个结果。

如果您需要获得超过 1000 个(使用 Suitescript 2.0),请尝试以下操作:

    var columns = [];
    var filters = [['isinactive', 'is', 'F']];
    columns.push(search.createColumn({ name: "itemid"}));
    columns.push(search.createColumn({ name: "displayname"}));
    columns.push(search.createColumn({ name: "salesdescription"}));
    columns.push(search.createColumn({ name: "baseprice"}));
    var inventoryitemSearch = search.create({
        type: search.Type.INVENTORY_ITEM, //Change the type as per your requirement
        filters: filters,
        columns: columns
    });
    var arrResults = [];
    var count = 1000;
    var startIndex = 0;
    var endIndex = 1000;
    var resultSet= inventoryitemSearch.run();
    while (count == 1000) {
        var results = resultSet.getRange(startIndex, endIndex);
        arrResults = arrResults.concat(results);
        startIndex = endIndex;
        endIndex += 1000;
        count = results.length;
    }
    log.debug({title: 'arrResults ', details: arrResults });

关于javascript - 如何获取NetSuite上的所有项目列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48904935/

相关文章:

php - 网络套件错误 :You are not requesting the correct data center for your company"

java - 从 Netsuite 中保存的搜索中获取字段值为空

soap - NetSuite- postman -休息- "Incorrect data center requested!"

javascript - Jquery onclick 关闭按钮,隐藏整个范围包括关闭按钮

javascript - 未使用的模块或函数会影响SuiteScript的执行速度吗?

javascript - 如何在水平滑动器(idangero swiper)中启用垂直滚动?

javascript - 图像在 Firefox 中损坏或 chop

javascript - 在 NetSuite 的 SuiteScript 中创建 Excel 文件

javascript - 变量在函数中灰显

javascript - Chart.js 小时刻度显示日期切换