我使用Suitescript 1.0在Netsuite中创建了一个用于搜索特定"帐户"使用其帐号。当我保存以下脚本文件时,"过滤器[0]和#34;中显示错误。在下面的代码中,它表示" acctnumber不是有效的内部ID。"。我是Netsuite的新手,想知道错误的显示原因,以及相同的解决方案。下面是编写错误的下面一段代码。
function COGSAcnt() {
var cOGSAcntNumber = '50001';
var acntNo;
var filters = new Array();
filters[0] = new nlobjSearchFilter('acctnumber', null, 'startswith', cOGSAcntNumber);
var columns = new Array();
columns[0] = new nlobjSearchColumn('internalid');
var acntSearch = nlapiSearchRecord('account', null, filters, columns);
if (acntSearch != null) {
for (x=0; x<acntSearch.length; x++) {
acntNo = ITMSearch[x].getValue('internalid');
}
}
nlapiLogExecution('debug', 'acntNo', acntNo);
return acntNo;
}
注意:我希望过滤器为acctnumber(帐号),并使用它想要在Netsuite中检索帐户的internalid。
答案 0 :(得分:3)
这可能会让NS感到有些困惑。如果您查看NS Record浏览器(http://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2016_2/script/record/account.html),请查看“过滤器”部分。帐号(acctnumber)不存在。但是数字(数字)是过滤器。
尝试重写代码以使用数字
答案 1 :(得分:2)
function COGSAcnt() {
var cOGSAcntNumber = '50001';
var acntNo = [];
var filters = new nlobjSearchFilter('number', null, 'startswith', cOGSAcntNumber);
var acntSearch = nlapiSearchRecord('account', null, filters, columns);
if (acntSearch != null) {
for (x=0; x<acntSearch.length; x++) {
acntNo.push(ITMSearch[x].getId();
}
}
return acntNo;
}