展示「;不是有效的内部id“;在Netsuite Suitescript 1.0中,在特定记录上创建搜索时

展示「;不是有效的内部id“;在Netsuite Suitescript 1.0中,在特定记录上创建搜索时,netsuite,suitescript,Netsuite,Suitescript,我使用Suitescript 1.0在Netsuite中创建了一个搜索,用于使用特定“帐户”的帐号搜索该帐户。当我保存以下脚本文件时,下面代码中的“filters[0]”行显示一个错误,其中显示“acctnumber不是有效的内部id。”。我是Netsuite的新手,希望了解显示错误的原因以及解决方法。下面是发生错误的代码 function COGSAcnt() { var cOGSAcntNumber = '50001'; var acntNo; var filter

我使用Suitescript 1.0在Netsuite中创建了一个搜索,用于使用特定“帐户”的帐号搜索该帐户。当我保存以下脚本文件时,下面代码中的“filters[0]”行显示一个错误,其中显示“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;
}
函数cogscant(){
var cOGSAcntNumber='50001';
var acntNo;
var filters=新数组();
过滤器[0]=新的nlobjSearchFilter('acctnumber',null,'StartWith',cOGSAcntNumber);
var columns=新数组();
列[0]=新的nlobjSearchColumn('internalid');
var acntSearch=nlapiSearchRecord('account',null,filters,columns);
if(acntSearch!=null){

对于(x=0;x这是NS可能会有点混淆的地方。如果您查看NS记录浏览器(),请查看“筛选器”部分下的内容。帐户号(acctnumber)不在那里。但是,数字(Number)是筛选器

请尝试重写代码,改用number

函数cogscant(){
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;
}
var cOGSAcntNumber='50001'; var acntNo=[]; var过滤器=新的nlobjSearchFilter('number',null,'startswith',cOGSAcntNumber); var acntSearch=nlapiSearchRecord('account',null,filters,columns); if(acntSearch!=null){
对于(x=0;x有时该ID与内部ID不同,因此只需仔细检查。此外,如果您只有一个筛选器和一列,则无需为它们创建数组。非常感谢@TMann消除此混淆。使用“number”非常有效。非常感谢。在以下代码中将“acctnumber”替换为“number”有效完美地