正如您从我之前的所有问题中可以看出的那样,我正在尝试学习一些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;
}

有没有更好/更简便的方法? 我将对此进行测试。

===============>>#1 票数: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),因此建议您在NetSuite帮助中心中查找“使用SuiteScript搜索”。

  ask by CodeMoto translate from so

未解决问题?本站智能推荐: