Tuesday, August 2, 2011

Choosing Development Tools for 3rd Party Integrations

I recently answered a question on the Microsoft Dynamics Community website asking for advice on development tools for Project Accounting.  I thought I'd share a summary of my response in this venue:

=============================
I have been doing Dexterity development for 12 years, and have done a lot of customizations against Project Accounting (PA) using Dexterity and Modifier/VBA, as well as integrating to PA using eConnect.
Dexterity is definutely the most powerful development tools for GP, but it has a number of limitations when it comes to interacting with any 3rd party dictionary, which Project Accounting basically is (yes, I know it's offered by Microsoft, but it's not part of the core GP dictionary. Therefore, it basically acts and must be treated as any other 3rd party product).

The first and biggest shortcoming is that Dexterity cannot be used to modify a PA window. That is, we cannot add new fields to a PA window. The only way to add new fields to a PA window would be with Modifier/VBA. If we were dealing with a core window like the Sales Transaction Entry window, the Dexterity could be used to add to the window.

The second big struggle with using Dexterity with any 3rd party product like PA is that it can be really complicated to do what is called "cross-dictionary" development. Debugging takes longer, and so does interaction. However, it is still way easier than Modifier/VBA to interact with Project Accounting functionality. For instance, I once had to default special tax schedules at the time of billing into the Project Billing Entry window, ensuring of course that taxes were in fact calculated using the schedules I specified. Try doing that with Modifier/VBA... YIKES! But with Dexterity, I was able to intercept the PA function for getting the tax schedules, was able to specify my own, and BAM! It worked great.

As for integration, yeah, I've been a little frustrated that there are not more options for eConnect and PA. For instance, there are eConnect objects for building contracts, projects, and budget details, but no eConnect method for creating the Project Budget IV Details. I once had to do that, and wrote my own custom eConnect method for it. Also, there is no interface for creating Billing transactions. That's on my wish list for the future.

So, it is sometimes clear what tool needs to be used with 3rd parties, and at other times it is less clear.  Feel free to contact me if ever you'd like advice.

No comments:

Post a Comment