2017-05-16 4 views
0

SuiteScript経由で保存された検索の列の値を取得する際に問題が発生します。以下私のコードである:Netsuite SuiteScriptが列の値を返さない

function KW_AutoCloseOldRA() { 
    var search = nlapiLoadSearch('transaction', 'customsearchopen_ras', null, null); 
    var columns = search.getColumns(); 
    for (i = 0; i < columns.length; i++) { 
     nlapiLogExecution('DEBUG', 'Column #' + i + ' is ' + columns[i].getName()); 
    } 
    var results = search.runSearch(); 
    if (results) { 
     results.forEachResult(getResults); 
    } 
} 

function getResults(res) { 
    var message = res.getValue('tranid'); 
    nlapiLogExecution('DEBUG', 'Result ' + message); 
    return true; 
} 

検索は(internalidが列0であり、TRANIDが列1である)2つの列を生成し、DEBUGエントリにそれらの列出力の名前を予想通り。ただし、結果をループするとき、res.getValue( 'tranid')は常にnullです。私はここで間違っていることを見つけることができないようです。

答えて

3

は、カラムを使用して値を取得してください。このようなオブジェクトとそのインデックス:それをやった

function KW_AutoCloseOldRA() { 
    var search = nlapiLoadSearch('transaction', 'customsearchopen_ras', null, null); 
    var columns = search.getColumns(); 
    for (i = 0; i < columns.length; i++) { 
     nlapiLogExecution('DEBUG', 'Column #' + i + ' is ' + columns[i].getName()); 
    } 
    var results = search.runSearch(); 
    if (results) { 
     results.forEachResult(getResults); 
    } 
} 

function getResults(res) { 
    var cols = res.getAllColumns(); 
    var message = res.getValue(cols[1]); 
    nlapiLogExecution('DEBUG', 'Result ' + message); 
    return true; 
} 
+0

。ありがとうございました! – John

関連する問題