NetSuite - 搜索问题

时间:2017-01-27 17:48:02

标签: netsuite suitescript

我通常不使用JS对象,但是正在测试这个chrome插件(导出为脚本),您可以在其中基本上从搜索中生成脚本代码。我的语法有问题。



function GetEmployee()
{
	var columns = [];
	var employeeSearch = nlapiSearchRecord('employee'[['access', 'is', 'T'], "AND", ["internalid", "anyof", "121212"]], [columns[0] = new nlobjSearchColumn('internalid'), ]);
	if(employeeSearch)
	{
		for (var i = 0; employeeSearch != null && i < employeeSearch.length; i++)
		{
			var record = nlapiLoadRecord('employee', employeeSearch[0].getValue(columns[0]));
			var id = record.getId();
			nlapiLogExecution('DEBUG', 'return id', id)
		}
	}
	return true;
}
&#13;
&#13;
&#13;

错误:搜索或批量更新不存在。我保存的搜索返回一条记录,所以我希望代码能够做同样的事情......

1 个答案:

答案 0 :(得分:2)

您的nlapiSearchRecord参数不正确。在员工&#39;之后忘记了一个逗号。第二个参数是searchid而不是搜索过滤器。

var employeeSearch = nlapiSearchRecord('employee', null, [['access', 'is', 'T'], "AND", ["internalid", "anyof", "121212"]], [new nlobjSearchColumn('internalid') ]);

此外,您已拥有该员工的内部信息,您为什么要使用搜索?

而且,您总是得到内部信息,您不需要再次添加列。

var employeeSearch = nlapiSearchRecord('employee', [['access', 'is', 'T'], "AND", ["internalid", "anyof", "121212"]]);
if(employeeSearch.length){
     for(var i = 0; i < employeeSearch.length; ++i){
        nlapiLogExecution('AUDIT', 'id', employeeSearch[i].id);
     }
 }

您可以直接使用nlobjSearchResult.id