One of the most common Microsoft Dynamics CRM requests we receive relates to controlling which users can access the information on a form, and limiting the modification of some data fields to only specific users. While CRM 2011 offers field level security, this functionality is not available in CRM 4.0.
On a recent project, we received a specific request to limit the ability to void an invoice to only one individual. This ability is not included in the out-of-the-box CRM 4.0 product, but with a small change to the form and a simple workflow, it is possible to address this type of request.
In this project we assisted the client by adding a custom field called void to the invoice entity, which only the AR Manager was allowed to access in order to void an invoice. By implementing the steps below, the void field will become a read-only field, and the only way to modify its value will be by running the workflow: a workflow that will only succeed if the current user has been authorized to perform this function.
Step 1. Update any data field
We are updating the Invoice Description with the current description. This will not change the data on the Invoice, but it will update the Modified By User with the current CRM User.
Step 2. Test who the Modified By User is
Once the data field has been modified, the Modified By User will be the current user.
The workflow will then test if the Modified By User (Current User) is the user who has been authorized to void an Invoice; if true, the next step will succeed.
Step 3. Void the Invoice
The final step is to update the Void field to True.
The Final Change – Modify the Form
The form modification is very simple. It only involves making the Void field to be Read-Only. This way, the only way this data field can be modified is by running the workflow.
By making this small modification to the Form, and introducing a rather simple workflow, we provided the client with the ability to control who can void an invoice. By expanding on this approach, the functionality of CRM 4.0 could be modified such that the authorization to update certain types of fields on a form, not just the Invoice Void Status, can be limited to a select group of individuals.
BDO Solutions is a national firm with local practices throughout Canada, including Ontario, Alberta, British Columbia, Manitoba and Saskatchewan. Microsoft Gold Certified Partner and Reseller of the Year in Canada for 2010, 2011 and 2012.
By Mike McClymont, CRM Manager with BDO Solutions