Reports Print With Overlapping Text

Microsoft Dynamics GPI had a curious one a few months ago (which I forgot to post). A client I was implementing Microsoft Dynamics GP for encountered a problem whenever they printed a report; all of the text was overlapping:

Overlapping text on report

If a document was printed from Microsoft Word it was fine; if a GP report as printed to XPS and then sent to the printer from there then it was also fine. It was just the reports printed directly from Microsoft Dynamics GP which had the overlapping text problem.

Doing some more testing I was able to narrow the problem down further, from thinking it was all GP reports, to only the text based reports. Not having seen this problem before I thought a quick online search might find me an answer.

And it did; I found an old post from David Musgrave on the Developing for Dynamics GP blog where he covers how to change the font used for Text reports.

By using the information in David’s post to update the settings in the dex.ini file I was able to resolve the problem.

I added the following lines to the dex.ini file on each client (and left notes with the client’s IT department so they could do this on any new installations):

FontCourier New=Lucida Console
Tolerance=-1
MinMilHeight=100

Stop Windows Server 2012 Server Manager Loading Automatically

Microsoft Dynamics 365 Business CentralWhen you log into Windows Server, the Server Manager opens automatically, but I rarely want to use it. In Windows Server 2008 R2 there was a checkbox on the main window which would allow you to dismiss the window and prevent it appearing again.

This option still exists in the Windows Server 2012 Server Manager, but it is no longer front and centre.

To prevent Server Manager loading automatically when logging into Windows, click Manage and then Server Manager Properties:

Server Manager

Continue reading “Stop Windows Server 2012 Server Manager Loading Automatically”

Integration Manager – Input String Was Not In A Correct Format

Microsoft Dynamics GPAfter installing Microsoft Dynamics GP in a new test system, I then installed Integration Manager and tried to run an integration to test.

After clicking the Run button the following message popped up:

Integration Manager: The destination could not be initialized due to the following problem: -Input string was not in a correct formatIntegration Manager: The destination could not be initialized due to the following problem: -Input string was not in a correct format

This error is typically one seen when Microsoft Dynamics GP is not running (I’ve seen it at a few clients running Citrix when they have Integration Manager running on one server and Microsoft Dynamics GP on another), but I had Microsoft Dynamics GP open in the background.

I quickly realised the problem; I had imported some modified reports into GP which contained VBA and to avoid an error I had right clicked and used Run as Administrator when starting Microsoft Dynamics GP, but had started Integration Manager normally.

This meant the two applications were running in different states and Integration Manager could not see Microsoft Dynamics GP.

To resolve the issue I closed Integration Manager and reopened it using the menu in Microsoft Dynamics GP (Microsoft Dynamics GP menu » Integrate » Integration Manager); this is the way I typically recommend clients open it in order to avoid this problem on Citrix XenApp or other ways of publishing applications.

Trust Relationship Between This Workstation And The Primary Domain Failed

Microsoft Dynamics 365 Business CentralThis perhaps isn’t the best time of the year to be posting about trust relationship breakdowns, but this is the only post I have ready to go (I have a couple of series of posts I intend to do soon).

I make quite a lot of use of virtual machines for testing and writing because of the flexibility and ease of taking a snapshot before doing something risky so the machine can be reset. After doing so one day, I ran into a problem I hadn’t seen before after restoring one virtual machine to a snapshot:

The trust relationship between this workstation and the primary domain failedThe trust relationship between this workstation and the primary domain failed

Continue reading “Trust Relationship Between This Workstation And The Primary Domain Failed”

File Not Found: VBA6.DLL

Microsoft Dynamics GPWhile VBA is falling out of favour with Microsoft Dynamics GP (by dint of not being supported in the web client) it is still useful for those clients who do not use, and have no intention of using, the web client.

One such client was recently installing some new XenAPp servers using Windows Server 2012; when they tried to open a window with a VBA customisation they received the following error:

File Not Found: VBA6.DLLFile Not Found: VBA6.DLL

Fortunately, Beth Gardner posted the answer to the Developing for Dynamics GP blog.

Cashbook Bank Management – Value Exists In The PM_Key_MSTR Table

Microsoft Dynamics GPA client had an odd error with the Cashbook Bank Management module the other day when trying to enter a deposit; the following was printed on the exception report when trying to post the transaction:

Value exists in the PM_Key_MSTR table

I did some digging around and found that the Next Voucher Number field in Payables Management Setup – Options (Microsoft Dynamics GP menu » Tools » Setup » Purchasing » Payables Setup) was blank.

I set a new value in the Next Voucher Number field and the deposit could be posted without problem.

Troubleshooting The Microsoft Dynamics GP 2013 SP2 Web Client: Web Management Console – Unable To Access SnapIn Config Data Store

Microsoft Dynamics GPThe final error I ave to post about for now following my scale-out deployment of the Microsoft Dynamics GP 2013 Web Client series is on a problem with the Web Management Console.

After logging into the Web Management Console the following error was displayed:

Unable to access SnapIn config data store. Home SnapIn will not be loaded

Show/Hide Error Message

Unable to access SnapIn config data store. Home SnapIn will not be loaded

Continue reading “Troubleshooting The Microsoft Dynamics GP 2013 SP2 Web Client: Web Management Console – Unable To Access SnapIn Config Data Store”

Troubleshooting The Microsoft Dynamics GP 2013 SP2 Web Client: Target Principle Name Is Incorrect

Microsoft Dynamics GPAs errors with a scale-out deployment of the Microsoft Dynamics GP 2013 Web Client go, the one covered in this post is not one that you are likely to encounter.

When I tried logging into the web client I received an unexpected error and went to the Windows Event Viewer on the Session Central for more details:

Event Viewer

Show/Hide Error Message

System.Data.SqlClient.SqlException (0x80131904): The target principal name is incorrect. Cannot generate SSPI context.
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TdsLogin(SqlLogin rec)
at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover)
at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout)
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection(IConnectionUser user)
at System.Data.Linq.SqlClient.SqlProvider.get_IsSqlCe()
at System.Data.Linq.SqlClient.SqlProvider.InitializeProviderMode()
at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
at System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable.GetEnumerator()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Microsoft.Dynamics.GP.Web.Services.Session.Service.SessionCentralBaseHandler.GetServiceSecurityGroups(String serviceName, ILinqDataContextProvider dataContext)
at Microsoft.Dynamics.GP.Web.Services.Session.Service.SessionCentralDatabaseHandler.GetServiceSecurityGroups(String serviceName)
at Microsoft.Dynamics.GP.Web.Services.Session.Service.SessionCentralService.InitializePrincipalManager()
ClientConnectionId:52267e4f-774d-452b-9361-00a407058a3a

Continue reading “Troubleshooting The Microsoft Dynamics GP 2013 SP2 Web Client: Target Principle Name Is Incorrect”

Troubleshooting The Microsoft Dynamics GP 2013 SP2 Web Client: Could Not Establish Trust Relationship

Microsoft Dynamics GPIf you do a scale-out deployment of the Microsoft Dynamics GP 2013 Web Client you may encounter trust relationship problems if you do not have the SSL certificates correctly installed:

Event Viewer

Show/Hide Error Message

An error occurred during session monitoring 'System.ServiceModel.Security.SecurityNegotiationException: Could not establish trust relationship for the SSL/TLS secure channel with authority 'sc1.domain.azurecurve.co.uk:48650'. ---> System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. ---> System.Security.AuthenticationException: The remote certificate is invalid according to the validation procedure.

Continue reading “Troubleshooting The Microsoft Dynamics GP 2013 SP2 Web Client: Could Not Establish Trust Relationship”

Troubleshooting The Microsoft Dynamics GP 2013 SP2 Web Client: No Endpoint Listening

Microsoft Dynamics GPWhile installing the scale-out deployment of the Microsoft Dynamics GP 2013 Web Client, I encountered an error which took me a lot longer than I liked to resolve:

IE - Unexpected error

Show/Hide Error Message

There was no endpoint listening at https://sc1.domain.azurecurve.co.uk:48650/SessioNCentralService that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. ---? Syste.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not propoerly respond after a period of time, or established connection failed because connected host has failed to respond: 198.252.71.316:48650

Continue reading “Troubleshooting The Microsoft Dynamics GP 2013 SP2 Web Client: No Endpoint Listening”