Prevent user from ticking a check box based on another field being blank. Job Entry, Method Directive

Its not working with an Exception either. I wonder if my Epicor version is different. I swear I saw this work before.

Are you sure you’re using a pre-processing method and not a post-processing?

as @d_inman suggested, this should be a PRE Processing BPM on the Job.Update method. I have done this same exact type of thing with no challenges…
BUT i do see that you are doing “too much work”. Your BPM, you are switching the released checkbox back to false, but that should not be necessary. The error message you throw will automatically abort the save. if they try to save again, it will throw the error again.
I just tested this again, and throwing the error DOES reject the change… you try to save, it continues to fail.

Have not tried it but going to suggest using a row rule to manage this.