Finding Command Forms and Commands to use with Menus for Visual Studio Tools or Dexterity

Patrick Roth - Click for blog homepageThis is a reposting of an article Patrick Roth originally wrote on my Developing for Dynamics GP blog.

One of the issues ISV’s have when integrating with the Dynamics GP menu system is to determine the name of a command list and command form to use.

While an experienced Dexterity developer would use the Dynamics GP Integration Guide to find the name of the command on a Dynamics GP menu, there isn’t documentation for any dictionary outside of the Dynamics.dic. If you were a .NET developer trying to write a .NET GP addin, you might not even be aware that documentation exists at all.  In either case, you might resort to logging a support incident, a question to the partner forums, or lastly post to a newsgroups and would eventually get your answer.

While I was talking with my PSTL dev guys I asked if they could do me a favor and update another utility in the PSTL application.  Great guys that they are, they said “no problem”.  I gave them my file, we edited the window a tish, and in no time we had it done.

As I noted, the window that was modified has existed in PSTL since 10.0 and came into GP 2010 unchanged.  The window is the free System Tool – Menu Inquiry Utility.

The window actually was created by development back in 9.0 to test issues (I assume) with the brand new commands that the menu system would be based on.  It was included with the Dexterity samples in 10.0 in either RTM or SP1 – I don’t recall which – for developer to use with their own menu work.

While this window did a very good job of showing you everything about a selected command, one key piece was missing that would be really useful for menu integration.  That key piece was the name of the command itself.  Nope, Dexterity didn’t have this.  You could get everything about a command except the name itself.  😦

Happily with Dexterity 10.0 SP2, a command was added to Dexterity that would allow this: Resource_GetSubResourceName() and the sample form was modified to now use this function and add this feature.

But as the PSTL guys didn’t know about this update to Dexterity and the sample (since they don’t do this as their “day” job like I do), PSTL wasn’t updated and went into GP 2010 without this functionality.

So what does this mean for developers exactly?

It means that you will easily be able to get all the information required (product, command, command form) for any command in Dynamics GP for any product.

Let’s see how it works.

The window opens from the main PSTL window and immediately populates itself.

The only change to this window is the Technical Name field at the bottom of the window.  This field is the name of the command itself.  That combined with the Parent Form from the top will give you the full name of the command.  In the Dexterity syntax, the selected item is- command CL_Manufacturing_Routing_Cards of form Command_MFG.

From a C# user adding his menu item using Menus for Visual Studio Tools, the code would be the same as it was previously.  However now you can easily find the correct name of the command list you wish to integrate with by selecting it in the treeview control.

C# Code Example

ParentTag = MenusForVisualStudioTools.Functions.GetTagByName.Invoke(346, "Command_MFG", "CL_Manufacturing_Routing_Cards");

This window also has other neat features such as showing ALL of the menu items including hidden ones marked with H: as well as all of the command properties that go with them.  I’ve used this window a few other times for various purposes but mostly for the same reason you will – to get the name of the command list that I want to integrate to.

Hope this helps,

Patrick Roth
Developer Support

// Copyright © Microsoft Corporation.  All Rights Reserved.
// This code released under the terms of the
// Microsoft Public License (MS-PL,

This article was originally posted on the Developing for Dynamics GP Blog and has been reposted on

11 thoughts on “Finding Command Forms and Commands to use with Menus for Visual Studio Tools or Dexterity

  1. Dear sir,
    i can't found the last row "Technical Name" in my window
    and where i can get all the windows Technical names refrance???


  2. Hany Lioun Nasr,
    If you don't have that field then you don't have the latest version of of PSTL that added this feature.
    EIther way though, David is correct in that the SDT will give you this.  This utility in PSTL won't tell you anything about windows – it is only for the menu stuff.


  3. How can i change the "H" word before the name of the options, example
    H: Payrroll – Canada
    Recently i see some options with the H word, but I need to be visible. How can i change that?


  4. Items are hidden because either you don't have security to them, they are for modules that are not loaded, or the list does not have any sub-items.
    For your specific item you point out: Payroll – Canada
    Mine is also hidden because I do not have Canadian Payroll loaded.  
    I also do not have Inquiry – Company because that menu list does not have any items under it so the pull right menu is hidden because it wouldn't make sense to show a menu that has no items.


  5. hi David
    thx for ur reply
    i need to download the PSTL but as i m customer without contacting partner
    Why Microsoft put it in partner source only
    please if you can send  the cnk file ,it will be appreciated
    thx in advance


Please post feedback or comments

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.