-
Notifications
You must be signed in to change notification settings - Fork 243
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extending CRM integration for BC OnCloud e.g. new entity mappings, customizing existing mappings #3844
Comments
@tmeyhoff had a session on this topic at Directions NA. Perhaps he can share more details here as well. |
@StanislawStempin thank you for the update. Looking forward to hearing his input on this! |
You might also want to have a look at this issue: https://www.yammer.com/dynamicsnavdev/#/Threads/show?threadId=1207545665 |
We've managed to get around some of this with one of our clients by hooking certain integration events This isn't exactly using the base CRM integration to do the sync but shoe-horning certain data into/out of CRM fields using code. The reason we do this is the client in question has customised a lot of CRM tables and we cannot extend them as this is unsupported. Instead we created a separate view of the customised CRM table containing just the fields we need (and a GUID field for the record PK in CRM). During the customisation event we take the current record's GUID and re-fetch it using our custom table. This results in BC pulling the custom fields we need and we use that object to populate, for example, a customer record. Code looks something like this (edited some of the object names for clarity):
Obviously this is only on record pull and not push - you'd need to add events for push (by checking for the sync direction on source/dest). It's not very flexible compared to the mappings - I've considered using field mappings to do this but since you can't extend CRM tables this wouldn't work unless we re-created the whole Really we need the right events in the right place. I suppose you could wrap a mini-framework around this for managing the additional fields to sync, I've just not done it here for time reasons. Might be something I do in future if we end up doing some more CRM implementations that have customisation. |
I have an on-prem client (currently on NAV2009 R2) who is interested in migrating to Business Central OnCloud. Furthermore, I discovered they're interested in integrating with Dynamics 365 Sales for ERP/CRM integration.
I delved into NAV's CRM customization capabilities for another client last year (NAV2016 on-prem) and customizing it was not easy to do: the on-prem NAV way is a hodgebodge of powershell scripts (e.g. the New-NAVCRMTable cmdlet to create/update entity mapping tables), customizing codeunit 5150 Integration Management, etc.
I get the sneaky suspicion that none of this is possible with BC OnCloud and clients have to settle with the CRM integration capabilities that ship with Business Central and nothing else (i.e. cannot map new fields to existing integration tables, cannot create new integration tables). Also, cannot extend codeunits (which is needed when mapping brand new entities). Secondly, New-NAVCRMTable generates text objects with special properties unique to CRM integration.
Is the txt2AL tool even capable of transforming ,txt object with these unique CRM properties? If I created a delta on an existing integration table object, could I even transform it into an AL file for use in an extension?
I couldn't find any sufficient BC documentation on customizing this stuff.
The text was updated successfully, but these errors were encountered: