gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 12:16:18 27 4
gpt4 key购买 nike

我刚刚开始使用 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com