This is the fourth article in the #GPPT GP Power Tools: What’s in each module series? of articles.
It covers what is included in the Developer Tools module. This module provides extremely powerful, multi-lingual triggering and scripting capabilities that can be used to solve and fix bugs, create customizations or provide self-service support.
Introduction
The Developer Tools module contains all the features related to scripting and triggers within GP Power Tools. You can script using Dexterity sanScript, Transact-SQL, Visual C# and Visual Basic.Net without needing to install Dexterity, SQL Server Management Studio or Visual Studio. Code saved in GP Power Tools is stored in SQL Server and is immediately deployed to all workstations without needing to visit them. This functionality can be used to find and fix bugs, customize GP, create integrations and provide self-service support.
Benefits
Here is a quick summary of the benefits:
- Create scripts inside Dynamics GP, using Dexterity, Transact-SQL, C# and VB.Net.
- Create triggers to schedule events, customize Dynamics GP, and debug issues.
- Build custom Report Writer functions, SBA Web Services and URL Drill Backs.
- Create Self Service scripts with parameters for users to fix issues themselves.
- Group resources into projects for easy maintenance and exporting & importing.
- Create Custom SQL Tables, Virtual Fields, and Custom Forms (with VSIT product).
Features
Below is a list of the features for this module.
The following key is used to denote whether the feature is a Standard Mode (User level) feature (unmarked) or an Advanced Mode (Administrator level) feature and to what build of GP Power Tools the feature was added in parenthesis.
- (A) Advanced Mode Feature
Trigger Status
Shows the currently active GP Power Tools triggers and allows them to be started (registered) or stopped (unregistered). Triggers are defined in the Trigger Setup window and can be used for debugging issues or creating customizations.
Build 28 added the option to print out the contents of the Trigger Status window.
Parameter Inspector (32)
The Parameter Inspector window can be used to view the values of fields from Parameter Lists, Memory Parameters, Table Parameters as well as Custom Table Buffers. This is an invaluable tool when debugging code written using the Developer Tools module.
Runtime Executer (20)
Allows any user to be able to execute a script marked as published from the Runtime Execute Setup window. Can be used to create self-service support scripts where the primary language used is Dexterity sanScript. Using Parameter Lists in conjunction with the script allows the user to respond to a dialog to control the script or pass values to it.
Build 29 added a Long Description which is displayed before the code is executed.
SQL Executer (20)
Allows any user to be able to execute a script marked as published from the SQL Execute Setup window. Can be used to create self-service support scripts where the primary language used is Transact-SQL. Using Parameter Lists in conjunction with the script allows the user to respond to a dialog to control the script or pass values to it.
Build 29 added a Long Description which is displayed before the code is executed. It also adds a Find button.
.Net Executer (20)
Allows any user to be able to execute a script marked as published from the .Net Execute Setup window. Can be used to create self service support scripts where the primary language used is Visual C# or Visual Basic.Net. Using Parameter Lists in conjunction with the script allows the user to respond to a dialog to control the script or pass values to it.
Build 29 added a Long Description which is displayed before the code is executed.
Project Setup (22) (A)
Projects can be used to group scripts, triggers and parameter lists together into a single project which can be exported as a single xml file.
Build 28 added linking to a default form to make it simple to zoom to the primary window of the project, the ability to include Customization Maintenance resources in the project and a number of usability enhancements.
Build 29 added multi-selection of resources with right click context menus and buttons to change settings on resources, duplicate and rename resources and execute scripts.
Build 30 adds a Find in Scripts window to the Options menu which can be used to search all scripts in a project or the entire system.
Build 32 adds GitHub support for exporting projects into “cloud storage” including a check in comment to maintain an external backup with version history.
Trigger Setup (A)
Debug issues by creating logging triggers which capture logs up to a specified event and then check for the error condition before saving logs and performing actions. Create customizations by adding non-logging triggers to events in Microsoft Dynamics GP and then executing scripts as desired. Use helper functions to work across Dexterity dictionaries or execute scripts in Dexterity or other languages and pass parameters between them. Define Parameter Lists to get input from users before trigger scripts execute.
Build 27 added triggering on Modifier Added Fields, Modal Dialogs and using Visual Studio Integration Toolkit to create Application Level Menus.
Build 28 added better support for Modifier Added Fields and Modal Dialogs as well as additional trigger types, support for script parameters, and new options for greater functionality and control.
Build 29 added additional Trigger Attach modes as well as the ability to temporarily disable and enable triggers. It also adds a script clipboard to make it easier to cut and paste code between scripts.
Runtime Execute Setup (A)
Create Dexterity scripts which can be executed from this window or the Executer window or called by triggers or other scripts. Parameter Lists can be used to get input from users before scripts execute. Use helper functions to work across Dexterity dictionaries or execute scripts in other languages and pass parameters between them. Runtime Execute scripts can be used with Modifier added fields. They can also be used to create custom RW functions for use in calculated fields in the report writer and to create custom SBA (Service Based Architecture) Web Services which can be called externally.
Build 27 added support custom URL Drill Backs from external applications.
Build 28 added the option to Minimize Log Entries for called helper functions.
Build 29 added additional new faster implementations of the 6 custom Report Writer functions. It also adds a script clipboard to make it easier to cut and paste code between scripts.
SQL Execute Setup (A)
Create Transact-SQL scripts which can be executed from this window or the Executer window or called by triggers or other scripts. Parameter Lists can be used to get input from users before scripts execute.
Build 28 added the option to Minimize Log Entries for called helper functions, such as the SQL Gotos scripts. It also has enhanced the Dexterity technical name to SQL physical name conversion handling.
Build 29 added a find button to search returned result sets. It also adds a script clipboard to make it easier to cut and paste code between scripts.
Build 27 adds SQL Gotos which allow for further actions to be performed on the results returned from a SQL Execute Setup script.
.Net Execute Setup (20) (A)
Create .Net scripts in Visual C# or Visual Basic.Net which can be executed from this window or the Executer window or called by triggers or other scripts. Parameter Lists can be used to get input from users before scripts execute. Use helper functions to work across Dexterity dictionaries or execute scripts in other languages and pass parameters between them.
Build 28 adds the option to Minimize Log Entries for called helper functions.
Build 29 added caching of compile code for better performance and memory optimization. It also adds a script clipboard to make it easier to cut and paste code between scripts.
Snippet Setup (30) (A)
Create and maintain code snippets which can be inserted into any of the Script Editors using the Insert Button. The snippets can be in Dexterity sanScript, SQL, C# or VB.Net.
Parameter Lists (21) (A)
Define up to 10 inputs to be populated by a user before a script or trigger executes. Parameters can be of any type, including lists and lookups, and can have optional from and to values or just a single value. Custom lists and lookups can be defined using SQL queries written in the SQL Execute Setup window.
Build 28 adds support for an additional 11 standard lookups and the ability to have filtered SQL Lists and SQL Lookups based on values from other parameter fields.
Messages Setup (28) (A)
Messages allow the re-use of strings to be used in dialogs or scripts with the ability to translate depending on the language of the client application.
Custom Tables Setup (32)
The Custom Table Setup window is used to define a Table, its fields and its indexes. This table is then created and maintained automatically as a SQL table. It is updated automatically as changes are made to the Custom Table definition. The table can also be used with Custom Table Buffers which provide “Dexterity Style” table buffer control via a suite of Helper Functions.
Custom Fields Setup (33) (A)
Added in Build 33, Custom Fields Setup provided a framework to take any fields from a Custom Table and add it to any window in any product dictionary without using any code or Modifier. Custom Fields can be added to Maintenance, Inquiry, Transaction windows and even on to reports.
Dynamic Trigger Logging (22) (A)
Developer feature to dynamically define triggers against events which are logged before and after the event fires. This tool was created specifically to help debug SBA (Service Based Architecture) code where the code behaves differently when in Desktop and Service modes. As there is no script logging available in Service mode, this feature is a valuable tool in understanding where the code flow differs.

I hope this helps your understanding of GP Power Tools and what it can do for you. If you want more details than provided in this series, please download the GP Power Tools User Guide manual, which contains 918 pages of detailed description of every feature in the product.
You can also download and install the product, NFR (Not for Resale) Keys are available for partners and a free 30 day trial is available for customers (just install and follow the on screen instructions). GP Power Tools can also work with no registration keys if only the sample company is installed.
I firmly believe that all Microsoft Dynamics GP sites globally should have GP Power Tools installed, and the articles in this series will explain why.
David
12-Feb-2019: Updated after the release of build 26 of GP Power Tools.
24-May-2019: Updated after the release of build 27 of GP Power Tools.
11-Aug-2020: Updated after the release of build 28 of GP Power Tools.
13-Aug-2022: Updated after the release of build 29 of GP Power Tools.
22-Aug-2023: Updated after the release of build 30.1 of GP Power Tools.
19-Aug-2024: Updated after the release of build 31.1 of GP Power Tools.
23-Jun-2025: Updated after the release of build 32.1 of GP Power Tools.
01-May-2026: Updated after the release of build 33.1 of GP Power Tools.
This article was originally posted on https://www.winthropdc.com/blog.
















2 thoughts on “#GPPT GP Power Tools: What’s in the Developer Tools module?”