Display Persistence, Event Types, and Record Joins
Upon completion of this module, you will be able to:
Many actions you configured on client triggers in Module 3 (📚) can also be configured on the Before Record Load server trigger. Here's the comparison:
| Action | Before User Edit (Client) | Before Record Load (Server) |
|---|---|---|
| Set Field Display Type | ✓ | ✓ |
| Set Field Mandatory | ✓ | ✓ |
| Set Field Display Label | ✓ | ✓ |
| Set Field Value | ✓ | ✓ (New records only!) |
| Add Button | — | ✓ |
| Remove Button | — | ✓ |
| Lock Record | — | ✓ |
On Before Record Load, Set Field Value only works when creating new records. You cannot set field values on existing records at this trigger!
Adds a custom button to the record form. Used for transitions or navigation.
Removes a standard NetSuite button from the form. Note: Cannot remove buttons added with Add Button—delete/inactivate the action instead.
Makes the record read-only by removing the Edit button. Must be added to each state where locking is needed.
This is one of the most important concepts in SuiteFlow. Form-level actions like Set Field Display Type, Set Field Display Label, Set Field Mandatory, Add/Remove Button, and Lock Record are NOT persisted to the database.
Actions configured only on Before User Edit (client trigger) will work during create and edit—but may NOT persist when viewing a record!
Scenario: You configure Set Field Display Label to change "Review Name" to "Review Period" on Before User Edit.
Configure the action on Before Record Load (server) in ADDITION to Before User Edit. Before Record Load fires in the View context!
Always prefer Before Record Load over Before User Edit for display actions. Server execution is more consistent across browsers, and it handles the View context automatically.
Event types allow you to filter action execution based on specific user events in the NetSuite UI. Think of them as another type of workflow condition.
| Event Type | Description |
|---|---|
| Copy | User copies an existing record to create new |
| Create | User clicks New to create a record |
| Edit | User opens record in Edit mode |
| View | User opens record in View mode |
| User opens record in Print mode | |
| Automatic email notification sending |
Configure Set Field Display Type with event types = View, Print to hide "Salary Increase Amount" only when viewing or printing—but show it during Edit!
A record join allows you to access field data from related records in your workflow conditions. This is powerful for building conditions based on data that lives outside the current record.
In the Visual Builder's condition editor, you can select fields from related records. Look for the "joined" field options that reference related record types.
Create a condition where an action only executes if the associated Employee's type is "Contractor":
Practice server trigger actions and display persistence: