Hi Daisy, and welcome to the Forums!
Some initial thoughts: if your Sales Reps are working throughout different transaction screens (Estimates,SalesOrders,Invoices...) these changes will need to be added to each and everyone of those screen they enter their orders into.
For this example let's use the Estimate screen, (these Actions will be the same throughout different transaction screens).
Customize the Estimate screen and then start by creating a copy of the EstimateLine Grid and heading over to the Advanced options for the fields you want to be Read Only.
We now have two EstimateLine Grids. The goal here is to check if the Current User should have access to the stock EstimateLine Grid or to the ReadOnly EstimateLine Grid.
To do that we can take a few different routes, what I did was add a field to Users table (IsReadOnly) which is a boolean field. I then set the Users who I want to be able to only view the ReadOnly Grid to TRUE.
The flow will now be to add the following Action Set to the OnScreenLoad:
> Check to see who Current User is
Add the result to an ActionResult (resultIsReadOnly)
> Condition statement: If Current User IsReadOnly=TRUE
> Now within the Conditional Statement add a Show/Hide Field/Object Action hiding Stock EstimateLine Grid and showing ReadOnly EstimateLine Grid copy you made
If you're new to customizing then you should also watch our Customization Webinars, in particular, the Introduction to the Customization Screen webinar will be helpful in this scenario.You may need to download and install the GoToMeeting video codec in order to watch some of the webinars. Hope this helps!
- Mortaza