[英]Netsuite: SuiteScript 2.0 - get latest transfer order
我正在嘗試向 Netsuite 中的轉移訂單添加行。 我想將它們添加到在兩個特定位置之間創建的最新訂單上。
我正在嘗試這個:
var s = search.create({
type : search.Type.TRANSACTION,
columns : ['internalid'],
filters : [
["location","anyof","61"],
"AND",
["transferlocation","anyof","62"],
"AND",
["mainline","is","T"],
"AND",
["trandate","on","today"]
]
});
var resultSet = s.run();
var latestTO = resultSet[0];
但是當我嘗試向 latestTO 添加一行時出現此錯誤:
{"type":"error.SuiteScriptError","name":"UNEXPECTED_ERROR","message":null,"stack":["anonymous(N/recordImpl)","onAction(/SuiteScripts/TEST.js:67 )"],"cause":{"type":"內部錯誤","code":"UNEXPECTED_ERROR","details":null,"userEvent":null,"stackTrace"
如果我對最新轉移訂單的 internalID 進行“硬編碼”,我的腳本就可以工作。
有任何想法嗎?
如果您嘗試創建一個已保存的搜索來訪問轉移訂單,您可以使用SORT BY
功能。 您可以使用“創建日期”按降序排序。
我建議您創建 Saved Search 並測試您的所有要求。 稍后您可以將此保存的搜索導出為腳本並在您的代碼中使用它。
為了獲得最新的轉移訂單值,您只需在結果選項卡中包含 InternalID 列。
columns : ['internalid']
稍后,您必須使用腳本執行此保存的搜索。
var s = search.create({
type : search.Type.TRANSACTION,
columns : ['internalid'],
filters : [
["location","anyof","61"],
"AND",
["transferlocation","anyof","62"],
"AND",
["mainline","is","T"],
"AND",
["trandate","on","today"]
]
});
var searchResultCount = s.runPaged().count;
log.debug("s result count",searchResultCount);
s.run().each(function(result){
// .run().each has a limit of 4,000 results
return true;
});
var searchResult = s.run().getRange({start:0,end:999});
變量searchResultCount
存儲結果總數
變量searchResult
包含所有數據
為了獲得最近創建的 TO,只需獲取第一個值。
for(var j=0;j<1;j++) {
var latestTO = searchResult[j].getValue({name:'internalid'});;
}
變量 latestTO 現在將具有 internalID。 使用它來加載記錄。
如果有任何問題,請在評論部分告訴我。
另一個問題是,如果我將我的變量 latestTO 硬編碼為:
var latestTO = '1337';
並進行更新:
var TO = record.load({
type: 'transferOrder',
id: latestTO,
isDynamic: true
});
沒發生什么事。
但如果我這樣做:
var TO = record.load({
type: 'transferOrder',
id: 1337,
isDynamic: true
});
有用...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.