在特定记录上创建搜索时在 Netsuite Suitescript 1.0 中显示 "is not a valid internal id"
Display of "is not a valid internal id" in Netsuite Suitescript 1.0 when creating a Search on a particular record
我使用 Suitescript 1.0 在 Netsuite 中创建了一个搜索,用于使用帐号搜索特定 "Account"。当我保存以下脚本文件时,下面代码的 "filters[0]" 行中显示错误,其中显示 "acctnumber is not a valid internal 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 中帐户的内部 ID。
这是 NS 可能有点令人困惑的地方。如果您查看 NS Record 浏览器 (http://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2016_2/script/record/account.html),请查看过滤器部分。帐号 (acctnumber) 不存在。然而Number(数字)是过滤器。
尝试重写代码以改用数字
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;
}
我使用 Suitescript 1.0 在 Netsuite 中创建了一个搜索,用于使用帐号搜索特定 "Account"。当我保存以下脚本文件时,下面代码的 "filters[0]" 行中显示错误,其中显示 "acctnumber is not a valid internal 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 中帐户的内部 ID。
这是 NS 可能有点令人困惑的地方。如果您查看 NS Record 浏览器 (http://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2016_2/script/record/account.html),请查看过滤器部分。帐号 (acctnumber) 不存在。然而Number(数字)是过滤器。
尝试重写代码以改用数字
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;
}