How to Set the Tab Sequence Order in Microsoft Dynamics GP Modifier

Microsoft Dynamics GPWhile created a new version of a customised window for a client (the old customised version was causing problems for submission to Workflow) I needed to change the tab order of the fields on the window; I’d removed quite a few fields and changed the positions of the remaining.

I couldn’t remember how to do this (I last remember doing this in Visual Studio where you can select a field and change the tab order directly) so a quick online search found me a blog from David Musgrave, originally on the old Developing for Dynamics GP blog and now on his Winthrop DC blog.

The short version is to click Layout » Set Tab Sequence and then tab through the fields, double-clicking a field to change the order:

Set Modifier tab order

When doing this make sure you tab through fields, even after double-clicking to change the order, or odd tab ordering will result.

David’s blog post has a lot more detail available on preparatory steps, steps to accomplish the reordering as well as cautions on what to be careful.

VBA Not Initialized Error

Microsoft Dynamics GPI seem to have spent a lot of time over the last few months building demo machines; I’m not sure I have, but it seems that way with the rapid release schedule that Microsoft Dynamics GP was on.

I’ve seen the below error message a few times when trying to import VBA customisations and have had to do an investigation each time as to what the problem was, before realising it was exactly the same problem again:

Microsoft Dynamics GP: VBA cannot be initialized. Cannot import this package because it contains VBA components.

Microsoft Dynamics GP

VBA cannot be initialized. Cannot import this package because it contains VBA components.

This post, is in an attempt to remind myself of what the error is without having to investigate.

The issue each time has been that the registration keys for Microsoft Dynamics GP have not been entered; VBA customisations cannot be imported if the Customisation Site Licence is not registered.

Once the keys are entered, the error goes away and the VBA customisations can be imported without further issue.

Customization Maintenance: “Unable to open customizations dictionary”

Microsoft Dynamics GPI ‘ve been involved in quite a few upgrades recently and have had a few issues arise. One of them was on one site after I had installed Microsoft Dynamics GP, the web client and web services and also Management Reporter.

I did some work to upgrade the customised forms and reports and then imported them through Customisation Maintenance (Microsoft Dynamics GP menu » Tools » Customisation » Customisation Maintenance). Or at least I tried to as I got an error with the SOP_Entry form:


Continue reading “Customization Maintenance: “Unable to open customizations dictionary””

Form Customisation Errors Adding Fields To VBA

Microsoft Dynamics GPSince the introduction of the web client in Microsoft Dynamics GP 2013, I have tried to minimise the use of VBA as it is not supported by the web client. However, some clients don’t intend to use the web client and prefer to have a quick customisation to a window done using VBA rather than full development in Dexterity.

As such, I do still sometimes get work with Modifier and VBA. I recently did a change to a client where I added several fields to VBA on the Sales Transaction Entry window.

A little later I needed to add a new checkbox and add it to VBA. I customised the window in Modifier to add the field, but when I tried adding it to VBA I received an error I had not seen before:

Microsoft Dynamics GP - You are manipulating a modified window whose EventMode is set to emOriginalOnly. You must change this window

Microsoft Dynamics GP

You are manipulating a modified window whose EventMode is set to EmOriginalOnly. You must change this window's EventMode to emModifiedOnly before you can add this field.

Continue reading “Form Customisation Errors Adding Fields To VBA”

Error 800AC351 While Saving Microsoft Dynamics GP

Microsoft Dynamics GPI was working onsite with a client during an upgrade of Microsoft Dynamics GP from version 10 to 2013 recently, and after doing some work on a client we started receiving an error when trying to log out..

The error we received was the following:

Microsoft Dynamics GP - Unknown error 0 - 800AC351 occurred saving the project fileMicrosoft Dynamics GP – Unknown error 0 – 800AC351 occurred saving the project file

After a little testing to see if we could easily determine the problem, I did a quick online search and came up with this post from Vaidy Mohan which was the same error, but for a different VBA project.

The steps I tried and found to be successful were slightly shorter and easier than those Vaidy needed:

  1. Launch GP and open the Visual Basic Editor
  2. Opened modified report in the Microsoft Dynamics GP VBA project
  3. Added and removed a space from the end of one line
  4. Compiled the entire project to check for errors
  5. Save VBA project
  6. Log off from GP

To verify the problem was resolved we closed and reopened Dynamics GP and didn’t see the error when closing it again.

Problem Adding Fields To VBA in Microsoft Dynamics GP 2013 R2

Microsoft Dynamics GPI had a colleague (actually the First Minion, Erebus) using Modifier with VBA to create a customisation of the Account Maintenance window (Financial area page » Cards » Account) in Dynamics GP 2013 R2 (for a client who does not and will not be using the web client). This customisation required a small number of fields and the save button to be added to VBA.

When he was adding the fields everything was fine, but as soon as he tried to add the save button the cursor changed to a standard one and did not allow the save button to be added. Microsoft Dynamics GP 2013 R2 saw the introduction of the action pane (or ribbon bar as I keep on calling it):

Account Maintenance action pane

Continue reading “Problem Adding Fields To VBA in Microsoft Dynamics GP 2013 R2”

File Not Found: VBA6.DLL

Microsoft Dynamics GPWhile VBA is falling out of favour with Microsoft Dynamics GP (by dint of not being supported in the web client) it is still useful for those clients who do not use, and have no intention of using, the web client.

One such client was recently installing some new XenAPp servers using Windows Server 2012; when they tried to open a window with a VBA customisation they received the following error:

File Not Found: VBA6.DLLFile Not Found: VBA6.DLL

Fortunately, Beth Gardner posted the answer to the Developing for Dynamics GP blog.

Review of Microsoft Dynamics GP 2013 Reporting by David Duncan and Christopher J Liley

Microsoft Dynamics GPI have received a copy of the newly published Microsoft Dynamics GP 2013 Reporting, by David Duncan and Chrisopher J Liley, from Packt Publishing to review. This is an update of a previous book the pair wrote for Microsoft Dynamics GP 2010:

Microsoft Dynamics GP 2013 Reporting

The book covers an extensive range of the reporting tools in, or available with, Microsoft Dynamics GP 2013:

  • SmartList Builder including Excel Report Builder
  • Report Writer and Word Templates
  • Reporting Services Reports
  • Analysis Cubes
  • Management Reporter

Continue reading “Review of Microsoft Dynamics GP 2013 Reporting by David Duncan and Christopher J Liley”

VBA Compile Error – Expected: expression

Microsoft Dynamics GPI realise that the use of VBA in modifications and customisations is something that needs to be carefully considered with Microsoft Dynamics GP 2013 including a Silverlight based Web Client which cannot use VBA. I had a requirement from a client for a modification to the Debtor Enquiry (Customer Inquiry to the Americans reading) to include the sum of the displayed transactions on the window and as this was a small client with GP installed locally on each PC there is no requirement for the web client, I felt able to perform this change using Modifier using some VBA.

I added the required fields to the VBA project but encountered an error message when writing the VBA code to concatenate the fields into the SQL statement I was going to use to get the data;

Microsoft Visual Basic: Compile error: Expected: expressionMicrosoft Visual Basic: Compile error: Expected: expression

Continue reading “VBA Compile Error – Expected: expression”

Review of Developing Microsoft Dynamics GP Business Applications – Part 1

Microsoft Dynamics GPAt the end of December, Developing Microsoft Dynamics GP Business Applications, written by Leslie Vail and published by Packt Publishing was released.

Developing Microsoft Dynamics GP Business Applications by Leslie Vail

I got a copy of the book in order to do a review and have decided to break the review down into multiple parts. The reason for this is that the book includes some practical examples which I have decided to do and then include the results of this in the review; after all if it is a book on developing how can you accurately review the book if you don’t use what you learn to build something?

The book is aimed at developers new to working with Microsoft Dynamics GP, so bear in mind that I am not a developer when reading my reviews. Quick synopsis of my background: I started my career as a trainee developer and moved through a variety of roles such as developer and support analyst before moving to my current position as consultant and project manager.

I oversee development teams working on additions or amendments to Microsoft Dynamics GP as well as personally undertaking some modifications using Report Writer or Modifier with VBA. So despite not being a developer, I am used to working with them and did, once upon a time, be one myself.

The first chapter of the book covers the Microsoft Dynamics GP Architecture from a high level perspective.

It covers the history of the GP interface from it’s origins with Great Plains Software, an overview of Dexterity and the development environment. There is a detailed explanation of the launch file (Dynamics.set), which included a couple of points of which I wasn’t aware, and the configuration/preferences file (Dex.ini).

The explanation of the Dex.ini file included the ExportOneLineBody switch which I didn’t know about, but for which I have an immediate use.

Leslie then goes on to explain about the structure of the tables in the SQL Database which always strikes newcomers as arcane and overly complex. Leslie explains this well with plenty of detail on both the structure, including both the physical and technical names, and how transactions move between tables as their state changes.

Chapter 1 wraps up with a detailed explanation of the UI covering how forms are constructed, how the scrolling windows work and the common buttons used on forms, scrolling windows and individual buttons.

The second chapter of the book focuses on the fundamentals of integrating applications with Microsoft Dynamics GP.

Continue reading “Review of Developing Microsoft Dynamics GP Business Applications – Part 1”