Email messages in NetSuite are linked to records and transactions. This connection allows NetSuite users to implement different kinds of customization around email messages. For example, let’s say that you want to prevent your users from sending an email from a purchase order if its status is still Pending Approval. The solution is to deploy a user event script with beforeLoad function on the message record and its logic should be like this:
- Check if the message record is related to a transaction.
- Check if the transaction is a purchase order.
- Check if the status of the purchase order is in Pending Approval status.
- If all the above are true, then return an error to the user.
The error in #4 will stop the opening of a new message record. This prevents the user from creating and sending a new email from the purchase order. Here’s a sample implementation of the logic in a user event script:
