2017-05-16 48 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; 
} 

该搜索产生两列,并且如预期在DEBUG条目(internalid列0和tranid是第1列)的那些列输出的名称。但是,在循环结果时,res.getValue('tranid')始终为空。我似乎无法找到我在这里做错了什么。

回答

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

相关问题