Expand your SuiteScript skills in the Sustainable SuiteScript community for NetSuite developers.

Inline Editing's xedit Events

Created: June 5, 2017

Whenever any record is edited inline, whether from the UI or a Script using submitFields, NetSuite will trigger an xedit User Event for that record. You can use this trigger type to make sure that any User Events you have deployed on the record being edited either process or avoid Inline Edits appropriately.

function beforeSubmit (context) {
  if (context.type === context.UserEventType.XEDIT) {
    // Do something special for Inline Edit...
  }
  // ...
}

function afterSubmit (context) {
  if (context.type === context.UserEventType.XEDIT) {
    // Avoid doing anything on Inline Edit
    return
  }
  // ...
}

The only exception to this rule is when an Inline Edit is triggered by another User Event.

⚠️ Actions taken in User Event scripts will never trigger other User Event scripts.

For example, if you have an afterSubmit User Event on the Sales Order that automatically creates an appropriate Invoice, no User Events deployed to the Invoice record will be triggered. This is because NetSuite never chains User Events. In theory, this is to prevent any one script from infinite looping or cascading a whole bunch of database interactions, but in practice it is often a huge barrier to building efficient sequence flows across multiple record types.