Dynamic Code Blocks

Microsoft Dynamics GP & .NET technical Blog by Tim Wappat

Partner Transaction Manager disabled remote eConnect Dynamics GP

"Partner Transaction Manager has disabled its support for remote/network transactions" error message in Microsoft Great Plains eConnect

Specifically talking about modern operating systems such as 2008/2012/Win7/Win8.

Specifically talking about eConnect version 11, for GP2010

Chill runs through your spine as you install eConnect and then try to run an eConnect document through from another machine.

This message is unusually accurate in describing the problem. eConnect uses DCOM to execute against a remote server and client using transactions, so they can be rolled back if things go wrong.

The DCOM layer introduces its own layer of security into the pot that has to be configured. Normally if eConnect is installed and an application or service uses it from the same machine to which it was installed, then everything works as expected. Move that application or service to another machine, then the above message is returned as an exception.

The following document describes solving this problem on windows 2003 server "Partner Transaction Manager has disabled its support for remote/network transactions" error message

On server 2012 things are different and this document failed. The following steps solved this issue for a particular install, I don’t know which step or combination of steps were actually required. I need to go back and undo one at a time to find that out

Go to Control Panel>>Administrative Tools>Component Services or type “com” into the windows server search box, select Component Services.

In the past there was, certainly for eConnect9 items under Computers>>MyComputer, for “eConnect9”. There no longer is any evidence of eConnect in the browser, I’m assuming the visibility flag on the COM application build have been set to hide from browsing.

Right click on the MyComputer node, select properties.

image

Select each in turn of the Edit buttons (four of them) on the COM Security Tab. Add to these security items, a group to which the user running the service (or app) belongs to. To that newly added group then tick allow for Remote Access. Follow that pattern through all the four button permission boxes.

image

Nothing else was changed on the other tabs.

RESTART Distributed Com Windows Service.

image

RESTART SQL Server may be required according to some documents, only do this if you have to.

This is where it gets odd. In 2003, the MSDTC tab had a Security Configuration Button, by clicking on that and allowing in abound and outbound and remote clients everything would come to life, on server 2012 this is missing. Argh.

Server 2003 with DTC security

image

Server 2012, no DTC settings

image

At 3am I was getting irritated by this!

Registry hack

Usual note: Only edit the registry if you know what you are doing!

The following document had the clue,

Enable Network Access Securely for MS DTC

image

So by changing the regstry settings it is possible to do what the old screen was doing.

So change the

Security\NetworkDtcAccess

Security\NetworkDtcAccessTransactions

Security\NetworkDtcAccessInbound

Security\NetworkDtcAccess

Security\ NetworkDtcAccessTransactions

Security\ NetworkDtcAccessOutbound

Security\NetworkDtcAccessClients

All above should be set to “1”

image

Restart the Distributed Transaction Service and SQL server if required and now eConnect will work with the application from a remote machine and I could get to bed!

This may be configured in the security policy wizard now, but I need to go check this out.

Solved having to click twice to drop a DataGridViewComboBox

The default behaviour of a drop down combobox in a datagridview is for it to require one click to activate it and another to actually drop it down.

Users can’t get this paradigm and so prefer for it to activate immediately on clicking anywhere on the cell. I have seen many solutions on Stackoverflow for this, but most require the arrow part of the cell to be clicked, not working if the user just clicks the cell in the middle. 

image

I found the following solution to work for me:

Private Sub DataGridView1_CellClick(sender As Object, e As DataGridViewCellEventArgs) _
Handles DataGridView1.CellClick
If (e.ColumnIndex > 0) And e.RowIndex <> -1 Then
With DirectCast(sender, DataGridView)
If .Columns(e.ColumnIndex).Name = "PalletType" Then
.CurrentCell = .Rows(e.RowIndex).Cells(e.ColumnIndex)
.BeginEdit(True)
DirectCast(.EditingControl, _
System.Windows.Forms.DataGridViewComboBoxEditingControl).DroppedDown = True
End If
End With
End If
End Sub

This makes certain the column is not a header cell, and only does it for the column with the name “PalletType”

I also have the DatagridView set to EditOnEnter for the Edit mode.

image

UPS Worldship 17, Zebra Label Creeping

Labels creeping by a few millimetres when printing multiple labels or feeding a label was resolved by resetting the printer to factory defaults.

The before and after config labels are below for my future reference.

A note of the Zebra label configuration for stopping the creep effect on the tear off position on UPS Worldship.

WorldShip Zebra Config

Dynamics GP–Auto SOP POP commitments

I’d wrongly assumed it to be possible to commit a single sales line qty to multiple purchase order lines until it is fully committed. Frustratingly it does not work this way.

  • Any single sales line may only be linked to one purchase order line
  • Multiple sales lines can be linked to a purchase order line

This came about when I was developing a SQL script to automatically create the links between sales and purchase orders. As we accumulate sales orders we aggregate them into purchase orders against our suppliers adding in replenishment stock and stock required for manufacturing at purchase order time.

Once all the purchase orders have been generated ideally I want to link up the sales orders using priorities we have identified.

I also discovered that when the units of measure differ between the purchase and sales orders, a link is not permitted. This is all pants.

WilloWare Inc. have done some work in this area. Looks like they have their own table with a few forms over it that also hook into GP at critical points.

A new SOP-POP Multi-Link module gives you the ability to link a PO Line to a partial quantity of a sales line; link multiple PO Lines to the same sales line so that as different purchase orders are placed, or as a single PO is partially received, quantities can be allocated to one or more sales lines.  Additional features include: Batch ID’s on sales orders are automatically changed when they are fulfilled by the receipt of a linked PO Line.  The new module will integrate into Binary Stream so that split documents maintain existing SOP-POP Links. http://www.willoware.com/custom/files/DS0068.pdf

As we use our own custom bespoke SOP item allocation service, it is possible that I can cook something up to do this properly with all the flexibility we need. First I’ll wait to see what pricing Willoware come back with.