There comes a time when you as the NAV developer are tasked with integrating with Dynamics CRM.
Having completed some projects in this space. I'd like to share some of the experiences and lessons learnt, so that others don't fall into the same traps.
Here are two of the winners that I'd like to share:
1. Knowledge Sharing between the CRM and NAV
In NAV we take some things for granted. Some of these are things like Item Variants, Locations and Reservations. To the NAV Developer this is normal, but to a CRM developer is can be confusing. I can say this is a two-way street as when CRM developers talk about email tracking, entities and workflows this can also leave the NAV developer to be found wanting. It is important to understand where the strengths are in each package to effectively integrate the solutions. In the long run having clear points of entry will help you have a more complete solution without re-inventing the wheel.
2. PowerShell and your NAV Developers License
In NAV there is a nifty PowerShell script that wraps a CRM entity into a NAV Table.
There are some things to consider when you use this function.
The first is that when you call you need to include all CRM entities that relate to the new table that you want to add into NAV. If you do not do this, you'll find out that the script did not create any table relationships.
The second relates to your NAV developers license. Let’s say that the CRM developer added a field to the 'salesorder' entity that you now need to do something with in NAV. What is important here is that when you use the PowerShell script to create the new table for NAV it doesn't know that the new field number must be in the fifty thousand range or your add-on range. In these cases, you need to manually update the generated output and change the field number of the added field.
3. UTF Encoding formats
There is something to consider here for NAV and CRM. Both products store this information differently. To give an example scenario where you may find this a challenge is: In CRM, you use annotations to write a note to a quote or an order. This then needs to be stored in NAV as a recordlink on the same document once it is processed. What is important here is that when calculating these BLOB fields, you need to be aware of the different UTF formats and convert the encoding accordingly, so that you will be able to read or stream the information in the correct manner.
Bringing it all together
Microsoft Dynamics CRM and Microsoft Dynamics NAV have come along way from the traditional integration methods. It is in sharing these lessons learnt do we contribute to making the journey of combining these products to provide customers a seamless and joyful experience.