簡體   English   中英

如何在Netsuite的Suitescript中按內部ID搜索記錄?

[英]How do I search records by internal id in Netsuite's Suitescript?

我正在嘗試使用他們的Suitescript API在Netsuite中按庫存項目類別進行搜索。 以下代碼按預期工作,因此我知道我已成功進行遠程通信。 但我很難過如何按類別搜索。

function NSTest() {
    var items = [];

    var filters = [
        //new nlobjSearchFilter('price',null,'lessthan','20'),
        new nlobjSearchFilter('thumbnailurl',null,'isnotempty')
        //new nlobjSearchFilter('internalid',null,'is','60635')
        ];

    var columns = [
        new nlobjSearchColumn('itemid'),
        new nlobjSearchColumn('salesdescription'),
        new nlobjSearchColumn('storedisplaythumbnail'),
        new nlobjSearchColumn('baseprice')
        ];

    var results = nlapiSearchRecord('inventoryitemdetail',null,filters,columns);
    for(var i=0,l=results.length; i < l; i++) { 
        var result = results[i];
        var price   = result.getValue('baseprice');
        var thumbImage  = result.getText('storedisplaythumbnail');
        var desc    = result.getValue('salesdescription');
        var name    = result.getValue('itemid');
        var img   = 'http://shopping.netsuite.com'+thumbImage;
        var item = {desc:desc, price:price, name:name, img:img};
        items.push(item);
    }
    response.write(JSON.stringify(items));
}

這可以正常工作,但如果我取消注釋該行:

new nlobjSearchFilter('internalid',null,'is','60635')

它不是。 任何人都可以指導我在Suitescript中按類別搜索項目嗎?

從內部ID號中取出引號。 internalid的搜索過濾器正在尋找一個數字。

我檢查了記錄瀏覽器,我擔心我找不到有效的記錄內部ID'inventoryitemdetail',你一定是弄錯了。 它必須是'inventoryitem'。 我檢查了代碼,一切似乎都運行正常。

function start(request, response) {
   var searchId = '27890';
   var filters = new Array();
   filters[0] = new nlobjSearchFilter('internalid', null, 'is',searchId);
   var columns = new Array();
   columns[0] = new nlobjSearchColumn('itemid');
   columns[1] = new nlobjSearchColumn('salesdescription');
   columns[0] = new nlobjSearchColumn('storedisplaythumbnail');
   columns[1] = new nlobjSearchColumn('baseprice');

  // var search = nlapiCreateSearch('customer', filters, columns);
  // var resultSet = search.runSearch();
  // var results = resultSet.getResults(0, 100);
   var results = nlapiSearchRecord('inventoryitem',null,filters,columns);
   var output = "";
   for(var i in results)
       {
            output += results[i].getValue('itemid')+"\n";
            output += results[i].getValue('salesdescription')+"\n";
            output += results[i].getValue('storedisplaythumbnail')+"\n";
            output += results[i].getValue('baseprice')+"\n";

       }
   response.write(output);
}

如果必須是inventoryitem,那么請考慮上面的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM