Adding items to list boxes in native Dynamics GP forms using visual studio add-in

List boxes, Drop down lists, Combo Boxes can be added using modifier to Dynamics GP forms, but they are not supported for .NET access from visual studio addins.

List boxes

Combo box

For example, adding list items to list boxes and combo boxes in native GP forms is not supported via .NET,  Dexterity modifications must be used if this is the requirement.

Work around

When faced with this problem it can be better to force the user into a .NET form for the selection. This can be achieved by hiding or disabling (make read-only) the original list or combo box, placing an “update” button next to it or in place of it. Clicking that button then opens a .NET form that has a combo box or whatever control in it, thus allows the population and selection.  This is not a nice UI interaction for the user but is the best option I have found. This will not always be appropriate but best I can suggest.

If you want to live on the edge (and use unsupported techniques) read these:

David's talks about the general subject of list boxes and drop downs, gives you some background.

All About List Box button Drop lists and drop down lists

My (now quite old post), I add an item using VBA, but these days I'd do this by referencing the .NET Continuum COM library to allow .NET code in the Dynamics GP Visual Studio addin to pass SanScript through to the GP, the technique is shown in the third link, although applied to a different problem.

Copy Address Button implemented using VBA

more resources:

How to make the GP company login text boxes longer

Add Item to the List Box on an existing GP screen through VS Tools for GP

Best Warehouse Management and Barcode Solutions (WMS) for Microsoft Dynamics GP

Last updated: 08th August 2018

What do you mean by barcoding in the warehouse?

"is there a barcode solution for Microsoft Dynamics GP?", this is a common question found on Dynamics GP forums. Barcoding in a warehouse environment can span in complexity from simple data capture used to ease booking in goods or manage a stock room, to a full multi-site warehouse and logistics management system. There are solutions out there provided by software companies that cater for both ends of this spectrum and anywhere in between too. There is no Microsoft solution for this within "standard GP". 

To understand the concepts, an easy way to think about it is to consider a warehouse management (WMS) system as when you grow out of barcode scanning for simple data capture to the software also being 3D space aware and managing the process flows in the warehouse, such as restocking pick faces. A WMS will usually have a geographical map of the warehouses and the spaces inside those warehouses, existing down to the size and location of each bin. This allows for automation of where products are stored within that space. This geospatial awareness also allows for efficiently routed directed picks and put aways, as well as pick face replenishment in an efficient manner with staff directed around the optimal routes for a particular walk. It may be that a WMS may support other features such as wave picking, going far beyond simple data capture whereas simple data capture may not even support inventory picking or put away. 

There is a relatively new concept on the scene of voice picking, where the warehouse staff wear headsets and are vocally instructed what to pick and they must confirm back, by voice what and how many they have just picked. This keeps hands free thus preventing potential health & safety issues incurred whilst wrangling with handheld devices (or paper pick lists) and trying to lift boxes or sort through bins. Voice picking is also popular as it has been proven to increase pick accuracy and speed by a significant percentage. As this is still a specialism, those companies are listed separately below and would often integrate with a larger WMS system such as Savant.

So thinking about barcoding/voice picking, the first task is understanding what you want out of the proposed "barcoding solution", by understanding how deep into data capture and warehouse management you want to go, will help narrow down the choices when selecting an appropriate system. You also need to understand the technologies, do you need RFID tag readers, what format of barcodes need supporting (some industries have strange ones and 1D vs 2D etc). The speed hardware readers can be a real issue in the field. Cheap hardware, although tempting, can be slow to read or have a very reduced range to read barcodes. Both can be an issue in a warehouse environment, when a crate of hard one hundred drives need serial numbers scanning quickly in a batch, preferably without too much stooping over them to get close enough for a read. Too many times I know people buy cheap readers, and end up having to re-purchase for these reasons. Waiting a second or two between scans matters when trying to process any volume of product.

Think about if you have needs for support of manufacturing orders, some solutions offer special support for the slightly different needs of orders destined to fulfil the needs of internal production lines. 


Handheld devices are used to enter data, these can be dedicated hardened units designed for warehouse use or normal computer tablets fitted into sleds that provide the barcode scanners/RFID readers. Think if the system needs support for portable WiFi printers clipped to the belt of staff? This can help for fast labelling and make an individual into a personal walking workstation.

Hardware is a important consideration and can vary in cost and forms a major part of the original and ongoing cost of ownership. Spares such as, batteries, rugged cases, battery chargers, clips, readers are a consideration in harsh warehouse environment. Some companies are developing solutions using pro-sumer hardware like android tablets, but beware, this may be a false economy if they scan too slowly, burning up savings with the hardware with cost in person hours. They are often slow and fragile when in use with concrete floors, but not everyone has the harsh environments, so in say stock rooms, such lower cost solutions may achieve savings without compromise.

Some vendors are making software that runs in web browsers on the handheld devices that makes them more agnostic towards platform long as the device runs a modern browser, that in itself, on mobile device operating systems, may not be taken for granted!


Some of the WMS providers are really forward thinking and will host your WMS on servers in the cloud, thus taking the IT management task away. Providing the solution as a service has pros and cons. These are the same pros and cons as any other mission critical system hosted on the cloud, so not something worth covering in this blog post. Generally this will work by there being an agent (think windows service), sat monitoring your Microsoft GP for changes, syncing those changes to the cloud servers. The mobile barcode devices all also communicate with the cloud application service via WiFi.


Check the licence model. There will often by different levels of user required to run the system. Some users may be required to have higher licence costs than others. For example team leaders may require access to the application windows that allow control of the workflows and assignment of picks to pickers. Licenses are a minefield that I will let the reader investigate!


I am expecting warehouse management to go through another round of innovation with affordable software bots, virtual reality headsets, voice recognition, artificial intelligence, Internet of Things (IOT), improved display systems, robotics and augmented reality all having an impact as they become available to SME/SMB sized companies. 

List of barcode warehouse solutions for Dynamics GP

I have complied a list of the vendors that offer products that integrate with Dynamics GP, that offer barcoding, data capture, warehouse management & voice picking. The common pain points companies are trying to address when they first consider barcoding are often around the areas of; booking in, goods receipts, put away, picking and inventory stock takes and fixed asset tracking. All of the listed solutions should address the basic needs, however many fall short of being a "full-on" warehouse management system and only offer basic data capture, so check capabilities and ease of upgrade. Some systems can be migrated from data capture to warehouse management system within the same product lineage, other would involve migrating to a new solutions when it is outgrown.


Company Software name
Accellos AccellosOne
Albaspectrum Alba360 WMS
Appolis Inc WithoutWire
Asc Software Warehouse Management for Microsoft Dynamics GP
Blue Moon Blue Moon ISV
CalSoft CS WMS Star
Dynamics Innovations Dynamics GP Warehouse Management
Evincible Solutions Evincible Inventory Management System (EIMS)
Fascor Fascor WMS
FoxFire FoxFire WMS
KARE Technologies Visual Warehouse
Made4net WMS for Dynamics GP
Manhattan Associates Limited Warehouse Management
m-hance Advanced Data Capture
Panatrack inventory tracking and WMS for GP
SalesPad Data collection for GP
Savant Software Savant Software WMS
Sologlobe SOLOCHAIN Warehouse Management System for
Microsoft Dynamics GP
HighJump Supply Chain Network Solutions AUTOMATED DATA COLLECTION

Voice Picking Systems

Honeywell Vocollect
Voxware Voxware VMS


If you know of any other WMS or bar code solutions for Dynamics GP, then please feel free to contact me via the contact page and I will add them to the list.

How to check if MS SQL Server, Linked Server object is in use

Linked server objects allow one SQL server to connect to another at the database engine level. A connection is defined when creating the linked server, with credentials that should be used for that connection. As time passes, the challenge is knowing if that old linked server object is still being used by a report or script or import somewhere, as the original reason for its existence and person responsible may be long gone.

The quickest (not easiest) method to find dependencies on a linked server is to delete the linked server and wait for the phone to ring sometime over the next year. The person ranting on the other end will help you identify what it was used for. If the linked server was involved in a complex integration orchestration, or year/month end reporting, then the fall out from this maverick approach may not be pleasant to resolve nor may the call be in social hours... Instead carefully identify, then remove or correctly document the dependencies on the linked server object.

Here a few tips to help you find those dependencies:

Look for dependencies using SQL inbuilt dependency tracking

Using script from here List All Objects Using Linked Serverinvestigate any objects it returns.

referenced_Server_name As LinkedServerName,
referenced_schema_name AS LinkedServerSchema,
referenced_database_name AS LinkedServerDB,
referenced_entity_name As LinkedServerTable,
OBJECT_NAME (referencing_id) AS ObjectUsingLinkedServer
FROM sys.sql_expression_dependencies
WHERE referenced_database_name IS NOT NULL
And referenced_Server_name = 'Enter LinkedServerName here'

Script out objects

In built dependency checking does not work if the dependency is “hidden” in a dynamically generated (sp_executesql) SQL statement or SQL jobs or is used by SQL replication subscriptions etc. If you don’t trust the dependency script above or have older SQL server version, script out all your stored procedures, views, user defined functions, SQL jobs and any other SQL objects that might reference the linked server. Then perform a text search over all the resulting scripts for the linked server name. If you find the text, in turn identify if that object is still in use. If you use notepad++ or similar advanced text editor, they provide multiple file search with regular expression support. The regular expression support is handy if the linked server name is used in other parts of the database, allowing the search to be narrowed down to text patterns likely to be a linked server.  Also do a search on any source code for applications that may be developed against that database.

Use Sql Profiler

Run SQL server Profiler for a month against the target server (on a spare machine) to see if the linked server login name appears, this is the login name of the connection set up in the linked server configuration. I recommend a month as month end scripts or monthly maintenance scripts will be caught, however this won’t catch scripts or reports that are only ran at year end or once in a while. The trick here is to make certain you change the linked server connection to use a uniquely identifiable login name, that way it is possible to use the filter option in SQL profiler to only log events from that LoginName. Changing the login name has to be a considered move as it will change the security context and may thus affect rights to the destination server objects. These approaches all have down sides, but on less complex scenarios this technique works well.

Before deleing the linked server object

In SSMS, right click the object and script out the linked server. Put the resulting create script somewhere easy to find before deleting it, this way it will be quick to put it back again should an urgent need for it occur, say at year end months later. Having the create script helps get things running and buys you time to fix the offending referencing scripts, or document them correctly if it is decided they should exist after all.

Word Template reports format messed up when rendered to PDF Dynamics GP 2015

Dynamics GP2015 Word PDF Alignment wrong

After upgrade to GP2015 it was found the modified reports using Word Templates screwed up when sent to email as PDF.

Email embedded PDF reports from Dynamics GP messes up the formatting, resulting junk formatting.

After a week of investigation and following false leads around the email interaction interfering with formatting, no solution was found.

Then after trying and failing to compensate for the column widths being upset and failing, the solution ended up to be an installation of the version 14.00.095, applying the GP January Hotfix.

Showing GP login box with Version 14.00.0952 shown

Information for the hotfix can be found under this post on the GP blogs… Microsoft Dynamics GP January Hotfix....RELEASED

Dynamics Community logo

There is an example included on this post in the community forums: Alignment issues in PDF version of Word Templates