I’ve been doing some work recently on upgrading some Dexterity code to work with Microsoft Dynamics GP 2016 (both the RTM and R2). After compiling the new dictionary, I started Microsoft Dynamics GP and as the home page was loading got the following error:
I was working on upgrading some Dexterity code a little while ago and encountered a problem in the code. I tried to enter debug mode and received a message that Utilities for the custom dictionary needed to be run:
I spent a little while looking into why this was happening and found a few posts saying to copy the Dex.ini file into a Data folder in the dictionary location, but this had no effect.
Instead the Dex.ini file should be copied into a
%ProgramFiles(x86)%\Microsoft Dexterity\Dex 16.0
Once the Dex.ini file had been copied into the installation folder of Dexterity, I was able to enter debug mode without further issue.
A recent project for a client was done using C# which requires the assembly to be registered using a different command. I am posting this here as a reminder to myself next time I need to do this.
When you register the assembly, you may receive a warning message about registering unsigned assemblies using the /codebase switch which is intended only with signed assemblies. If you trust the origin of the assembly then you can safely register the assembly and ignore the warning.
To register the .NET DLL, open a command prompt and type the following (the highlighted section is the name of the assembly being registered):
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\regasm.exe reportprinter.dll /codebase
To unregister a .NET DLL type the following:
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\regasm.exe reportprinter.dll /unregister
The highlighted section is the dll being registered or unregistered.
Part of the theme was a sidebar posts archive which I quite liked the look of and have now extracted and turned into a WordPress plugin so I can use it on any site (including this one):
Check out the archive in action in the sidebar to the right below the Calendar and above the Tag Cloud.
I am thinking about releasing it via the WordPress Plugins Directory, but before doing so, wondered if anyone might be interested in doing some beta testing? It is a very easy install (upload to plugins folder, activate and then place widget in widget area) and currently has no options although I am willing to create some if necessary (such as the ability to change the display name).
The plugin only reads the number of posts and does not write back to the database so there is no risk.
If you’re interested in beta testing get in touch with me (by email if you have it or use the Contact page) and I’ll send you a download link (I’m not posting publicly as I want to keep numbers under control while it gets tested).
I’ve recently started taking a look at Leslie Vail’s book, Developing Business Applications for Microsoft Dynamics GP which was published in December by Packt Publishing. The book was written using Microsoft Dynamics GP 2010; this is not a criticism as the book will have taken a fair time to write and was published two days after Microsoft Dynamics GP 2013 was released so there wasn’t time to do an update to the latest version.
However, Microsoft Dynamics GP 2013 was available I’ve decided to perform the practical examples using this version rather than GP 2010 because I had just finished building a customisation environment with GP 2013 installed in it and I could easily add Dexterity and the other tools used in the book to the environment.
As I was following the steps in Chapter 3 of the book, which is an introduction to Dexterity, where common errors and issues encountered in Microsoft Dynamics GP 2010 and how to resolve them are explained, I came across an error which was specific to Microsoft Dynamics GP 2013;
As I mentioned in a previous post, I’ve been taking a look at the Visual Studio Tools for Microsoft Dynamics GP. I started creating a form to store some additional details against a Creditor but wanted the form available in a similar way to the Creditor Addresses; available from both the Creditor form and from the Cards menu.
Getting the form to display a menu option on the Additional tab of the Creditor window was easy enough but I had trouble finding out how to make it display on the Cards menu.
After struggling with it for a while, I remembered reading a discussion between Mariano Gomez and David Musgrave about long module names and how Visual Studio Tools for Microsoft Dynamics GP 2010 wasn’t the longest but instead Menus for Visual Studio Tools for Microsoft Dynamics GP 2010 was the longest.
A quick search found the module, in the very obvious location, of David Musgrave’s Developing for Dynamics GP blog; Menus for Visual Studio Tools Build 9 Released which can be downloaded from either PartnerSource (login required) or CustomerSource (login required).
The module comes with full instructions on how to install and use it.
Back in the early years of my career, before I became involved with Microsoft Dynamics GP, I was a trainee developer (admittedly on PICK Databasic) before moving on and learning a little VB6 and then into Microsoft Dynamics GP consultancy.
I’ve kept my hand in enough that I can still do some coding and last weekend, after chatting with a developer in the office who is creating some new screens for GP, I decided to have a little dabble with the Visual Studio Tools for Microsoft Dynamics GP myself. Continue reading “Error During Build in Visual Studio Tools For Microsoft Dynamics GP”
I did some digging around the company database looking for the correct way to get the next Journal Entry number and found a function called glGetNextJournalEntry.
A little work and I was able to supply the following to the developer for him to wrap into a stored procedure to get the Journal Entry number and make sure there were no issues in GP;
DECLARE @l_tINCheckWORKFiles tinyint = 1
DECLARE @I_iSQLSessionID int = USER_SID()
DECLARE @O_tOUTOK tinyint
DECLARE @IO_iOUTJournalEntry int = 1
DECLARE @O_iErrorState int
SELECT @IO_iOUTJournalEntry AS 'NJRNLENT', @O_tOUTOK AS 'OUTOK', @O_iErrorState AS 'ERROR'