Actions for Reusable Forms - OnEnter OnSave OnChange OnExit
Reusable forms should allow entry and exit logic, exposing entity contextual scripts to re-use.
On a table control (grid) that calls a reusable form as a popup (add, edit), you can set a validation script which is very similar to OnExit script, and if you do CHelper.ThrowValidationError() in a script, the user remains stuck in the screen.
Thus the very same thing as OnExit on a process form.
The problem is if I use the same reusable form in ten different process forms (or a different reusable form) as a popup form for a table control (grid), I have to redo the validation script for each of those ten forms.
If the reusable form had it's own OnExit, I could then do centralized validation scripts, and have "true" re-use.
OnChange - if the record is "dirty" meaning a SQL-Update must occur, so that I can write a business rule script only when the data changes.