在创建记录之前,您可以使用 SuiteScript 创建一个用户事件脚本来检查表单提交中包含的数据是否已存在相应的记录。如果已经存在相应的记录,则可以使用内置函数 nlapiCreateError() 创建一个错误消息,并将其显示在表单上,从而防止重复记录的创建。
以下是一个示例代码片段,它通过检查 FirstName、LastName 和 Phone 字段的值来避免创建重复记录:
function preventDuplicateRecord(type){
var firstName = nlapiGetFieldValue('firstname');
var lastName = nlapiGetFieldValue('lastname');
var phone = nlapiGetFieldValue('phone');
// search for existing records with the same values
var filters = [
new nlobjSearchFilter('firstname', null, 'is', firstName),
new nlobjSearchFilter('lastname', null, 'is', lastName),
new nlobjSearchFilter('phone', null, 'is', phone)
];
var results = nlapiSearchRecord('customer', null, filters);
// if a matching record is found, display an error message
if (results != null && results.length > 0) {
var msg = 'A customer with the same first name, last name, and phone number already exists.';
nlapiCreateError('DUPLICATE_RECORD', msg, true);
}
}
在上面的代码中,我们使用了 NetSuite 提供的内置函数 nlapiSearchRecord() 来搜索具有特定属性值的现有记录。如果找到匹配的记录,则创建一个错误消息并阻止表单提交。
上一篇:避免创建重复的类实例