Dynamics GP - SQL script to revert multiple bins into single bins

So you want to turn off multiple binning in Dynamics GP and need to record the multiple bin where the stock is held back into the basic single bin field against each location?

This script I just used to do that, it will pick the multiple bin with the most stock as the one to use for the single bin field. I would take a snapshot of the multiple bins table into excel, just for the record if performing this change (IV00112) and for future reference.

WITH CTE
AS (
SELECT ITEMNMBR
,LOCNCODE
,BIN
,ROW_NUMBER() OVER (
PARTITION BY ITEMNMBR
,LOCNCODE ORDER BY QUANTITY DESC
) RowSort
FROM iv00112
WHERE qtytype = 1
)
UPDATE IV00102
SET BINNMBR=BIN

--SELECT CTE.ITEMNMBR
-- ,CTE.LOCNCODE
-- ,BIN
-- ,BINNMBR
FROM CTE
JOIN IV00102 ON CTE.ITEMNMBR=IV00102.ITEMNMBR AND iv00102.LOCNCODE=CTE.LOCNCODE
WHERE RowSort = 1
AND BIN !=BINNMBR
 
Then, turn off multiple bins in the inventory setup window, and reconcile the inventory after doing so.

Uppercase in computer records–please no!

From time to time you encounter systems where the company style is to capitalise names in the system. I know of users who might as well glue the caps-lock on!

When to use a capital letter

If faced with the, we have always done it this way problem, fight it. Excuses come out like its for users with vision problems (there are magnifiers and system tools to help there), improves clarity for parcels going overseas to other cultures (I doubt it makes much difference in compter type, maybe for hand written?), etc.

Capitalisation is a lossy process

In the context of company names, street names, people names, the capitalisation can be important as it conveys information that is lost if it is presented in entirely uppercase. 
examples:

  • McKenzie vs MCKENZIE
  • O'Donnell vs O'DONNEL
  • MacBain VS MACBAIN

There are many others and in other cultures where the capitalisation conveys information that cannot be recovered again if lose, by the use of automated processing.

Mail Merge

It makes it look bad for mail merges later too

"Dear Mr ODONNEL

Thank you for your order."

Just looks bad.

Thus don’t shout at your customers with capitals, use your SHIFT keys!

Dynamics GP–Clicking “on order” in inventory enquiry shows blank empty with no purchase orders

Seen this from three users recently. The issue is that the user clicks the on order hyperlink text in item enquiry to see the purchase orders in Purchase Order Processing Item Enquiry, but nothing is shown in the window.

Purchase Order Processing Item Enquiry

Notice at the bottom it says processing. I assume that this window is trying to populate on another thread to keep it responsive and that thread is never returning the results?

Going to the GP process monitor in this example showed that it was clogged up with a posting process that was not budging.

Process Monitor

Once the user was cleared down, previous transaction level posting error dealt with and looked again, everything was working as expected.

I also have seen where doing this same thing but from a link I provide in another window, that calls the same enquiry window causes it to work. Weird! I can only think there might be two different methods being called, one with background and the other not? When I call it in my code I’m getting the foreground, when GP does it, it uses the background?

I’m guessing at all this, but thought it worth documenting the findings so far, I will come back to update this post if I find any root causes.

Visual Studio 2017 & Dynamics GP Addin Project Templates “install”

Now we have Visual Studio 2017 and again it is awesome! Drop what you are doing and start developing with it right now!

If you are a .NET Dynamics GP Addin developer you will find that the project templates are not available for Visual Studio 2017, at the time of writing this. See in the screen shot, only goes up to VS2015.

2017-07-14_09-46-00

I wrote a post on how to install them into Visual studio 2015 a while back, when the previous version of GP did not support that VS2015, but that method cannot be used anymore for Visual Studio 2017. This is because of a new method of discovery that Visual Studio uses for project templates. This has been implemented by Microsoft for Visual Studio 2017, using manifest files to point to the project templates. I’m guessing this is part of making Visual Studio more quick and to perhaps work with marketplace better.

You will also notice that the install directory for Visual Studio has moved into a Visual Studio subdirectory, I guess that makes things tidy & makes sitting different versions together easier? My location for Enterprise project directories is now:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ProjectTemplates

below you can see the .vstman manifest files that point to the templates.

2017-05-18_14-00-28

The directory structure of the templates has changed a little too, having a 1033 or similar folder holding them and a another manifest file, “Windows.VSTDIR” above each of those folders.

To make things simple I have added a Visual Studio Extension into the Visual Studio Marketplace that addresses this problem, see here for details.