正如您从我之前的所有问题中可以看出的那样,我试图学习一些NetSuite Suitescript来真正利用NetSuite。话虽如此,我已经到了可以搜索最大员工编号的地方,然后采取相应行动。现在我想要做的是搜索一个电子邮件地址,看看给定的是否重复。基本上确保如果已存在包含电子邮件地址的员工记录,则工作流将不会创建新的员工记录。
到目前为止,我有以下内容......
function checkDuplicate(givenEmail){
var filters = new nlobjSearchFilter('email', null, givenEmail);
var colums = new nlobjSearchColumn('email');
var results = new nlobjSearchRecord('employee', null, filters, columns);
if(results[0].getValue('email') == null) return false;
else return true;
}
有更好/更简单的方法吗?我将对此进行测试。
答案 0 :(得分:1)
你的语法有点偏。根据您的脚本,我建议应用以下修改:
function checkDuplicate(givenEmail){
var filters = new nlobjSearchFilter('email', null, 'is', givenEmail);
var results = new nlapiSearchRecord('employee', null, filters);
return (results != null);
}
由于您只是检查是否有匹配结果,因此不需要nlobjColumn
。此外,如果没有任何匹配,nlapiSearchRecord
将返回null。
作为补充说明,您的SuiteScript上似乎仍然有点粗糙(至少使用搜索API),所以我建议您查看"使用SuiteScript搜索"在NetSuite帮助中心。