Menus for Visual Studio Tools for Microsoft Dynamics GP 10.0
Great News for Visual Studio developers working with Microsoft Dynamics GP 10.0.
The Issue
As I worked more with the Developer Toolkit and in particular Visual Studio Tools for Microsoft Dynamics GP, I found that the main support issue being seen was that it is not possible to add menu entries into the Microsoft Dynamics GP application navigation system without creating a Dexterity dictionary. This is mentioned in the following Knowledge Base (KB) article:
While creating a Dexterity dictionary to add the appropriate menus is not that hard for a Dexterity developer, it would mean learning a new set of skills for a Visual Studio developer that doesn't have previous dexterity experience. It seems rather inefficient to force Visual Studio developers to work in Dexterity, when they had achieved everything else with Visual Studio, just to add some entries in the menus.
If the customization is sufficiently complex that it requires Dexterity code (maybe for procedure/function triggers, table triggers, or for alternate windows) as well as Visual Studio code, then there is no problem adding the navigation code into the existing dictionary. However, this is not the case for many smaller Visual Studio customizations.
The Solution
The long term plan is to provide built-in support for adding to the navigation menus from Visual Studio into the next version of Microsoft Dynamics GP.
In the meantime, I have created a generic Dexterity dictionary which has an API (Application Programming Interface) which easily allows Visual Studio Tools developers to create their own menus, sub menus and separators directly from C# or VB code.
After discussions with the development and support teams, it was agreed that this code could be made available to developers to use with their Visual Studio based add-ins for Microsoft Dynamics GP release 10.0. Due to several fixes and enhancements in Visual Studio Tools for GP 10.0, this menu solution will not be available for GP 9.0. The plan for GP 11.0 onwards is that this functionality will be built into Visual Studio Tools.
[Edit] The menu functionality did not make it into GP 2010 (v11.0) and so an updated version of Menus for Visual Studio Tools will be released for v10.0 and v11.0 soon. Details will be posted on the blog.
We are still working on getting everything ready for release, but it will be made available soon.
Downloads
For downloads, please see the Menus for Visual Studio Tools Portal Page:
Menus for Visual Studio Tools Portal
Support Information
Technical support for Menus for Visual Studio Tools for Microsoft Dynamics GP can be obtained through the standard Dynamics GP Support channels. Information on contacting support can be found in the support area of the MSDN Dynamics GP Developer Center.
https://msdn.microsoft.com/en-us/dynamics/gp/bb468042.aspx
For customers or partners on a Dynamics specific support plan, please use the following link from CustomerSource or PartnerSource to log a "Visual Studio Tools-Developer Toolkit" case.
https://mbs.microsoft.com/support
More Information
For more information, please see the Menus for Visual Studio Tools Portal Page:
Menus for Visual Studio Tools Portal
Please add your feedback as comments, will this tool be useful to you?
David
26-Aug-2008: We are looking for beta testers for this utility, if you are interested, please use the email link at the top of the page.
28-Aug-2008: We have enough beta testers for now. You will need to wait a little bit for the actual release now.
25-Sep-2008: Added link to release announcement blog post.
13-Oct-2008: Created post on Using Menus for Visual Studio Tools from VBA.
24-Jun-2009: Added Link to KB Article 922871.
23-Apr-2010: Updated status menu support for Microsoft Dynamics GP 2010 (v11.0).
03-Nov-2010: Added links to related articles.
16-May-2013: Changed More Information Link to go to Menus for Visual Studio Tools Portal Page.
Comments
Anonymous
July 30, 2008
I had this problem a couple of months back. We had an application that integrated with GP, and had multiple menu items in GP. When planning for an upgrade we decided it would be more efficient to migrate the code to C#. Everything worked out fine - except the menu's. We had to write dexterity code and create a chunk file, and all it did was add a menu option that launched the application. Definitely seemed in-efficient, but that was the only way to go. To make things simpler - we decided to move all menu items but the app launcher in .Net application.Anonymous
July 30, 2008
Awesome! I have seen people struggling with it. This would be very helpful. Look forward to the next post :)Anonymous
August 01, 2008
Great to heard that this available tools. By the way, GP menu security able to control the menu access for those menu created in VS tools?Anonymous
August 01, 2008
The comment has been removedAnonymous
August 04, 2008
Posting on VSToolsForum.com http://vstoolsforum.com/forums/p/524/1208.aspx#1208Anonymous
August 21, 2008
100% needed here. This will be great to have. Also, you would probably get more of a response if anon comments weren't disabled.Anonymous
September 09, 2008
This tool would be very helpful.Anonymous
September 24, 2008
Some great news for Microsoft Visual Studio developers who use Visual Studio Tools to integrate withAnonymous
September 29, 2008
Dear David, This new innovation is really marvelous. I would like to take this opportunity to express my happiness and congratulation to you. The one of main constraints have been removed because of this new feature. I hope we will get the LineFill event as well, soon in DTK :-) Kind Regards, SajeeshAnonymous
September 30, 2008
Hi Sajeesh The LineFill event was removed from v9.0 as it would not have worked. At the time when Dexterity executes the LineFill event, the contents of the scrolling window (grid) are not yet populated. In Dexterity we have to access the data from the table buffer. As v9.0 of Visual Studio Tools did not have table buffer support, the LineFill event would not have been of any use. Because of this it was removed from the v9.0 release. When table buffer support was added into v10.0 of Visual Studio Tools, the LineFill event was overlooked and not added back. Development are aware of this and hopefully will we see it added back soon. DavidAnonymous
October 12, 2008
I have been involved in the Great Plains world now since 1994. During that time I have become known forAnonymous
October 29, 2008
Awsome! Being one who does not have time to dive into Dexterity. In just a couple of hours I was able to take all of the scattered menu handlers for our custom .net apps and turn them into a professional and easy to find menu items. Thank You!Anonymous
November 08, 2008
Please let me know if we can have this in GP 9.0 - menusAnonymous
November 09, 2008
Hi Triven The Menus for Visual Studio Tools has only been released for v10.0. For v9.0 you will still need to create your own Dexterity dictionary. For v11.0, the plan is to have a different method built into Visual Studio Tools. DavidAnonymous
March 29, 2009
Posting from Jivtesh Singh http://www.jivtesh.com/2009/03/visual-studio-tools-for-dynamics-gp.htmlAnonymous
December 10, 2009
David: I am running into a problem when accessing VS Tools windows using the new Menus for VS Tools. The problem is this: if the VS Tools window is open when I change companies the window does not automatically close like all the other windows in GP do. Also if I close GP with the VS Tools window open it appears that the VS Tools window hangs and is the very last thing to close (after GP is already closed). Are there any solutions to this issue? When using VS Tools windows the old way (attached to another GP window) it is easy to close it based on if the GP window has closed. KevinAnonymous
December 11, 2009
Kevin, You need to take care of your own windows - just the same as if they were "attached" to a form. In this case you need to trigger on a window that is open and closes on the switch company. Use the Toolbar.MainMenu1 window for this.Anonymous
March 21, 2010
The post says "The plan for GP 11.0 onwards is that this functionality will be built into Visual Studio Tools." I've read the VS Tools SDK for GP 11 beta and tested it out, but I have not seen this functionality built into GP 11. Has it been included? If so, how is it accessed?Anonymous
March 22, 2010
Ed, The table buffer & procedure/function events took a lot more to get working than was anticipated and so the 'hooks' for menus in vstools wasn't even started and thus not available. The new plan is that David M will update the Menus application to support v11.0. This should be fairly trivial to do - just update the references to the 11.0 assemblies and change the version check to 11.0 and done. This should be completed before GP 2010 ships (easily). patrick dev suppportAnonymous
March 22, 2010
Hi Ed There is a bit more too the upgrade to v11.0 as we are extending the functionality for v10.0 first and then doing the upgrade to v11.0. While the upgrade to v11.0 is fairly quick from a Dexterity and Visual Studio Tools perspective. I am still working on the updated functionality. I will update the blog once I have news. DavidAnonymous
April 07, 2010
Dave, I'm trying to add an item to the Transaction - Manufacturing - Forcasting menu. Is this possible? If so, can you supply the correct references or tell me how I might discover them? Thanks Kevin VoglerAnonymous
April 07, 2010
Hi Kevin Use the KB Article below to create a combined dictionary for manufacturing, then look for the Command forms, should have "Command" in the name, usually starting with it. You can then open the form definition and look at the commands tab. This will allow you to identify the name of the form and command. How to combine the Dynamics.dic core dictionary and an extracted dictionary by using Dexterity Utilities in Microsoft Dynamics GP (KB 930350) https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb;en-us;930350 Good luck. DavidAnonymous
April 08, 2010
Thanks Dave. Just what I was looking for. KevinAnonymous
November 01, 2010
Hi David, Is there any way to add the additional menus through VST ? If so please let me know the process of doing it. Thanks, VinayAnonymous
November 02, 2010
Hi Vinay Menus for Visual Studio Tools is designed to allow a Visual Studio Tools developer to integrated with the commands and menus of the Microsoft Dynamics GP application level menus. The Additional menu is used when additional menus are created using Dexterity Form triggers or the equivalent AddMenuHandler() method from Visual Studio. I suggest you look at the Chapter 15: Forms of the Visual Studio Tools for Microsoft Dynamics GP Programmers Guide (VSTDGPProgrammersGuide.pdf) for more information on the AddMenuHandler() method. Thanks David