In general, how would you allow user to set a field’s value at at record creation, but to not allow them to then change it?
Example, you want general user to not be able to change the customer on a sales order.
When they create the sales order, fine, but not to open a sales order and change the customer.
Might be able to do something with a BPM on SalesOrder.ChangeSoldTo?
Ref differences in the screenshots of simple PreProcess messageboxes below…
e.g. Condition/Actions based on RowMod “A” vs. “U”?
This sort of thing gets tricky. As Bruce demo’s, BPMs that distinguish between RowMod = A vs U give you a way to do this. But what if someone makes an honest mistake and needs to change the field after record creation? The BPM blocks them from correcting it. So maybe you make a security group and rework the BPM so that some super users can change the field all the time. Let’s say that works for you, great. But now you’ve just created maintenance overhead and new business processes… You really have to weigh if that’s worth it compared to the alternative – which might just be trusting/training users not to change it, and scolding if they do (assuming you track the field in the change log).
yes, I’m with you, this whole thing is silly. I’m not a fan of requests to block activity with code when training and discipline should prevent people from doing it…