In Microsoft Dynamics CRM 2011, you can use relationships to relate different entities. There are three different relationship types; 1:N, N:1, and N:N. In a Relationship, you can define a relationship Behavior with the behavior types listed below.
Let’s start by looking at Microsoft’s definition of each type of behavior. Since I love working with staffing software, I will include a staffing example, below Microsoft’s CRM Help documentation, of a situation where you would use each type.
Figure 1: Relationship Behavior
– Parental: In a parental relationship between two entities, any action taken on a record of the parent entity is also taken on any child entity records that are related to the parent entity record. For example, if you delete a record in the parent entity, the related child entity records are also deleted; or if you share a parent entity record, the related records from the child entity are also shared.
- Say you have two entities, Skill and Candidates, which are related with a N:N relationship. For this N:N relationship, you will likely want to create a third entity to connect the two. Let’s call it Candidate Skill. Example, John Doe is skilled in staffing software. To display this, we create a Candidate Skill record called John Doe Staffing Software. Now, let’s say John Doe is no longer a valid candidate for us and we want to delete him out of CRM. If we delete John Doe, there is no reason for us to keep John Doe Staffing Software because there is no Candidate for it to relate to. With Parental selected, the deletion of John Doe will carry through and also delete John Doe Staffing Software.
– Referential: In a referential relationship between two entities, you can navigate to any related records, but actions taken on one will not affect the other.
Say we have the Skill, Staffing Software, and we want to relate it to IT from another entity called Industry. For this, we use a N:1 relationship between Skills and Industries because many Skills can belong to one Industry. Now, we decide Staffing Software is no longer a valid skill and we want to delete it from CRM. However, we certainly do not want to delete the IT Industry. In this case we use Referential which will not delete the related entity record.
– Referential, Restrict Delete: In a referential, restrict delete relationship between two entities, you can navigate to any related records. Actions taken on the parent record will not be applied to the child record, but the parent record cannot be deleted while the child record exists. However, you cannot delete a record when related records exist.
- This relationship type helps protect you from deleting still valid related records. For example, say you have a Candidate that has been placed on an Assignment, with Assignment being another entity in CRM. With a Referential, Restrict Delete relationship, you can prevent the Contact from being deleted if there is an Assignment linked to it. While you are unable to delete the Contact without deleting the Assignment first, you are still able to deactivate the Contact if you like.
- I also want to note that if you are concerned about records in CRM getting deleted, you can restrict delete capability in the CRM 2011 security settings.
– Configurable Cascading: Any action taken on a parent entity record can also be applied to any child entity records that are related to the parent entity record. You can define the behavior for each type of action. For example, you can set it up so that if you share a record in the parent entity, any related records for the child entity are not automatically shared. But if you delete a parent entity record, any related child entity records are automatically deleted.
- This is a more customizable option. See below for more details on how to configure it
If you select the Configurable Cascading relationship type, for each of the six actions listed below, you can select the behavior for the action. This is from Microsoft’s CRM Help documentation.
– Assign: The related records will be assigned to the same user.
– Share: The related entity records will also be shared with the same user or team.
– Reparent: If the owner of the primary entity record changes because the primary entity record was reparented, the owner of the related records will be set to the same owner as the primary entity record.
– Delete: The related records can be deleted, unlinked from the primary entity record, or the delete action can be canceled.
– Merge: The related records associated with the subordinate record will be reparented to the master record.
The behaviors for these actions include:
– Cascade All: Apply to all related records.
– Cascade None: Apply to no related records.
– Cascade Active: Apply to active related records only.
– Cascade user-Owned: Apply to related records if they are owned by the same owner as the owner of the parent record.
– Remove Link: Remove the link to the related record, without modifying the related record.
Our 1Staff staffing software for Microsoft Dynamics CRM 2011 already incorporates all of this logic in the design, but still allows for further customization to fit specific needs. Customized to any specific needs, 1Staff makes it easy for various levels of users.
To learn more about our staffing software or how CRM can be a great front office solution for your staffing company, contact Professional Advantage and we will be happy to give you a demo or answer any questions you may have.