Quantcast
Channel: Microsoft Dynamics NAV Forum - Recent Threads
Viewing all articles
Browse latest Browse all 18803

Primary Contact not synchronizing from Dynamics 365 CE to Dynamics NAV

$
0
0

Please do consider the following scenario.

  1. a subscription to Dynamics 365 CE does exist or a trial does exist
  2. install a supported release of Dynamics NAV or Dynamics 365 BC
  3. setup integration as per the documentation and couple salespersons and perform a full synch
  4. create an account in D365 CE with a Primary Contact
  5. in Dynamics NAV / Dynamics 365 BC, search for Integration Table Mappings and synchronize modified records for Customers to CRM Account and Contacts to CRM Contact
  6. search for Customers
  7. look up the newly synched contact

Result:
The Primary Contact Field is emtpy 

  1. update the records in D365 CE
  2. perform a normal synch (only synchronize modified records)

 Result:

The Primary Contact Field is filled with the correct contact field

Customer and Contact have a cyclic dependency, such that when a Customer has a primary contact, the primary contact has that customer as a parent. They cannot be synched simultaneously, but one by one. If you make such a customer-contact pair in D365 CE, when we synch the customer - the primary contact is not synched yet, and it doesn't exist in BC. If you synch the contact first, the parent customer will not exist in BC.

Therefore the design is:

  1. Customer integration mapping was chosen as the dependency for Contact integration mapping (meaning that Customer is synched first).
  2. If the primary contact for a customer doesn't exist in BC yet, as it is in this case, it was chosen to have this default setting on the Primary Contact No. and leave it blank in case of missing primary contact (as highlighted above).
  3. Then, after you synch the Contact, the primary contact will be created in BC. This is why the second sync of the D365 CE Account populated the Primary Contact No. the second time - because in the meanwhile, the primary contact was created in BC.
  4. What if the D365 CE Account never changes after the first sync? Will the Primary Contact No. stay broken (empty) forever? No, it will not. For this purpose, we have a dedicated job queue entry that is scheduled every time Customer synch is fired. That is the job queue entry that runs codeunit 5351 "Customer-Contact Link". The purpose of this codeunit is to look for Customer entities in BC that have a broken Primary Contact No., and populate it in case their corresponding primary contact was created in the meanwhile. Digression: This codeunit (5351) used to be scheduled every time the Customer synchronization job is running, which is way too often, and it had a performance hit, so a partner logged a bcidea to make it run less frequently, not after every Customer synch, but make it be a scheduled task that will run once every 2 hours, with inactivity timeout of 12 hours. This performance optimization was fixed and backported to v14.

Hope it does help you to explain the scenario to your customer.


Viewing all articles
Browse latest Browse all 18803

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>