How to Integrate Microsoft Dynamics CRM with Microsoft Dynamics Navision 2017 with custom field mappings?
- In my earlier Post of Nav-CRM integration, it was more focused on the functional side. Let’s go into the technical details of integration.
- If you haven’t read my first post of Nav-CRM integration, I would strongly recommend you to visit the link, To see how the connection is made.How to integrate Nav-CRM? Part 1
- In this post we will discuss how to create custom field mappings in Customer-Account synchronization.
- Firstly there is a new table-type called CRM.
- Now what should you do if you have a new custom field in CRM and you want to map with a custom field in CRM account table ID 5341?
- You cant create the field manually because it will give a ExternalType="" as Error.
- For this you will have to use the power-shell cmdlet to Refresh the schema of table CRM account(5341).
- Open the Windows Power-shell ISE in Administrator mode.
- Import-Module "C:\Program Files (x86)\Microsoft Dynamics NAV\100\RoleTailored Client\Microsoft.Dynamics.Nav.Model.Tools.psd1"
- After running the above the script, you will have a new command called New-NAVCrm table.
- We will use this command to refresh the schema of table CRM account(5431).
- Before using the New-NAVCrm command make sure that you created a new field in accounts entity in CRM.
- New-NavCrmTable -Credential (Get-Credential -UserName crmnsw@xyz.com.au -Message "Enter Password") -CRMServer https://xyz.crm4.dynamics.com -EntityLogicalName account -Name "CRM Account" -ObjectId 50010 -OutputPath D:\CRMObjects
- The above command is used to refresh the schema of CRM account, here CRM server is the URL of the CRM and UserName is Admin user of CRM, entityylogicalname is name of entity which you want to refresh and objectId is ID of the output file and output path is the path where the file be stored.
- When you get output file you DON'T have to import the object in navision instead of you have perform merging.
- Export CRM account(5341) as txt file and merge the new fields produced in txt 50010, make sure to change field number as customized series.
- You have to merge the new field from the output file generated from the Powershell to the object file txt exported from Navision(Crm account).
- After this Import the CRM account(5341) into Navision and make sure to Compile and save it.
- Copy new the field from Crm account and paste it in Customer(18).
- We have the field in Customer(18) table and in CRM account table and we have to set the mapping of both the fields.
- All the mapping have been per-defined in Codeunit "CRM Setup Defaults"(5334), go to the function "ResetCustomerAccountMapping". Add the code mentioned in the screenshot.
- Now the mapping has been defined in the code but we will have to reset all the mapping manually.
- To reset the all the mappings we have to "Use Default Synchronization Setup" which is available under Crm connection setup under Action in Navision. Click on that to Reset all the mappings from default.
- All the field mappings are stored in "Integration Field Mapping"(5336).
- Now all the mappings have been done, we have to sync a customer from Navision 2017 to CRM which will become an Account.
- Before syncing customer make sure that the salespeople of the customer is synced, only then the customer will be able to sync error free. To sync salespeople you can follow the steps of coupling which are mentioned below.
- Open the customer card of any customer you want to sync, under navigate tab you would see Dynamics CRM action group, click on set up coupling.
- A new page will open, in that page you can see what all field mappings are there and what is the data stored there, to create the same customer in CRM, you have to check the "Create New". This will create a new account of Nav customer in Microsoft Dynamics CRM. Click Okay and a popup message will come as "Synchronization complete".
- Go check in CRM in accounts a new account would be created of same customer of Nav, by default they will be coupled to each other, so any change in nav would bring a change in CRM of the customer and vice-versa provided the fields are syncing bi-directional.
- Like this you can sync the other entities of CRM, e.g. Item-products, Currencies, Salespeople-Users.
Waiting for your next post sir :p
ReplyDeleteHi! I execute command New-NavCrmTable -Credential... and PowerShell return an unhandledErrorMessage: Could not load file or assembly 'Microsoft.Xrm.Sdk, Version=7.0.0.0, Culture=neutral,
ReplyDeletePublicKeyToken=31bf3856ad364e35'
Could you help me?
I feel satisfied to read your blog, you have been delivering a useful & unique information to our vision.keep blogging.
ReplyDeleteRegards,
microsoft dynamics training in chennai
Ethical Hacking Course in Chennai
PHP Training in Chennai
Web Designing Course in Chennai
microsoft dynamics crm training
gst training in chennai
microsoft dynamics crm training institutes in chennai