Lock PO Number Field in PO Entry

There are several reasons for GP Users to disable PO Number field in PO Entry, in order to not override the Next PO Number sequence in POP Setup.

And there are several methods and tools (Dex, VBA, etc) in accomplishing that. I have tried my bit in getting this functionality extended in PO Entry form.

Please find & download the chunk here: Disable PO Number in PO Entry

1. Version: 10.4.4
2. Name: PO Number Disable
3. Product ID: 1983
3. Dictionary: POD.DIC
4. Forms Dictionary: F1983.DIC
5. Reports Dictionary: R1983.DIC

1. Compatible GP Version: Dynamics GP 10.0 SP4

1. This chunk is not a part of Microsoft Dynamics GP Products. This is a Custom Chunk developed by me.
2. I will be more than happy to improve this based on Users Feedback, but I cannot assure that all feedbacks would be met immediately or within a desired time.
3. This particular functionality works only in PO Entry Form.
4. Test this once in your Test Environment before using it on your Live Environment.
5. Please make sure that you have read the Limitations section in this post completely and you have understood that.

1. Once user selects a PO Type (Standard, Blanket, etc) and bring the focus to PO Number field, this chunk will allow GP to generate the Next PO Number from the POP Setup.
2. Then it immediately locks the PO Number field.
3. Then it takes the focus back to Buyer ID field.
4. Once you save the PO, it again releases the field.

1. Since the PO Number field had to be locked from user changing the PO Number value, users won’t be able to enter any PO Number directly on the PO Number field.
2. For instance, if a user wants to open an existing PO Number which he/she knows readily and does not require a Lookup, this functionality may prevent them from entering that PO Number.
3. In a nutshell, to edit an existing PO, user must use PO Number Lookup at all times.

I will update this post with an upgraded chunk as and when a feedback is addressed. I will also update the link above by adding a Readme File explaining the removal of this product from GP Folder and Dynamics.set.



Solution to "File not found: VBA6.DLL" Error Message

The File Not Found: VBA6.DLL issue which I had explained in my previous post has got a solution.

Thanks to Japheth Nolt, who pointed me to this Partner Forum post.

The following are the steps to fix this issue, taken directly from Dynamics GP Partner Forum Post (Link To the Original Post: File Not Found: VBA6.dll):

Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base: 

1. Export all customizations to a .package file.

2. Close Microsoft Dynamics GP.

3. Make a backup of the system registry.

4. Change the following key in the system registry:


to have the path of this: C:\Program Files\Common Files\microsoft shared\VBA\VBA6\VBE6.dll

Note, if on a Windows 2008 Server R2 install the key was this: HKEY_CLASSES_ROOT\TypeLib\{000204EF-0000-0000-C000-000000000046}\4.1\9\win32

5. Delete all VBA files with a file size of 4KB.

6. Rename all VBA files with a file size greater than 4KB.

7. Start GP.

8. Open VBA editor.

9. Check the VBA reference to ensure the path is to the C:\Program Files\Common Files\microsoft shared\VBA\VBA6\VBE6.dll file.

10. Add a window and field to VBA and test the message box code.

11. Verify the message box works.

12. Import all customizations.

13. Verify more than one customization works.

Note, this has only been tested on an Office 32-bit installation. If you have an Office 64-bit installation, you will need to uninstall it and then install the 32-bit version. This will not affect Outlook user profiles.

What I did is the following:

1. I removed all the VBA files from GP Folder in my 32 Bit machine.

2. I performed the steps listed above from #1 to #4 (modifying the registry entry).

3. I launched GP and opened the VBA Editor, to make sure that the Visual Basic for Applications Reference is pointing to the path C:\Program Files\Common Files\microsoft shared\VBA\VBA6\VBE6.DLL.

4. Closed GP. Relaunched it.

5. Imported the VBA Customizations that were exported from 64 Bit machine.

6. My customizations started working.

IMPORTANT NOTE: You must re-reference any 3rd Party plugin references after importing the VBA Packages, in case these 3rd Party plugins sit in Program Files (x86) folder in 64 Bit machine.

Hope this is helpful for people who face this issue.


Editing VBA Code With Only Customization Site License – In Touch With Dynamics (GP)

Another informative and hidden tip from In Touch With Dynamics (GP) blog.

I myself got enlighten after reading this article: How to edit VBA when client only has Customization Site License.

I had never thought this was possible and it is.

Must read for all Dex/Modifier/VBA Developers out there.