javascript - 问题搜索 NetSuite - nlapiSearchRecord

标签 javascript netsuite suitescript

我无法理解此错误的含义。

org.mozilla.javascript.EcmaError: ReferenceError: "nlapiSearchRecord" is not defined. (/SuiteScripts/PreventDuplicateCustomer.js#35)

我正在尝试创建一个脚本,该脚本根据应该是唯一的特定字段搜索重复记录。 我想防止使用以下脚本在 NetSuite 中创建重复的“客户”记录。 '

有没有人看到页面跳转的任何内容都是下面代码的错误?

    // 2.0
define(["N/error", "N/log"], function (err, log) {

    /**
     * User Event 2.0 example showing usage of the Submit events
     *
     * @NApiVersion 2.x
     * @NModuleScope SameAccount
     * @NScriptType UserEventScript
     * @appliedtorecord customer
     */
    var exports = {};

    function beforeSubmit(scriptContext) {      
        log.debug({
            "title": "Before Submit",
            "details": "action=" + scriptContext.type
        });

        if (doesCustomerExist(scriptContext)) {
            throw err.create({
                "name": "DUPLICATE_SFDC_ACCOUNT_ID",
                "message": "Customer Already Contains SFDC Account Id",
                "notifyOff": true
            });
        }
    }

    function doesCustomerExist(scriptContext) {
        var sfdcAccountId = scriptContext.newRecord.getValue('custentitysfdc_account_id');
        if(sfdcAccountId == null || sfdcAccountId == '') return false;

        var searchFilter = new nlobjSearchFilter('custentitysfdc_account_id', null, 'is', sfdcAccountId, null);
        var searchResult = nlapiSearchRecord('customer', null, searchFilter, null);

        return (searchResult != null && searchResult.length > 0);
    }

    exports.beforeSubmit = beforeSubmit;
    return exports;
});

最佳答案

nlapiSearchRecord() 是 SuiteScript 1.0 函数,您正试图从 SuiteScript 2.0 脚本中调用它。

您需要将 N/search 模块添加到您的 2.0 脚本中,并使用该模块中提供的功能来执行搜索。在 NetSuite 帮助文档中,导航至 SuiteCloud -> SuiteScript 2.0 -> SuiteScript 2.0 API -> SuiteScript 2.0 Modules -> N/Search Module 以了解如何使用 SuiteScript 2.0 执行搜索。

关于javascript - 问题搜索 NetSuite - nlapiSearchRecord,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43128440/

相关文章:

javascript - Netsuite 用户事件脚本正在获取 JavaScript 全局变量的空值

javascript - Vue 内联模板不渲染

javascript - 将数据属性与超文本链接一起使用

javascript - 在netsuite中,如何为保存的搜索中不存在的选定记录编写curl脚本?

netsuite - 在 SuiteScript 2.0 中编辑现有文件

NetSuite 保存的搜索计算两个相关记录之间的日期差异

javascript - SuiteScript 1.0 - nlobjSearchFilter 包含无效的搜索条件 : Searching custom record

netsuite - 如何在 SuiteScript 2.0 中对自定义记录执行 SubmitFields?

javascript - jQuery:从 jquery 1.2.6 更改为 1.3.2 时验证插件中断

javascript - routerlink 接受字符串参数