I ran into an issue recently trying to make the Case Customer field not required in Microsoft Dynamics CRM 2016. I needed to make this field not required so I could populate the value once the Case was saved, by using a workflow based on another lookup field on the Case.
By default, this field is set to “Required” which you can typically change by simply adjusting the field requirement to “Optional”. Turns out, the field can not be changed to optional, at least within CRM 2016 Update 1. For this field, there are no other options in the Field Requirement setting other than “System Required”.
First, I tried using a Business Rule to set the field requirement for that field to “Not Business Required”.
That did the trick on the form - BUT when trying to save the form I received the below error.
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=126.96.36.199, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: You should specify a parent contact or account. Detail:
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
<ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
<Message>You should specify a parent contact or account.</Message>
<InnerFault i:nil="true" />
<TraceText i:nil="true" />
Here’s what we did to get around this:
I spoke to our Technical Consultant Sanford, thinking I would need to use some sort of code to get around this issue and achieve the requirement. He recommended this solution instead, which was simple, fast, and required no code customizations.
I created a generic Account and then used a Business Rule to default the Account for all Cases to the generic account.
Note – To set a field value for a lookup which is why I used the “Status equals Active” condition.
Voilà! Before I even saved the record, the Customer field was populated with my default Account. Now when I save, the workflow is able to run and override the value to the proper data based on the additional lookup field value.
By Jessica Carsten, Dynamics CRM Application Consultant,