Hi Mike,
For the most part, removing the ability for a user to select the save buttons will essentially give them a read-only version of the screen. They will be able to make changes to data in the fields, but since they do not have access to the save buttons, these changes will never be saved.
Additionally, on the transaction screens (sales orders, invoices etc.) you are able to make changes to line items directly on the grid. Due to this functionality, even without access to the save buttons, changes can be saved to the line items of a transaction. This option can be disabled in the grid preferences.
All you would need to do to make these screen read-only is make a copy, remove the save buttons and disable editing and adding directly on the line items grid. You would add this read-only version of the screen to your Employee Only tab group.
Initially, this is the more simple option. Things become a little more complicated if you plan on doing additional customization, as you will need to maintain 2 versions of the same screen (editable & read-only). Allow me to propose an alternative option. This option is initially quite a bit more complicated, but will allow you to more easily maintain and add customization down the road.
You will need to setup your own custom user permissions for determining what objects on the screen will load. If you only have 2 types of users (read-only and not read-only), a custom Yes/No field on the Users table should suffice (e.g. IsReadOnly). You’ll need to create a custom permission screen to allow modifying this field for your users.
You’ll also need to add a second line items grid to the screen. This second grid will have all the same properties as the original, but will not allow adding or editing directly on it. This second grid will appear in place of the first when the user’s IsReadOnly field equals Yes.
Then on the screens you want to make ready only, in the OnScreenLoad event of the screen, retrieve the value of this field for the signed in user from the Users table and store it in an action result (use the where clause: RecordID = Value From Session: User- RecordID). Then compare this action result with a conditional statement to determine whether or not to display the save buttons and which grid to display (editable or non-editable). Screen objects can be displayed or hidden using the Show/Hide Field/Object actions.
These are just 2 ways in which this can be accomplished. The choice is completely up to you and will likely be dependant on your needs. I just wanted to make sure that you are aware of the drawbacks of having 2 screens and give you an alternative. I hope this points you in the right direction, but please post back if you have any follow up questions.
-Audisho