使用SuiteScript

时间:2017-01-20 01:20:30

标签: netsuite suitescript

我想根据NetSuite中的某些条件阻止删除记录。但是,我似乎无法在验证中找到失败事件?在UserEvent上提交之前有一个删除类型,但它没有该函数的返回值,所以我不能说返回false,可以吗?

如何阻止删除记录,或失败某种类型的记录提交?

4 个答案:

答案 0 :(得分:6)

而不是返回false,只是抛出一个错误。不是用户友好的,但据我所知,它是唯一的选择。

由于它在提交前用户事件中,因此提交或删除将失败。

答案 1 :(得分:0)

您可以添加客户端代码,以便在尝试删除要阻止的记录时向用户弹出消息。话虽如此,您仍然希望放置一个UserEvent脚本来阻止删除操作。这将阻止用户通过限制

答案 2 :(得分:0)

您需要使用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
      );
    }
  }
}

答案 3 :(得分:0)

您还可以使用工作流阻止删除按钮显示给用户:

enter image description here enter image description here