I did a blog post a while back where I made available the functionality to force users to enter a Purchases Account on PO Lines when one didn't automatically default in. That was compiled with the VST for GP. Since, I've received several requests for the VBA source code to do the same. Finally, I've gotten around to posting that for you. You can download the .package file here.
I know there's a better way to do this other than using ADO to check for the presence of the account number but someone much smarter than I once said "if it works, it's the right way". I'm sticking with that here but would like to hear about the techniques other are using to do the same or similar customizations. Please comment and share.
This will only work on GP 10 and importing the package file will overwrite any existing VBA code behind POP Entry and POP Item Detail Entry. Thus, the reason why I prefer using the VST version in this situation.
The VBA Source for making the Purchases Account Required in PO Entry
Posted by MichaelJ2 on Wednesday, December 02, 2009 2 comments Links to this post
Labels: Purchase Order Processing, VBA, Visual Studio Toolkit
Avoid some GP Form Modifications with VSTools
I've been doing a lot of work with Visual Studio Tools lately and find myself migrating more towards that from VBA. VSTools is not a replacement for VBA but in some cases can prove to be a more effective tool.
Modifying a Form in GP is often a simple thing to do with few repercussions if planned and executed properly. One drawback to a form modification is that you have to upgrade the modified forms even when applying service packs. This makes the service pack application and upgrade processes slightly more cumbersome. Not a big deal but another step in the process that in some instances you might be able to avoid. Some of my existing clients are starting to request VSTools customizations over VBA partly for this reason.
While this isn't always applicable, you can't modify a GP Form with VSTools after all, you can sometimes leverage the VSTools .AddMenuHandler method in place of modifying a form in GP. You can find more information about the .AddMenuHandler on page 71 of the VSTDGPProgrammersGuide.pdf.
Here's an example of how to use the .AddMenuHandler method instead of modifying a GP Form:
Below is the code to add an Additional Menu Handler that when executed calls a function that will retrieve the next numeric Fixed Asset ID and populate the Asset ID in the Asset General Information Window.
Dim FANextNumericID As System.EventHandler
Sub Initialize() Implements IDexterityAddIn.Initialize
FANextNumericID = New System.EventHandler(AddressOf FAGetNextNumericID)
FixedAssets.Forms.FaGeneralMaintenance.AddMenuHandler(FANextNumericID, "Next Asset ID", "N")
End Sub
Now, in GP you can simply use the Ctrl-N hotkey or select Next Asset ID from the Additional Menu…
Posted by MichaelJ2 on Wednesday, September 30, 2009 1 comments Links to this post
Labels: Fixed Asset Management, Modifier, VBA, Visual Studio Toolkit
PO Purchases Account Required during PO Entry
After collaborating with another consultant to develop a solution to make the PO Line Purchase Account required during Purchases Order Entry I decide to make this available for general use "AS IS" with no warranties. You can download the .dll here. This has only been tested with GP v10.
This wasn't as simple as just making the field required with Modifier since the Purchasing Item Detail Entry window, on which the field is located, does not have to be loaded during PO Entry. We accomplished the same thing with VBA but decided that the Visual Studio Toolkit for GP was a better option. If you want the VBA code just shoot me an e-mail and I'll send that to you.
The customization works like this:
During PO Entry, before you lose focus from a PO Line for which a Purchases Account was not entered or for which there was not a default value the system will notify you accordingly and stop you from continuing.
This customization will open Purchasing Item Detail Entry and then prevent the window from being closed or the record from being saved until the Purchases Account field is populated.
It's pretty simple but there were a few challenges we had to overcome. Now, you don't have to! If you do use it or just check it out leave me a comment and let me know what you think.
Posted by MichaelJ2 on Monday, September 28, 2009 5 comments Links to this post
Labels: MJ Solution, Purchase Order Processing, VBA, Visual Studio Toolkit
Advanced RMA for GP is here!
... say "Yes". This will load the one table (DYNAMICS.dbo.mjRegistration) required for this addon. This table tracks registration information only. Otherwise, the add-on leverages Dynamics GP security, standard database objects, and standard business logic for processing.
User Instructions
1. From the "Additional" menu in RMA Entry/Update select "Advanced RMA Entry".
2. In Advanced RMA Entry, enter values into the filter fields; CustomerID, From Item Number, To Item Number, From Date (Invoice Document Date), and To Date (Invoice Document Date).
3. Click "Apply Filter" to display the list of SOP Invoice lines that meet the criteria you've entered. Any Serialized Lines that are already in inventory or on unreceived RMAs will automatically be filtered out of the results.
5. The RMA Qty will default to the Invoice Qty but can be edited for each line.
6. If a line had been previously partially or fully returned the user will be notified accordingly.
8. Finally, click "Create RMA" to create a new RMA using the RMA Interface values and SOP Lines selected in Advanced RMA Entry.
aRMA was built using the Visual Studio Toolkit for GP. I'll gladly share it with you if you want to try it out. Just e-mail your request to MichaelJ2@gmail.com.
Posted by MichaelJ2 on Wednesday, September 23, 2009 2 comments Links to this post
Labels: MJ Solution, RMA, Visual Studio Toolkit












