Why you should care about Microsoft Dexterity

October 26, 2010

My new opinion column, IMHO with The Dynamics GP Blogster, has a new article: Why you should care about Microsoft Dexterity. In this article I take a historical perspective on software vendors and their tools environment and provide some arguments to customers and developers alike for keeping up the love for Dex. Hope you find this article interesting. Don’t forget to leave your comments either way.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/

Advertisements

Microsoft Dynamics GP 2010 map buttons not drilling down to the street level

October 25, 2010

If you use the map buttons in Microsoft Dynamics GP 2010, you may have noted that clicking on a map button next to an address Id opens up Bing Maps at the country view level.



Microsoft Dynamics GP 2010 and Bing Maps country view


This has been identified as a bug with Microsoft Dynamics GP 2010 — RTM and Service Pack 1 are affected. The bug is currently written up and hopefully in the queue for a fix.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/


Troubleshooting "General Error" when using Drill-Down Builder – Part 2

October 21, 2010

This article is part 2 of 2.

In my previous article on the same subject, I told you about the adventures of my friend, MVP Mark Polino and his attempt to get a better description to the error “General Error” when running a Drill-Down Builder in Excel and Outlook. Once followed the instructions outlined in the previous post, Mark was able to obtain what seems to be a less cryptic error message, as follows:

A general error has occured.A call to SSPI failed, see inner exception.

Server stack trace: 
   at System.ServiceModel.Channels.WindowsStreamSecurityUpgradeProvider.WindowsStreamSecurityUpgradeInitiator.OnInitiateUpgrade(Stream stream, SecurityMessageProperty& remoteSecurity)
   at System.ServiceModel.Channels.StreamSecurityUpgradeInitiatorBase.InitiateUpgrade(Stream stream)
   at System.ServiceModel.Channels.ConnectionUpgradeHelper.InitiateUpgrade(StreamUpgradeInitiator upgradeInitiator, IConnection& connection, ClientFramingDecoder decoder, IDefaultCommunicationTimeouts defaultTimeouts, TimeoutHelper& timeoutHelper)
   at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.SendPreamble(IConnection connection, ArraySegment`1 preamble, TimeoutHelper& timeoutHelper)
   at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.DuplexConnectionPoolHelper.AcceptPooledConnection(IConnection connection, TimeoutHelper& timeoutHelper)
   at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout)
   at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(ServiceChannel channel, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade)
   at System.ServiceModel.Channels.ServiceChannel.EnsureOpened(TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Microsoft.Dynamics.GP.ServiceIntegration.ProtocolHandler.DynamicsGPDrillBackService.IDrillBackToGP.CallAction(Uri uri)
   at Microsoft.Dynamics.GP.ServiceIntegration.ProtocolHandler.ProcessDrillBack.ProcessStart(Uri uriParameter)
   at Microsoft.Dynamics.GP.ServiceIntegration.ProtocolHandler.Program.LaunchApplicationByUri(Uri uri)
   at Microsoft.Dynamics.GP.ServiceIntegration.ProtocolHandler.Program.Main(String[] args)

System.ServiceModel.Security.SecurityNegotiationException

With this Inner Exception   at System.Net.Security.NegoState.ProcessAuthentication(LazyAsyncResult lazyResult)
   at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, ChannelBinding binding, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel)
   at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel)
   at System.ServiceModel.Channels.WindowsStreamSecurityUpgradeProvider.WindowsStreamSecurityUpgradeInitiator.OnInitiateUpgrade(Stream stream, SecurityMessageProperty& remoteSecurity)

System.Security.Authentication.AuthenticationException

Less cryptic? Perhaps, but nonetheless an error that pointed to a security authentication issue. Since the problem was authentication-related, it turned out that Mark was not connected to the domain. That’s it! There you have it! In order to be able to use the Drill-Down Builder with files that are going to reside on some network share or location, you must be authenticated into the domain. May sound like a no brainer, but try saying that when the only thing you have to go by is a “General Error” message. After establishing a VPN connection to the domain, everything returned to normal.

Note that even if you are joined into the domain, you may indeed receive this error if you have lost security access to the network share holding the connection information files.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/


Troubleshooting "General Error" when using Drill-Down Builder – Part 1

October 20, 2010

This article is part 1 of 2.

My good friend, MVP Mark Polino was recently working on a set of drill-downs to customer information in Microsoft Dynamics GP. The links worked perfectly from Microsoft Office Outlook and Microsoft Office Excel…until they stopped working suddenly, with the cryptic error “General Error“. That’s it! No other reference of any kind, no where to go from here.

Fortunately for him, there are some tricks of the trade — tricks of the trade because these can only be found in the notes of some developer — to produce a “better” error, and here are the steps:

1. Go to Program Files\Common Files\Microsoft Shared\Dexterity – If it is a 64-bit environment, you will need to go to Program Files (x86).

2. Rename the Microsoft.Dynamics.GP.ProtocolHandler.exe.config file that is there.

3. Launch Microsoft Dynamics GP and your Excel report.

4. Try the Drill-Down again. It will most likely still error, just more descriptive.

As it turns out, the standard config file looks something like this:


Microsoft.Dynamics.GP.ProtocolHandler.exe.config standard file content



The new file, after launching Microsoft Dynamics GP and attempting to run the Excel report, looks something like this (note the extra keys):



Microsoft.Dynamics.GP.ProtocolHandler.exe.config with extra keys for logging and error handling

We still have not resolved the issue. In part 2 we will look into more details and finally see what the problem was with this error.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/


IntelliSense for Dexterity… the gift that keeps on giving

October 14, 2010

Tim Gordon at Alpine Limited, continues to work very hard on DexSense, the first IntelliSense solution for Dexterity. Tim has just recently released DexSense 1.8 which now includes some astounishing performance enhancements.

You can find more information on the most recent version of DexSense by reading the release post:

DexSense 1.8 released

To get a full copy of DexSense, proceed to the product download page over at Alpine Limited:

DexSense Product Page

You can follow the evolution of IntelliSense for Dexterity by reading the following articles on both the Developing for Dynamics GP page and here at The Dynamics GP Blogster:

Dexterity and IntelliSense
Dexterity and IntelliSense – It’s time to vote!
IntelliSense for Dexterity – Ask and You Shall Receive @ Developing for Dynamics GP

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/


First edition of IMHO is up over at Community 2.0

October 12, 2010

I have been fortunate enough to be invited as a guest columnist on the new Microsoft Dynamics Community 2.0 site, also taking center spot on the Microsoft Dynamics GP home page. You will now be able to enjoy the new “In My Humble Opinion with The Dynamics GP Blogster Column”, simply IMHO. My new column will be focused on telling it as it is — or as I see it. Uncensored!


Microsoft Dynamics GP Home Page – IMHO



Hopefully, you will enjoy the very nature of this new column and if you have any complaints or you feel there’s anything I should be covering, I welcome the comments. After all, I want to be your voice for the things that are and are not right with either the product, or the channel.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/


Microsoft Dynamics Community 2.0 is now Up and Running!

October 7, 2010

A few months aback I blogged about some of the changes that the Microsoft Dynamics Community was undergoing — see Why the Phaseout of the Microsoft Dynamics Public Newsgroups Is a Good Thing. Now, the new Community site is live and the overhaul could not be any more apparent.

Take some time to review the release notes in the article Welcome to Microsoft Dynamics Community 2.0. Some of the new capabilities of Community 2.0 are: increased social networking capabilities with the ability to create and share profiles, Ask the Community, which is formerly known as the Community forum, but this version is on steroids as it allows for role-base searches and role-base content.

I really would like to take this opportunity to congratulate the Community team. It’s been over a year of long hours and incredible effort to make this happen, but more importantly, thanks for listening.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/