显示"不是有效的内部ID"在Netsuite Suitescript 1.0中创建特定记录的搜索时

时间:2016-12-17 10:17:59

标签: netsuite suitescript

我使用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。

2 个答案:

答案 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;
}
相关问题