#GPPT Purchase Order Processing Lock Cost Part 3

David Meego - Click for blog homepageThis article completes the creation of a GP Power Tools customization to prevent POP Receivings from updating the Originating Invoice Cost field on the Item Vendors Maintenance window.

Please make sure you have read the previous articles before continuing:

In the previous articles we used GP Power Tools to identify the table and field we want to work with as well as the script responsible for making the change to the field during the receivings posting process and then used triggers to restore the previous value of the field when posting receivings transactions.

Continue reading

#GPPT Purchase Order Processing Lock Cost Part 2

David Meego - Click for blog homepageThis article continues the creation of a GP Power Tools customization to prevent POP Receivings from updating the Originating Invoice Cost field on the Item Vendors Maintenance window.

Please make sure you have read the previous article before continuing:

In the previous article we used GP Power Tools to identify the table and field we want to work with as well as the script responsible for making the change to the field during the receivings posting process.

Continue reading

#GPPT Purchase Order Processing Lock Cost Part 1

David Meego - Click for blog homepageI was recently working with a GP Power Tools customer who wanted to solve an issue with how the Purchase Order Processing (POP) module on their Microsoft Dynamics GP system functions.

They have international suppliers who specify the cost for their inventory items on a regular basis by sending through a price list document. Due to long lead times and shipping delays caused by the pandemic, cost pricing might change while the items are still in transit.

The issue is that when receiving a purchase order, the Originating Invoice Cost field on the Item Vendors Maintenance window is updated from the last received transaction, overwriting the current cost price provided by the supplier. The result is that subsequent purchase orders created have the incorrect cost value from the receivings transaction instead of from the supplier’s price list.

Continue reading

#GPPT Setting Default Sorts for Inquiry Windows

David Meego - Click for blog homepageToday, I was asked by a partner how simple it would be to default the Sort by fields on the Payables Transaction Inquiry – Vendor window to Document Date in Descending order. This is previously the type of quick tweak that you might have used VBA (Visual Basic for Application) for.

However, now that VBA is “End of Life” and is not supported on the Web Client and some windows platforms, this is a perfect customization to use the GP Power Tools – Developer Tools module for. The entire customization took me about two minutes to complete. In fact, it took much longer to write this article.

Continue reading

#Dexterity Remember Multicurrency when Customizing Transaction windows

David Meego - Click for blog homepageI was asked recently to assist with some custom code that had been added to a transaction window in Microsoft Dynamics GP. The customization would work for one user, but not for a different user.

The customization was created using GP Power ToolsDeveloper Tools module, but similar code could have been created using Dexterity, Visual Studio Tools or even VBA (Visual Basic for Applications).

Continue reading

#GPPT Defaulting Customer ID and Vendor ID fields for new records

David Meego - Click for blog homepageThis week I received two similar requests and so I thought I would publish a couple of sample customizations which achieve the desired goals.

If you want to have a standard templates when adding Customer IDs and Vendor IDs, these two samples will provide that functionality with just a few triggers using the GP Power Tools – Developer Tools module.

Continue reading

#Dexterity command Activity_GetBackgroundStatus() kills background Timed Processes

David Meego - Click for blog homepageYou might have seen yesterday’s article: #GPPT Processes are currently being run Dialog when logging into Microsoft Dynamics GP, which discusses a problem caused by a clash of a GP Power Tools build 28 feature and FastPath SSO (Single Sign On).

[Edit] FastPath have already released an update which fixes the issue. Thanks for the quick turn around.

The root cause of this issue is the undocumented side effect of using the Dexterity Activity_GetBackgroundStatus() command. Read on for the full explanation.

Continue reading

#GPPT Free Automatic Lookup Example

David Meego - Click for blog homepageWith the completion of development and release of Build 28 of GP Power Tools, now is the time to publish more examples for the Developer Tools module. Please see the GP Power Tools Samples page for additional examples that you can download and use for free.

This example is simple and can speed up data entry in Microsoft Dynamics GP. It does require GP Power Tools (GPPT) installed and the Developer Tools module registered. If you don’t have GP Power Tools installed or the Developer Tools module registered, feel free to install and start a free 30 day trial period, so you can test out this and the many other samples.

Continue reading

#GPPT Free SQL Search across Multiple Fields Lookup Example

David Meego - Click for blog homepageWith the completion of development and release of Build 28 of GP Power Tools, there is now time to publish some of the great examples for the Developer Tools module. Please see the GP Power Tools Samples page for additional examples that you can download and use for free.

This example is amazing and every site with Microsoft Dynamics GP will want it installed. It does require the current Build 28.1 or later installed and the Developer Tools module of GP Power Tools (GPPT) registered. If you don’t have GP Power Tools installed or the Developer Tools module registered, feel free to install and start a free 30 day trial period, so you can test out this and the many other samples.

Continue reading

#GPPT Automating or Customizing the Report Destination Window

David Meego - Click for blog homepageAs promised, following on from the previous article: #Dexterity Automating or Customizing the Report Destination Window, this article shows how you can achieve the automating of the Report Destination dialogs using GP Power Tools – Development Tools module, including the dialogs in the Dexterity Runtime Engine.

Continue reading

#Dexterity Automating or Customizing the Report Destination Window

David Meego - Click for blog homepageBack in 2009, I posted about Automating or Customizing the Report Destination Window. In that article I discussed that there is more than one version of the Report Destination dialog and that additional methods would be required to control the version that is in the Dexterity Runtime Engine.

This article gets into more detail showing how the control the different dialogs with Dexterity.

Continue reading

#GPPT Converting .Net Execute Scripts from C# to VB.Net

David Meego - Click for blog homepageFollowing on from the previous articles: #GPPT Speeding Up Referencing Modifier Added Fields and staying Web Client compatible and #GPPT Referencing Modifier Added Fields in the Web Client using .Net Execute, this article looks how we can use VB.Net rather than C# as the scripting language in the .Net Execute scripts.

Both VB.Net and C# use the .Net Common Language Runtime (CLR) and it is usually possible to write exactly the same code in either language. So we will duplicate our existing C# scripts and convert them to VB.Net, then we will duplicate the triggers to call the new scripts.

Continue reading

#GPPT Speeding Up Referencing Modifier Added Fields and staying Web Client compatible

David Meego - Click for blog homepageUsing the method discussed in the article #GPPT Referencing Modifier Added Fields in the Web Client using .Net Execute it was possible able to get past some of the limitations mentioned in the article Dynamics.Application Object not available on Web Client.

However, running the .Net (C# or VB.Net) code is slightly slower than running the Dexterity (sanScript) code. This article explains a method of how to improve Desktop Client performance while staying compatible with the Web Client.

Continue reading

#GPPT Referencing Modifier Added Fields in the Web Client using .Net Execute

David Meego - Click for blog homepageYou probably saw the recent article: Dynamics.Application Object not available on Web Client where I described an issue that was recently discovered and meant that the “Continuum” based triggers and scripts used to reference Modifier Added Fields in GP Power Tools – Developer Tools module were unable to work in the Web Client.

I mentioned a workaround that would function with the current GP Power Tools code when running on the Web Client (and Desktop Client). This article will show how you can use scripts in the .Net Execute Setup window to reference Modifier Added Fields.

Continue reading

#GPPT Disabling Manual Entry of SOP Number Field

David Meego - Click for blog homepageRecently on the GPUG Open Forum, Jeff Roe asked if it was possible to disable manual entry by users into the SOP Number field on the Sales Transaction Entry (SOP_Entry) window.

I suggested using GP Power Tools – Developer Tools module to create a quick trigger to lock or disable the field. As Jeff is already a GP Power Tools user and has the Developer Tools module registered, I created the required code and posted it on the forum thread. Here is a slightly more detailed version of the forum response.

Continue reading

#GPPT Reporting for Minnesota’s Wage Theft Law

David Meego - Click for blog homepageThis article is comes about thanks to my friend, Melissa Brown, who approached me for a solution to a reporting requirement she had for a customer due to new legislation brought in by the US state of Minnesota.

The requirement was not possible to solve with the Dynamics Report Writer alone as it involved an array in a table which prevented a static relationship from working to retrieve the data needed.

Continue reading

#GPPT Dexterity Samples for Datatype Conversions

David Meego - Click for blog homepageThe previous article: #GPPT Parsing Returned SQL Data into Rows and Columns had some examples of how to convert string representations of various datatypes back to their native datatypes.

With GP Power Tools, it is a common technique to store additional data in the DUOS (Dynamic User Object Store) table (SY90000). However, the DUOS uses a 132 character string field to store the data and so datatype conversions in both directions will be needed.

Continue reading

#GPPT Parsing Returned SQL Data into Rows and Columns

David Meego - Click for blog homepageWhen writing customizations using GP Power Tools as your development tool, there may be times where you need to return a SQL query as a data set to your Trigger Setup script or Runtime Execute Setup script.

It is possible to display a data set to the end user in a SQL Results window using the MBS_SQL_Results helper function. If you have “Goto” actions defined, the MBS_SQL_Results_Goto helper function will display the data and enable the SQL Goto functionality.

But what if we don’t want the data displayed to the user and just need to use the data in your code.

Continue reading

#GPPT Unknown Identifier Error when working against Modified windows

David Meego - Click for blog homepageDexterity is the native language of Microsoft Dynamics GP. It is an amazing development environment that is still the best and most powerful tool to integrate with the Dynamics GP User Interface. While Dexterity was originally developed in the late 1980’s, it has been continuously developed and extended with more and more features and functionality which allow it to handle everything needed for modern business applications AND still be completely backwards compatible to its original release.

However, Dexterity does have some limitations: It is a little bit more complex if you need to integrate with other third party dictionaries and it cannot work with modified windows. GP Power Tools extends Dexterity’s scripting capabilities to make it possible to easily work with multiple dictionaries and with modified windows.

Continue reading