When creating a sales order BC will automatically put in your salesperson code that you have assigned in user setup. I need to make it so a user cannot change the salesperson code field. It is a dropdown where you can select the code, but again it automatically puts in your code when creating anew order. So, how do it prevent a user from modifying that field? Does it have to be done in the code or can it be done in permissions?
Wave 2 '23 introduces this option, so nice timing.
Mark fields as read-only when customizing UI | Microsoft Learn
In the past, this was done through a small Extension or from an ISV solution. As Jim mentioned, this is supposed to be a capability being added to BC in the next major release.
Is there a way to do this through Security Filter in permission sets?
You could edit the profile that those users are assigned and remove the field from the sales order view; Although this is not controlling it through code, if the field is not visible it is unlikely to be changed. You achieve the same result without code / extensions.