#GPPT #VSIT Using a ListView to display data with a Custom Form

David Meego - Click for blog homepageAs mentioned in my recent article, it is possible to add a ListView to a window using Modifier along with a hack. So today we are going to show how to use a ListView to display multiple records of data.

This is a practical example which works with Sales Transaction Entry (SOP_Entry) and shows the stock levels at each inventory site that has stock for the selected item on the window.

Continue reading

#GPPT Adding a ListView (Grid) to any window

David Meego - Click for blog homepageToday, I was working with a customer to create a new window in their Microsoft Dynamics GP system. We were using the new Custom Forms Module added to Visual Studio Integration Toolkit Build 18 to create a blank form, which we would modify and make functional using GP Power Tools Build 30.

Using Modifier to edit the window and add the required fields was simply a matter of creating local fields of the required datatypes to match the data we wanted to display.

But then we came across an issue that almost stopped the project from proceeding…
Continue reading

#GPPT Using GP Power Tools to fix GP Power Tools

David Meego - Click for blog homepageWith the release of the ISV Drop of Microsoft Dynamics GP v18.6 yesterday. I went through the process of creating Pre-Release Beta builds of the Winthrop Development Consultants products.

One of the issues I came across with the update of GP Power Tools was that the parameters of a form procedure in Dynamics GP had changed and my code could no longer compile as I was receiving a “Wrong number of arguments to ‘MSGraphEmailSendEmail’.” error.

Here is how I used GP Power Tools to fix the code in GP Power Tools.

Continue reading

#GPPT Implementing Custom Forms using GP Power Tools

David Meego - Click for blog homepageWith the release of GP Power Tools Build 30 combined with the release of Visual Studio Integration Toolkit Build 18 and its Custom Forms Module, GP Power Tools gains the ability to create new windows.

GP Power Tools – Developer Tools module is extremely powerful with its triggering and scripting capabilities using the Dexterity sanScript, SQL Server Transact-SQL, C# and VB.Net languages and over 100 helper functions, but has always lacked the ability to create new windows.

Until now …

Continue reading

#VSIT Custom Forms Module added to Visual Studio Integration Toolkit Build 18

David Meego - Click for blog homepageThe release of Build 18 of Visual Studio Integration Toolkit fulfills a long-term plan to add advanced modules to the product that extend its functionality beyond the original menu navigation that was offered by its predecessor, Menus for Visual Studio Tools for Microsoft Dynamics GP.

The last big jump in functionality happened with Build 15 when support for Area Pages was added to the Menus module, and over 260 Helper Functions exposing “Dexterity only” functionality to Visual Studio Tools developers was added to the Helpers module.

Build 18 adds an advanced Custom Forms module which allows Visual Studio Tools developers to create their own Dexterity custom windows. These custom forms have the advantage over WinForms as they will work on the Web Client and all other Microsoft Dynamics GP features.

Continue reading

#MSDynGP Using #SQLServer Databases with #Dexterity. Why all the Quirks?

David Meego - Click for blog homepageFollowing on from the article published on Friday about why Microsoft Dynamics GP uses many 8 upper case character table and column names:

This article consolidates many of the articles written about using MS SQL Server with Dexterity and also publishes original documentation from 1999 on how SQL Server support was added to Dexterity.

Continue reading

#MSDynGP Why are most table columns in GP 8 uppercase characters?

David Meego - Click for blog homepageA recent post on LinkedIn asked about the reasons that most of the column names in Microsoft Dynamics GP are cryptic abbreviations of 8 upper case characters. My friend and fellow Microsoft MVP, Jen Kuntz (congrats on being re-awarded) responded and in that response tagged me.

I wrote up another comment, and then decided to turn that comment into a blog post….. here it is. 😁

Continue reading

#SQL Parsing data out of Note Text Fields

David Meego - Click for blog homepageToday, I was asked by a consultant how to parse specific data out of the record note associated with a transaction or master record in Microsoft Dynamics GP using a SQL Server query.

GP uses the SY_Record_Notes_MSTR (SY03900) Record Notes Master table to store a text field of up to 32767 characters linked to master or transaction record using the Note Index (NOTEINDX) field. The next available Note Index is stored in the SY_Company_MSTR (SY01500) Company Master in the system (DYNAMICS) database and is assigned to new records when they are created.

Continue reading

#GPPT Closing External Applications with Automatic Logout

David Meego - Click for blog homepageToday I was asked if the GP Power Tools Automatic Logout functionality can be used to automatically logout other external applications, for example: SalesPad For GP from Cavallo.

My initial answer was that it was not possible as the Automatic Logout functionality provided in GP Power Tools is Dexterity based and does not have the ability to affect other applications.

But then I thought about it some more and …

Continue reading

#GPPT Tracking changes to Customer and Vendor Cards Version 3

David Meego - Click for blog homepageThis is a further update to the previous versions of the change tracking projects for Customer and Vendor cards:

Based on the version 2 projects, this update adds tracking to the Vendor and Customer EFT Bank Maintenance windows.

Continue reading

#GPPT Changing and Recalculating SOP Tax Rates

David Meego - Click for blog homepageBack when Australia introduced its Goods and Services Tax (GST) in July 2000, I designed and developed the Business Activity Statement (BAS) Tax reporting tool which also contained a utility to update tax schedules and recalculate taxes on unposted Sales Order Processing Transactions.

This code was re-used in October 2010 when New Zealand changed its GST tax rate. The code from the BAS reporting tool was copied and placed into Runtime Execute scripts for the Support Debugging Tool (see original article).

This week I was contacted by James Bacon from Green Rubber – Kennedy Ag as he wanted to use the code again to update some transactions when a tax rate had changed. While the code did “mostly” work, this was an opportunity to update the code to improve it and use more features in GP Power Tools.

Continue reading

#GPPT Adding Multi Factor Authentication to the Microsoft Dynamics GP application

David Meego - Click for blog homepageMicrosoft Dynamics GP has added support for Multi Factor Authentication (MFA) to the emailing functionality inside Dynamics GP to allow it to connect to Microsoft Exchange, now that simple authentication is no longer supported.

However, there is no MFA functionality for logging into the Microsoft Dynamics GP application itself… until now.

Using GP Power Tools Developer Tools module, with a single after login trigger, it is possible to force the request to connect to Microsoft Exchange and close GP if the connection is not authenticated.
Continue reading

#DynamicsCon Announces Winthrop Development Consultants as Title Sponsor for Dynamics GP Track

David Meego - Click for blog homepageYes, you heard correctly. Winthrop Development Consultants is thrilled to be Title Sponsor of the March 2023 DynamicsCon Virtual Conference taking place on 15th and 16th of March 2023.

Make sure you register to attend this free online conference to learn more about Microsoft Dynamics GP and related products and technologies.

Continue reading

#GPPT Automatic Logout Not Identifying Activity and Logging Out

David Meego - Click for blog homepageWe get reports every now and then of a user being logged out of Microsoft Dynamics GP by the GP Power Tools Automatic Logout feature even though they have been active on GP within the timeout period.

This happens because there is no way to track “Inactivity” in Microsoft Dynamics GP, so instead we attempt to track “Activity” by triggering on common events/scripts within GP and resetting the last active time and date.

However, there are times when a user could be active in GP and manages to avoid invoking any of the actions that would be identified as “Activity”. When this happens, they can be logged out incorrectly.

Continue reading

#GPPT Automating Printing and Emailing of Sales Order Processing Documents

David Meego - Click for blog homepageMicrosoft Dynamics GP has the ability to output Sales Order Processing transactions to a printer so the documents can be sent via “snail” mail, or you can send the documents via email. You can even send documents both to email and the printer.

However, two issues have been found which make the functionality less than perfect. This sample project for GP Power Tools resolves these issues and restores the perfection.
Continue reading

#GPPT Using the Clipboard to copy from Excel into Microsoft Dynamics GP

David Meego - Click for blog homepageToday, we are covering an exciting new sample customization that is now possible due to Clipboard and Parsing Data Helper Functions added to recently released Build 29 of GP Power Tools.

The customization shows how any data in a Microsoft Excel spreadsheet can be copied via the Clipboard into any window of Microsoft Dynamics GP.

Continue reading

#GPPT Linking to Document Management Systems

David Meego - Click for blog homepageThis sample is something that I have already helped customers achieve with GP Power Tools in the past but it had not been posted as a sample on the blog. The ability to link with a document management system by opening a URL with data from any window in Microsoft Dynamics GP is really easy to do.

This sample project allows scanned payables invoices to be opened in a web browser from the Payables Transaction Inquiry – Vendor and Payables Transaction Inquiry – Document windows as well as the Payables Transaction Entry Zoom window.

Continue reading

#GPPT Automating or Customizing the Report Destination Window Revisited

David Meego - Click for blog homepageToday we are revisiting the article #GPPT Automating or Customizing the Report Destination Window. In this article we show how Build 29 of GP Power Tools can improve on the methods used previously.

When automating Microsoft Dynamics GP, if a Report Destination modal dialog window opens, it needs to be dismissed so that the rest of the automation code can continue. This article contains a demonstration project that shows how to dismiss the 3 different dialogs used.

Continue reading

#GPPT Creating Additional .Net Dialog Windows using Scripts

David Meego - Click for blog homepageOne of the current limitations for GP Power Tools is that it cannot create new Dexterity windows.

[Edit] GP Power Tools can now create Custom Forms, so this is no longer a limitation:

Usually, it is possible to avoid this requirement by:

  • Using Modifier to add extra fields to an existing window;
  • Using the SQL Results window to display data with SQL Gotos to perform actions on that data;
  • Using Dexterity modal dialogs (ask() and getstring() for example) to get information needed;
  • Using Modifier even adding a complete “sub window” onto an existing window (example below).

This article provides another method leveraging the .Net Framework functionality to create a dynamic form using code.

Continue reading

#GPPT Tracking changes to Item Cards Version 2

David Meego - Click for blog homepageAfter the publishing of the GP Power Tools projects for tracking changes to Customer and Vendor Cards, there have been requests for the same functionality for Item Cards.

Starting with the framework updated in the version 2 of the Customer and Vendor tracking projects:

I have created the same functionality for Item Cards. It is labelled as Version 2 so it stays in sync with the other trackers. Even though this is actually the first release, it is based on the Version 2 code.

Continue reading