我想實現通過使用他們的API Suitescript在NetSuite的庫存物品的分類搜索。以下代碼按預期工作,所以我知道我已成功進行遠程通信。但是我很難理解如何按類別進行搜索。如何在Netsuite的套件中通過內部ID搜索記錄?
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的非類別ID進行了測試。 Netsuite終於回覆說,他們不支持與WSDK類別內部查找。這很糟糕。 那麼如何按自定義字段進行搜索?我打算做的是在每個庫存項目記錄中引入一個自定義字段「catid」,並用它的直接父類別的內部id來填充它。但搜索不起作用。有任何想法嗎? – 2012-07-12 17:56:41
這很奇怪。我一直在用內部ID進行搜索,但是之後我們又沒有網絡存儲,所以也許它不同。您可以以同樣的方式作爲默認的字段添加過濾器自定義字段,只要使用該領域的ID: 新nlobjSearchFilter(「custentity_new_field」,NULL,「是」,「60635」) – Corey 2012-07-12 18:33:55
確定。解釋一下。我做了一個名爲'catid'的自定義字段。它的內部是'52452'。 我嘗試: 變種濾波器[0] =新nlobjSearchFilter( 'CATID',NULL, '是', '52452'); nlapiSearchRecord('inventoryitem',null,filters,columns); 它沒有工作。 – 2012-07-12 18:57:20