【发布时间】:2017-01-20 01:20:29
【问题描述】:
我想根据 NetSuite 中的某些条件防止记录被删除。但是,我似乎找不到验证失败事件? UserEvent 上的 BeforeSubmit 有一个 delete type,但它没有函数的返回值,所以我不能只说 return false,可以吗?
我如何防止删除记录,或失败某种类型的记录提交?
【问题讨论】:
标签: netsuite suitescript
我想根据 NetSuite 中的某些条件防止记录被删除。但是,我似乎找不到验证失败事件? UserEvent 上的 BeforeSubmit 有一个 delete type,但它没有函数的返回值,所以我不能只说 return false,可以吗?
我如何防止删除记录,或失败某种类型的记录提交?
【问题讨论】:
标签: netsuite suitescript
不是返回 false,而是抛出一个错误。对用户不友好,但据我所知,这是唯一的选择。
由于是在Before Submit User Event中,所以提交或删除都会失败。
【讨论】:
beforeSubmit 引发错误。
您需要使用beforeSubmit 用户事件脚本并使用nlapiCreateError 引发错误。这是一个例子:
function beforeSubmit(type) {
if(type == 'delete') {
// NOTE `nlapiGetFieldValue` returns nil/empty during a delete event
// `nlapiGetOldRecord` needs to be used to pull the entire record
var payment = nlapiGetOldRecord();
if(payment.getFieldText('paymentmethod') == 'cash') {
throw nlapiCreateError(
'AN_ERROR',
'Message to the user!',
true
);
}
}
}
【讨论】:
您可以添加客户端代码以在尝试删除要阻止的记录时向用户弹出消息。话虽如此,您仍然希望放置一个 UserEvent 脚本来防止删除操作。这将阻止用户通过限制
【讨论】: