You can use the methods below to prevent record deletion:
Role Level
– Removing the record’s FULL permission level in the role (Role record > Permissions). You can assign a lower permission (View, Create, or Edit).
– Easiest method, but restrict all roles from deleting the record. No additional parameters for deletion can be set (e.g., delete only if).
Employee Level
– If changing the role level is not feasible, assign it in the employee’s global permission (Employee record > Access subtab > Global Permissions sublist) if Global Permissions feature is enabled (Enable Features > Employees subtab > Permissions section).
– Another easy method and restrict only certain users. No additional parameters for deletion can be set (e.g., delete only if).
Form Level
– Remove the Delete action in the form customisation (Customise Form > Actions subtab).
– Another easy method, but restrict only the users from deleting the record in the User Interface. Users can still delete the record using other ways (e.g., inline edit, using the web console). This is not the best method, but it provides more control.
Workflow Level
– Create a Return User Error workflow action that triggers on Before Record Submit and the Event Type is Delete.
– Requires SuiteFlow knowledge but provides more flexibility on deletion parameters (e.g., delete only if the status is X).
Script Level
– Create a User Event script that triggers on Before Submit, and the Event Type is Delete.
– Requires SuiteScript knowledge but provides even more flexibility on deletion parameters than a workflow (e.g., delete only if the top-level parent record’s status is Y).
Important:
– Test the different options in the Sandbox before releasing them into Production.