我无法理解此错误的含义。
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/