Implementing Fastpath’s Config AD: Introduction & Index

FastpathMicrosoft Dynamics GP has traditionally had it’s own log on which means for a user who’s day job is based within GP, they need to log into Windows and then log into GP.

If you are using the web client Microsoft Dynamics GP 2013 R2 saw the introduction of Identity Management – Login which will provide single sign-on functionality. However, for those using the desktop client the best that Dynamics GP has to offer is the Remember User and Password introduced in Dynamics GP 2010.

However, Dynamics GP has a thriving community surrounding it which includes many ISVs (Independent Software Vendors), one of which is called Fastpath; this company has developed an add-on for Dynamics GP called Config AD which makes single sign-on with Dynamics GP.

Typically my posts have all been around the Dynamics GP core product or the add-ons from Microsoft with only a small number of posts on products from other vendors. In this series of posts I am stepping outside of this area as I am going to cover the install, configuration and use of Fastpath’s Config AD. The index for this series is below and will expand as posts are made.

Click to show/hide the Implementing Fastpath's Config AD Series Index

Using SmartList Designer To Create Vendor EFT SmartList

Microsoft Dynamics GPOne of the really nice new features in Microsoft Dynamics GP 2013 SP2 is the SmartList Designer. This is, to an extent, a cut down replacement of SmartList Builder, which includes much, although not all, of the functionality and is more user friendly.

It also affords the opportunity to all clients to create a report which has long been missing from Microsoft Dynamics GP; a Vendor EFT SmartList which shows the EFT details against the Vendor Remit To Address.

In this post I am going to step through the process of creating this report.

To start, open SmartList (Microsoft Dynamics GP menu » SmartList) and you will see two new buttons at the left of the toolbar; New and Modify (ringed in red):

SmartList

Continue reading “Using SmartList Designer To Create Vendor EFT SmartList”

Microsoft Dynamics GP 2013 R2 Coming Soon

Microsoft Dynamics GPThe next version of Microsoft Dynamics GP, 2013 R2, is going to be released soon. I can hardly wait, but, unfortunately, I have to 🙁

The Dynamics GP Support and Services Blog have posted an article today outlining their intended blog post schedule where they are going to run through the upgrade process and all of the new features which are due in the coming version.

  • April 29 – Lifecycle
  • May 1 – Upgrade Planning
  • May 6 – Known Upgrade Issues
  • May 8 – Version Checks & Upgrades
  • May 13 – Database Upgrade
  • May 15 – Modified Dictionary Upgrade
  • May 20 – Upgrade Troubleshooting
  • May 22 – GP is upgraded – what’s next?
  • May 27 – Upgrading Web Client
  • May 29 – Tables Changes in R2 – Review the SDK
  • June 3 – Identity Management
  • June 4 – Azure Backups
  • June 5 – New Workflow
  • June 10 – Requisition Management
  • June 11 – OLE Document Attach
  • June 12 – Human Resource Time Entry
  • June 17 – Project Accounting Time Entry
  • June 18 – General Ledger
  • June 19 – Payables Management
  • June 24 – Receivables Management
  • June 25 – Bank Reconciliation
  • June 26 – Analytical Accounting
  • July 1 – Fixed Assets
  • July 2 – Sales Order Processing
  • July 3 – Inventory Control
  • July 8 – Purchase Order Processing/Encumbrance Management
  • July 9 – Email or Print any report in Word
  • July 10 – SmartList Designer 2.0
  • July 15 – Office 365
  • July 16 –Take Company Offline
  • July 17 – Ribbons in Desktop

Integration Manager Bank Transaction – Unimplemented Cast From Btype ‘BROWSETYPE_UNKNOWN’

Microsoft Dynamics GPI’ve been configuring an integration in Integration Manager for a client recently to assist with an Intercompany Bank Reconciliation process. When we started discussing the integration I had taken a quick look at the sample Bank Transaction integration which ships with Integration Manager and had no problem.

As the project progressed and I created the Bank Transaction integration on the client’s server I encountered the below error:

Intercompany Bank Transfer - Transaction Progress

Show/Hide Error Message

Integration Log
Integration: Intercompany Bank Transfer - Transaction (ID: 66)
Action: None
Start Time: 25/02/2014 14:36:53

  25/02/2014 14:36:58 Source: IIntegrationEngine_Run, Status Code: 0    Opening source query...
  25/02/2014 14:36:59 Source: IIntegrationEngine_Run, Status Code: 0    Establishing source record count...
  25/02/2014 14:36:59 Source: IIntegrationEngine_Run, Status Code: 0    Beginning integration...
1:  GBP  Insert Failed 2. Seconds 
    DOC 1 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
2:  GBP  Insert Failed 0. Seconds 
    DOC 2 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
3:  GBP  Insert Failed 0. Seconds 
    DOC 3 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
4:  GBP  Insert Failed 0. Seconds 
    DOC 4 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
5:  GBP  Insert Failed 0. Seconds 
    DOC 5 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
6:  GBP  Insert Failed 0. Seconds 
    DOC 6 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
7:  GBP  Insert Failed 0. Seconds 
    DOC 7 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
8:  GBP  Insert Failed 0. Seconds 
    DOC 8 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
9:  GBP  Insert Failed 0. Seconds 
    DOC 9 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
10:  GBP  Insert Failed 0. Seconds 
    DOC 10 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
11:  GBP  Insert Failed 0. Seconds 
    DOC 11 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
12:  GBP  Insert Failed 0. Seconds 
    DOC 12 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
13:  GBP  Insert Failed 0. Seconds 
    DOC 13 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
14:  GBP  Insert Failed 0. Seconds 
    DOC 14 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
15:  GBP  Insert Failed 0. Seconds 
    DOC 15 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
16:  GBP  Insert Failed 0. Seconds 
    DOC 16 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
17:  GBP  Insert Failed 0. Seconds 
    DOC 17 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
18:  GBP  Insert Failed 0. Seconds 
    DOC 18 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
19:  GBP  Insert Failed 0. Seconds 
    DOC 19 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
20:  GBP  Insert Failed 0. Seconds 
    DOC 20 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
21:  GBP  Insert Failed 0. Seconds 
    DOC 21 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
22:  GBP  Insert Failed 0. Seconds 
    DOC 22 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
23:  GBP  Insert Failed 0. Seconds 
    DOC 23 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
24:  GBP  Insert Failed 0. Seconds 
    DOC 24 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
25:  GBP  Insert Failed 0. Seconds 
    DOC 25 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
26:  GBP  Insert Failed 0. Seconds 
    DOC 26 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
27:  GBP  Insert Failed 0. Seconds 
    DOC 27 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
28:  GBP  Insert Failed 0. Seconds 
    DOC 28 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
29:  GBP  Insert Failed 0. Seconds 
    DOC 29 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
30:  GBP  Insert Failed 0. Seconds 
    DOC 30 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
31:  GBP  Insert Failed 0. Seconds 
    DOC 31 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
32:  GBP  Insert Failed 0. Seconds 
    DOC 32 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
33:  GBP  Insert Failed 0. Seconds 
    DOC 33 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
34:  GBP  Insert Failed 0. Seconds 
    DOC 34 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
35:  GBP  Insert Failed 0. Seconds 
    DOC 35 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
36:  GBP  Insert Failed 0. Seconds 
    DOC 36 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
37:  GBP  Insert Failed 0. Seconds 
    DOC 37 ERROR: Unimplemented cast from Btype 'BROWSETYPE_UNKNOWN'
  25/02/2014 14:37:12 Source: FinishIntegration, Status Code: 3    Integration Failed
  25/02/2014 14:37:12 Source: FinishIntegration, Status Code: 3    Integration Results
    37 documents were read from the source query.
    37 documents were attempted:
        0 integrated without warnings.
        0 integrated with warnings.
        37 failed to integrate.

Finish Time: 25/02/2014 14:37:12

Source Total: 37
Successfully Integrated: 0
Integrated With Warning: 0
Failed: 37

Completion Status: Completed
Integration Status: No Documents Succeeded

I fiddled around without being able to identify a cause of the problem and, while I was doing this, found that the 37 transactions in the file had actually integrated despite the error message (an error in IM usually means the transaction or line will not be successfully integrated).

I brought a copy of the Integration Manager back to my test system and ran it on there and all of the files integrated without error.

The difference between my test system and the client’s system is that I have Microsoft Dynamics GP 2013 Service Pack 2 while the client is still on Service Pack 1.

In the medium term we will be upgrading the clients system to service pack 2, but in the meantime we’ll need to make do with increasing the number of permitted errors and accepting that an error will be displayed even as the transaction is integrated.

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”

Troubleshooting The Microsoft Dynamics GP 2013 SP2 Web Client: Unauthorized attempt to call the GetSessionHostWithMostAvailability Operation On Session Central

Microsoft Dynamics GPI recently completed a series of posts on a scale-out deployment the Microsoft Dynamics GP 2013 Web Client; during the course of writing that series I encountered a few problems, which I thought it might be useful to post.

This first post takes a look at an error I received after installation. When I tried to log into the Web Client I received the below error message:

IE - Unexpected error

Show/Hide Error Message

Unexpected Error
An unexpected error has occurred. Press the Sign-in button to reconnect to the application.
Correlation ID: 66a9ddaa-4288-4535-affb-2a3ec0b072d3

Continue reading “Troubleshooting The Microsoft Dynamics GP 2013 SP2 Web Client: Unauthorized attempt to call the GetSessionHostWithMostAvailability Operation On Session Central”

Microsoft Dynamics GP 2013 SP2 Web Client Scale-Out Deployment: Series Index

Microsoft Dynamics GPI’ve been working on a series of posts on a Microsoft DynamicsGP 2013 web client scale-out deployment and it has turned out to be a very long series of posts.

Each post has contained an index at the bottom, but I thought it might be useful to follow up the series with a special Index post Continue reading “Microsoft Dynamics GP 2013 SP2 Web Client Scale-Out Deployment: Series Index”