In this scenario you have a custom entity called Training Course which has an N:N relationship with the Contact entity. It basically records each time a contact attends a training course. You need to implement a business rule that populates a field called 'Last Training Course' each time a contact attends a training course. The screenshot below shows the Last Training Course field on the contact entity.
The screenshot below shows the training course entity and show the many to many (N:N) relationship to the contact entity.
N52 Formula Manager Solution
The Formula Manager solution works like this,
- We create a formula that can hook into the Associate & Disassociate events within Dynamics CRM. So it executes whenever a many to many relationship gets created or removed.
- As the association events are generic we need to check for the schema name of the N:N relationship between the 2 entities
- If the schema name matches then we execute an update on the contact record to set the 'Last Training Course' field
- The GetAssociationRelatedEntityreferenceId() function retrieves the contactid for the contact that is being added to the training course
N52 Formula Manager Steps
The following set of steps assumes you have an entity called Training Course already created with a N:N relationship between it & the contact entity
- Create a new formula of type 'N:N Associate'
- Set the Source Entity to 'Training Course'
- Copy & paste the formula below into the formula description field & click save
- You are ready to test
if(GetAssociationRelationshipName() = 'new_trainingcourse_contact', UpdateRecord('contact', GetAssociationRelatedEntityreferenceId(), SetAttributeLookup('new_last_training_courseid', 'new_trainingcourse', [new_trainingcourse.new_trainingcourseid])), 'NoOp')
Note 1: You will need to setup the exact same formula but set the Formula Type to N:N Disassociate if you need to handle contacts being removed from the many to many relationship
Did you know?
North52 Decision Suite helps streamline complex business processes
North52 Decision Suite is a cloud-based or on-premise decision management/decision engine platform for the Dynamics 365 and Power Platform that uses data, analytics and business rules to automate decisions.
Companies use North52 to streamline their processes, improve the quality of the decisions inside their Dynamics 365 systems, and shorten the time it takes to adjust to business and competitive changes.