Well, this year was quite the year in the Microsoft Dynamics GP world! Everything from partner readiness training events for Microsoft Dynamics GP 2013 Web Client around the US., to Convergence in New Orleans from which I happened to walk away with a severe case of pinkeye (side note: what was it with that city? I heard of more than 100 people attending the Conference walking away ill with anything ranging from stomach flues, to fever, to pinkeye, to...well you get the point), to the actual launch of Microsoft Dynamics GP 2013 and the web client, to the Microsoft Dynamics GP Technical Airlift in Fargo, ND, to the GPUG Summit in Tampa, to the MVP Global Summit in Seattle which counted for the first time with Microsoft Dynamics GP content. Who could also forget the release of the Business Analyzer Windows Store app and the marathon of features released with Microsoft Dynamics GP 2013 SP2, forcing my dear friend Pam Misialek to write another set of Feature of the Day articles.
Wow! Just going through it all makes me tired since I attended all, but the Tech Airlift. Not to mention, I delivered Web Client training to partners in South America on behalf of Microsoft which took me to Chile and Venezuela and put on a 6-city Dexterity training roadshow on behalf of my company, IntellPartners.
By the time you read this article, I will have written a collective 71 articles for this year (I know, right! What a slacker, considering last year I ended with 101 articles), posted over 5000 replies to forums, accumulated over 30 virtual badges of some sort, and participated in over 30 projects with customers and partners.
However, what I always seem to come back to is you! You the reader is really what keeps me going. You come to this site from all corners of this world. Some of you I have met in person at the very same events I mentioned above. Some of you are my clients, some of you are partners looking for answers. Some of you simply find this site by accident through an unrelated search and somehow you manage to come back for some strange reason, but hey, I am not complaining! To all of you a big THANK YOU! So without further dues, here are the articles you liked the most this year (in no particular order):
1. Microsoft Dynamics GP on Windows Azure. Who knew so many of you were interested in Azure hosting. In this article I went through the process of provisioning all the way to installing Microsoft Dynamics GP web client in a Windows Azure environment - not without the snags. I have to say I learned a lot in the process and may be revisiting this very same topic next year.
2. Microsoft Dynamics Convergence 2013 New Orleans. This Convergence was the biggest yet with tons of product launches and customers success stories. It was also special for me as I participated for the first time in the Microsoft Dynamics GP General Session event.
3. Unable to Access Snap-In Config Data Store. Tell you what... So many people wrote me to thank me for a solution to this problem. HTTP Activation, will never forget that... ever!
4. Troubleshooting the Microsoft Dynamics GP 2013 Web Client. After Convergence, everyone came back pumped up wanting to tackle Web Client, if only to test drive it. However, it wasn't without it's difficulties, so this was the reason to write this series.
5. How to Reset Business Analyzer Settings. Playing with BA certainly forced a lot of you to think about how to reset the app settings as opposed to install and uninstall each time. Thank goodness we found an answer together.
6. SmartList Designer. With the launch of GP 2013 SP2 came SmartList Designer which had a lot of you SmartList Builder fans freaking out. I think it's clear by now that SmartList Builder rules the world of build your own, but you cannot negate the fact that SmartList needed a little face lift and that Designer is a nice addition to it.
7. Rendering WinForms in Microsoft Dynamics GP Web Client. GP 2013 SP2 also had some nice surprises for developers, like the ability to render your WinForms in the Web Client. This certainly alleviated some of the heartaches suffered by many ISVs after the first announcements went out in 2012 that WC would not support form-based VST customizations.
8. GPUG Summit 2013. It seems that most of you enjoy my traveling experiences around conferences. Interestingly enough, I get more visitors to my blog when I relate inside conference experiences than when I do articles on other topics. The GPUG event wasn't any different, especially knowing that it was in the beautiful city of Tampa.
9. How to display parent company information on SOP documents. Not sure if you liked this one because you were having an issue or because it was done using the Support Debugging Tool. Whatever your reasons, you expressed liking the elegance of the solution. All fine by me ;-)
10. Microsoft MVP Global Summit 2013. The MVP Summit drew your attention just as much as any other conference I had blogged about. Frankly, it was a unique experience which I hope I can get back to in the upcoming 2014. Also love the fact that it was moved to nice time of the year (as in less cold!).
Not sure what 2014 writing will look like. However, quite a bit of events are coming to this site: Microsoft Dynamics Convergence 2014 in Atlanta, Georgia (register now); GPUG Summit 2014 in St. Louis, Missouri. The bottom line, I can't wait to fill you in with my experiences and hopefully some insight into product development (within what I can disclose).
So let's get ready for 2014 and keep up the readership!
Thursday, December 26, 2013
Monday, December 23, 2013
Merry Christmas from my Family to Yours!
Well, I'm writing this article thinking about all the things that happened in my life throughout this year and I have to say, some events have been extremely good, others, well, not so good. However, whatever curve balls life throws at you makes you appreciate it a bit more for what it is. In the end, I have my family around, people who cares about us, and a good following out there that makes The Dynamics GP Blogster one of the top resources in the Microsoft Dynamics GP community. My wife Marina Dzyura Gomez and our children cannot thank you enough for your support and your readership.
So whether you celebrate Christmas or not, or you simply observe a time of peace and quiet, or you simply have to keep working like me, I wanted to take this opportunity to wish you a Merry Christmas and wish upon you and yours the true meaning of peace of this special time of the year.
One of my favorite old time artists is Perry Como. I leave you with what I believe is the best interpretation of The Christmas Song.
Until next post!
MG.-
Mariano Gomez, MVP
IntellPartners, LLC
http://www.IntellPartners.com/
![]() |
Marina Dzyura Gomez and Mariano Gomez |
So whether you celebrate Christmas or not, or you simply observe a time of peace and quiet, or you simply have to keep working like me, I wanted to take this opportunity to wish you a Merry Christmas and wish upon you and yours the true meaning of peace of this special time of the year.
One of my favorite old time artists is Perry Como. I leave you with what I believe is the best interpretation of The Christmas Song.
Until next post!
MG.-
Mariano Gomez, MVP
IntellPartners, LLC
http://www.IntellPartners.com/
Wednesday, December 11, 2013
Web Client Wednesday - The Lingo
Microsoft Dynamics GP 2013 web client introduces new terms beyond your traditional "Launch File" and "Settings File", and though these two terms still exist, the list has just got a bit longer. Most of the terms in this list identify web client architecture components. Other terms simply identify technology stack elements. However, familiarity with all these terms, components, and their relationships is a must if you are a technical/implementation consultant or IT director looking to understand what is going to take to deploy the environment.
Active Directory Certificate Services
Certificate Authority
Certificate Store
Dynamic Form Rendering
Fiddler Trace
GPWeb
HTTP Activation
HTTPS Binding
Last Heatbeat
Multi-tenancy
Named System Database
NETSH
Potential Sessions Remaining
Rendering Engine
Runtime Service
Security Token
Self-Signed Certificate
Session Central Service
Session Host
Session Management Proxy Service
Session Monitor
Session Service
Silverlight
Silverlight App
Silverlight Canvas
Silverlight Certificates
Silverlight Snap-In
SSL Certificate
Tenant Discovery Service
Tenant Management Proxy Service
Tenant Management Service
TrustedApp msi
Web Client Diagnostics
Web Client Runtime
Web Management Console
Wildcard Certificate
WCF Endpoint
WCF Service
Here's a list of resources that deal with all these terms and what they mean:
Dynamics GP 2013 Web Client Infrastructure Overview, Aaron Donat @ Developing for Dynamics GP
Microsoft Dynamics GP Web Client and Silverlight Security Requirements, Aaron Donat @ Developing for Dynamics GP
Active Directory Certificate Services, TechNet
What is Windows Communication Foundation?, MSDN
Dynamic Form Rendering, Mariano Gomez @ The Dynamics GP Blogster
Fiddler Web Debugging Proxy, Eric Lawrence
What is SSL Certificates?, GlobalSign (GMO Internet Group)
Using the Named System Database Feature for Microsoft Dynamics GP 2013, Aaron Donat @ Developing for Dynamics GP
Silverlight, Microsoft
How to Setup SSL on IIS?, Microsoft
Troubleshooting the Microsoft Dynamics GP 2013 Web Client - Part 7, Mariano Gomez @ The Dynamics GP Blogster
Hope you find this information useful.
Until next post!
MG.-
Mariano Gomez, MVP
IntellPartners, LLC
http://www.IntellPartners.com/
Active Directory Certificate Services
Certificate Authority
Certificate Store
Dynamic Form Rendering
Fiddler Trace
GPWeb
HTTP Activation
HTTPS Binding
Last Heatbeat
Multi-tenancy
Named System Database
NETSH
Potential Sessions Remaining
Rendering Engine
Runtime Service
Security Token
Self-Signed Certificate
Session Central Service
Session Host
Session Management Proxy Service
Session Monitor
Session Service
Silverlight
Silverlight App
Silverlight Canvas
Silverlight Certificates
Silverlight Snap-In
SSL Certificate
Tenant Discovery Service
Tenant Management Proxy Service
Tenant Management Service
TrustedApp msi
Web Client Diagnostics
Web Client Runtime
Web Management Console
Wildcard Certificate
WCF Endpoint
WCF Service
Here's a list of resources that deal with all these terms and what they mean:
Dynamics GP 2013 Web Client Infrastructure Overview, Aaron Donat @ Developing for Dynamics GP
Microsoft Dynamics GP Web Client and Silverlight Security Requirements, Aaron Donat @ Developing for Dynamics GP
Active Directory Certificate Services, TechNet
What is Windows Communication Foundation?, MSDN
Dynamic Form Rendering, Mariano Gomez @ The Dynamics GP Blogster
Fiddler Web Debugging Proxy, Eric Lawrence
What is SSL Certificates?, GlobalSign (GMO Internet Group)
Using the Named System Database Feature for Microsoft Dynamics GP 2013, Aaron Donat @ Developing for Dynamics GP
Silverlight, Microsoft
How to Setup SSL on IIS?, Microsoft
Troubleshooting the Microsoft Dynamics GP 2013 Web Client - Part 7, Mariano Gomez @ The Dynamics GP Blogster
Hope you find this information useful.
Until next post!
MG.-
Mariano Gomez, MVP
IntellPartners, LLC
http://www.IntellPartners.com/
Thursday, December 5, 2013
Visual Studio Tools for Microsoft Dynamics GP 2013 and Microsoft Visual Studio 2013
A few weeks aback I talked about Updating your Visual Studio Tools for web client development environment and soon after I started receiving numerous emails from developers wanting to know if they could leverage the current Visual Studio Tools 2013 SP2 (VST) templates with Visual Studio 2013. As of yet, Microsoft has not released Microsoft Dynamics GP Add-In and Microsoft Dynamics GP Web Client Add-In templates for Visual Studio 2013, but with the help of my good friend Michael Hammond, Sr. Engineering Lead at Microsoft I have instructions on how to move the current Visual Studio 2012 templates to Visual Studio 2013
1. Locate the current VST templates folders under your Microsoft Visual Studio 2012 program files folder. These can usually be found as follows:
Visual C# templates folders
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplates\CSharp\Dynamics GP
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\1033
*The latter folder contains the zip file items associated with the project's Add | New Item.. action in Visual Studio, giving access to Microsoft Dynamics GP Form and Microsoft Dynamics GP Silverlight Window.
Visual Basic templates folders
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplates\VisualBasic\Dynamics GP
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\VisualBasic\1033
*The latter folder contains the zip file items associated with the project's Add | New Item.. action in Visual Studio, giving access to Microsoft Dynamics GP Form and Microsoft Dynamics GP Silverlight Window.
2. Copy and paste the Dynamics GP folder from under the above folders to their corresponding Microsoft Visual Studio 2013 program files folder. These are consequently found at:
Visual C# templates folder
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp\1033
Visual Basic templates folder
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\VisualBasic
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\VisualBasic\1033
3. Configure Microsoft Visual Studio 2013 to recognize the templates. Start a Command Prompt as an administrator and change directories to C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE. Once in the directory, you can type the following command to setup the Visual Studio 2013 environment:
The setup process should take no more than a couple minutes. Once you finish, you can launch Visual Studio 2013 and click to create a project using the Dynamics GP templates installed.
Now, the beauty of all this is I can focus on my Windows Store applications without losing track of my Dynamics GP apps - the beauty of having everything under one roof.
Until next post!
MG.-
Mariano Gomez, MVP
IntellPartners, LLC
http://www.IntellPartners.com/
1. Locate the current VST templates folders under your Microsoft Visual Studio 2012 program files folder. These can usually be found as follows:
Visual C# templates folders
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplates\CSharp\Dynamics GP
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\1033
*The latter folder contains the zip file items associated with the project's Add | New Item.. action in Visual Studio, giving access to Microsoft Dynamics GP Form and Microsoft Dynamics GP Silverlight Window.
Visual Basic templates folders
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplates\VisualBasic\Dynamics GP
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\VisualBasic\1033
*The latter folder contains the zip file items associated with the project's Add | New Item.. action in Visual Studio, giving access to Microsoft Dynamics GP Form and Microsoft Dynamics GP Silverlight Window.
2. Copy and paste the Dynamics GP folder from under the above folders to their corresponding Microsoft Visual Studio 2013 program files folder. These are consequently found at:
Visual C# templates folder
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp\1033
Visual Basic templates folder
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\VisualBasic
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\VisualBasic\1033
3. Configure Microsoft Visual Studio 2013 to recognize the templates. Start a Command Prompt as an administrator and change directories to C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE. Once in the directory, you can type the following command to setup the Visual Studio 2013 environment:
![]() |
Command Prompt |
The setup process should take no more than a couple minutes. Once you finish, you can launch Visual Studio 2013 and click to create a project using the Dynamics GP templates installed.
![]() |
Visual Studio 2013 with Dynamics GP templates |
Until next post!
MG.-
Mariano Gomez, MVP
IntellPartners, LLC
http://www.IntellPartners.com/
Wednesday, December 4, 2013
Web Client Wednesday: Microsoft Dynamics GP on Azure
Back in February of this year, I did a full walk-through of Microsoft Dynamics GP 2013 deployment on Windows Azure. I realized that one of the things that make it hard for partners and customers to determine whether to use the Windows Azure platform for hosting their Microsoft Dynamics GP solution is the scattered information regarding (application) features that are supported on the platform. In fact, did you know that even if you are not running Microsoft Dynamics GP 2013, you can still take advantage of Windows Azure to host other versions of Microsoft Dynamics GP? You can always run the desktop client with Remote Desktop Services (RDS) to accomplish this.
So, the objective of this article is to go over the Microsoft Dynamics GP components that are supported on the Windows Azure platform, which can be categorized into features that are Fully Supported and features requiring RDS licensing.
Full Support
These are features that are internet facing (accessed via a browser) from the Windows Azure platform, without requiring much interaction with the desktop client.
- Web Client
- Web Services
- Business Portal
- Workflow (limited Dynamics GP desktop client use)
- Management Reporter Web Viewer feature
- Tenant Services
- SQL Server Reporting Services Reports
RDS Licensing
These are features that you will access via a remote desktop connection and is no different than your traditional Terminal Services or Citrix experience.
- Microsoft Dynamics GP desktop client
- eConnect (determined by consuming application)
- Integration Manager
- Management Reporter Report Designer and Viewer
- Excel Reports
- Analysis Cubes
As you can tell, Windows Azure presents a great opportunity for those of you trying to leverage a world class data center. In addition, Azure allows connectivity to your LAN via its virtual network infrastructure. You can try it out free for 30 days by visiting http://www.windowsazure.com. All you need is a Microsoft Account (formerly Windows Live ID) to get started.
If you need a walk-through, please feel free to add your comment to this post with information on how to reach you.
For more info on RDS licensing, take a look at RDS Solution for Dynamics GP on Azure over at Inside Microsoft Dynamics GP.
Until next post!
MG.-
Mariano Gomez, MVP
IntellPartners, LLC
http://www.IntellPartners.com/
Monday, November 25, 2013
Running Windows 8.x Business Analyzer app on a laptop with SQL Reporting Services
If you are a consultant, chances are you run your Microsoft Dynamics GP application demo environment on a laptop along with Microsoft SQL Server and SQL Server Reporting Services. This is all good, because it saves you from having to deal with virtual machine images in most cases.
I also happen to be running all my application demo environment components on a Microsoft Windows 8.1 machine which gives me the opportunity to showcase the new Business Analyzer app.
Traditionally, when you try to connect Business Analyzer to SSRS on a Windows 8.x machine, the setup would go into a tail spin and you would end up with a "Cannot connect to server" error.
By default, Windows 8 Modern UI Applications are forbidden to send network traffic to the local Computer. This is, Windows Store apps requiring network access are not automatically capable of communicating with a server application when both are running on the same machine - in this case Business Analyzer requires network access to communicate to SQL Server Reporting Services. This is also known as loopback.
Implementations of the Internet Protocol Suite include a virtual network interface through which network application clients and servers can communicate when running on the same machine. It is implemented entirely within the operating system's networking software and passes no packets to any network interface controller. Any traffic that a computer program sends to a loopback IP address is simply and immediately passed back up the network software stack as if it had been received from another device.
There are a few ways to enable loopback in Windows 8.x:
Method 1. Fiddler
In Fiddler, you can use the AppContainer Loopback Exemption Utility, available by clicking the Win8 Config option on the toolbar.
You may remember Fiddler from my article Troubleshooting the Microsoft Dynamics GP Web Client - Part 5, Tools for Troubleshooting Web Client Issues.
Method 2. CheckNetIsolation.exe
The CheckNetIsolation.exe tool is a command line tool available with Windows 8.x. In order to run the tool, you will need to access the Command Prompt. For more information on CheckNetIsolation, take a look at the following MSDN article:
MSDN - How to enable loopback and troubleshoot network isolation (Windows Store apps)
Of course, I found Fiddler a lot easier to use as all you have to do is point and click the Business Analyzer application and that's it. However, I do believe in testing various tools and see how the options work.
Until next post!
MG.-
Mariano Gomez, MVP
IntellPartners, LLC
http://www.IntellPartners.com/
I also happen to be running all my application demo environment components on a Microsoft Windows 8.1 machine which gives me the opportunity to showcase the new Business Analyzer app.
![]() |
Business Analyzer app on Windows 8.1 |
By default, Windows 8 Modern UI Applications are forbidden to send network traffic to the local Computer. This is, Windows Store apps requiring network access are not automatically capable of communicating with a server application when both are running on the same machine - in this case Business Analyzer requires network access to communicate to SQL Server Reporting Services. This is also known as loopback.
Implementations of the Internet Protocol Suite include a virtual network interface through which network application clients and servers can communicate when running on the same machine. It is implemented entirely within the operating system's networking software and passes no packets to any network interface controller. Any traffic that a computer program sends to a loopback IP address is simply and immediately passed back up the network software stack as if it had been received from another device.
There are a few ways to enable loopback in Windows 8.x:
Method 1. Fiddler
In Fiddler, you can use the AppContainer Loopback Exemption Utility, available by clicking the Win8 Config option on the toolbar.
![]() |
AppContainer Loopback Exemption Utility |
Method 2. CheckNetIsolation.exe
The CheckNetIsolation.exe tool is a command line tool available with Windows 8.x. In order to run the tool, you will need to access the Command Prompt. For more information on CheckNetIsolation, take a look at the following MSDN article:
MSDN - How to enable loopback and troubleshoot network isolation (Windows Store apps)
Of course, I found Fiddler a lot easier to use as all you have to do is point and click the Business Analyzer application and that's it. However, I do believe in testing various tools and see how the options work.
Until next post!
MG.-
Mariano Gomez, MVP
IntellPartners, LLC
http://www.IntellPartners.com/
Friday, November 22, 2013
Microsoft MVP Global Summit 2013 November: Day 3
Wednesday, November 20
The Microsoft MVP Global Summit is come to an end, but I am going to finish up the series and as usual wrap up with some thoughts.
Frankly, today I woke up dragging feet a bit. It's been 2 grueling days of intense sessions with a lot of material to absorb. Since I am leaving on Thursday with the 1:15 PM flight back to Atlanta, I figured I would pack the day with a bunch of sessions I am interested in. And so, I attended the following sessions:
BR078 - DevDay1: What’s Next for the Visual Studio IDE?
BR519 - SQL Session 11-EN: Hidden Gems in SQL Server 2014
BR296 - SQL Session 12-BI: Applications on SSIM Platform
Again, I cannot really disclose much of the content I gather from these sessions, but suffice to say the future of Visual Studio looks great and you can start seeing some of the UX
As for SQL Server, you should be looking into some of the content already being delivered by Microsoft in SQL Server 2014 CTP2 and especially its new In-memory OLTP feature.
As with all Microsoft events, it was time to start closing the curtains and this year, the MVP Summit party was being held at the Seattle Aquarium. The Aquarium opened in 1977 and located on Pier 59 on the Elliott Bay waterfront in Seattle surrounded by one of the most amazing city skyline views in the United States.
Upon entering the building, it was impossible to miss the big fish tank accessorized by a reflection of the Microsoft MVP logo.
![]() |
Projected MVP Logo above the fish tank |
![]() |
MVPs at the Seattle Aquarium |
![]() |
Seattle Ferris Wheel |
![]() |
MVPs Ronni Haakon Hegelung (C# - Denmark), Gus Gonzalez (CRM - USA), Tanguy Touzard (CRM - France) |
It was time to get back to the hotel to pack and get some rest. I won't be attending any of the Thursday morning sessions so this was it for me.
There will be no wrap up post to this series so here are my final thoughts about the MVP Global Summit:
1. This was my first ever MVP Summit and it's good to see that other individuals from around the world share the same (or probably even more sometimes) passion I have for helping the technical communities of users and partners. Some fellow MVPs spend countless hours on forum activities, presentations at events, and their day jobs that it always begs the question from others: what time do you guys find to do all this stuff?
2. I have new appreciation for doing presentations. I used to think that delivering presentations to the community was hard enough. Wait until you ever have to deliver a presentation to a room full of extremely smart people who do actually work with the products you build. So kudos to all Microsoft Program Managers for taking the time to put up with us over the past few days.
3. It's hard to coordinate an event this large and the MVP Award Program did an excellent job at making sure buses and staff were well prepared for this one. I am sure there may been a few hitches here and there, but if they were, I sure was not aware of any.
Until next post!
MG.-
Mariano Gomez, MVP
IntellPartners, LLC
http://www.IntellPartners.com/
Wednesday, November 20, 2013
Microsoft MVP Global Summit 2013 November: Day 2
Tuesday, November 19
This day is very significant for us, Microsoft Dynamics GP MVP. For the first time, the MVP Global Summit features Microsoft Dynamics GP content.
I had a late start today. I believe I am starting to slow down. The previous day proved very hectic and tiring, displacing between buildings. However, I was at the Microsoft Conference Center early this morning to begin the day. On my way to the registration desk with Leslie and John, I saw this guy which I can only qualify as the Leslie Vail of the MVP world. He sure looked the part.
![]() |
Just some morning fun |
But what else could get your day going, if not Clippy, the former Office Assistant? Clippy happened to be running up and down the corridors of Building 33 greeting and cheering MVPs in attendance.
![]() |
Clippy |
BR133 - Dynamics GP on Azure
BR134 - Dynamics GP: DexNext
BR135 - Dynamics GP: Office 365 Integration
BR132 - Dynamics GP: Web Client Extensibility
This content was mostly covered at the last Microsoft Dynamics GP 2013 Technical Airlift in Fargo so not much was under NDA. Our review covered most of the Azure infrastructure setup and requirements to support an RDP or Web Client deployment.
Mike dove into the DexNext service architecture and what it meant for the future of Dexterity and Microsoft Dynamics GP, and how the service architecture is comparable to that of the current web client. Daryl covered the Office 365 integration considerations and gotchas for a smooth deployment of Microsoft Dynamics GP on prem or in the cloud. Finally, there were some hardcore, deep dive into Web Client extensibility and the current supported integration methods with Visual Studio Tools. I covered a sample of this in my article VST: Rendering WinForms in Microsoft Dynamics GP web client.
After a long day, it was time for dinner. All product groups would have a night out at The Commons with their respective MVP groups. Our assigned location was Spitfire Grill.
![]() |
Spitfire Grill at Microsoft Commons |
![]() |
Daryl Anderson, Leslie Vail and John Lowther |
![]() |
Mike Hammond, Leslie Vail, and Jivtesh Singh |
![]() |
The Dynamics GP MVPs sign the board designating our spot at Spitfire |
Until next post!
MG.-
Mariano Gomez, MVP
IntellPartners, LLC
http://www.IntellPartners.com/
Tuesday, November 19, 2013
Microsoft MVP Global Summit 2013 November: Day 1
Monday, November 18
Seattle has some rain in store for us this week and it did not disappoint. The morning started with a hearty continental buffet over here at the Hilton Bellevue hotel where MVPs were clearly gearing up for the long day ahead.
![]() |
MVPs heading over to MSCC |
After wrapping up, I headed over the Microsoft Conference Center in Building 33 to begin my Monday sessions. First up was BR404 - What's New in Windows Azure AD presented by Vittorio Bertocci, Principal Program Manager in the Windows Azure Active Directory team in charge of the Developer Experience. I was fascinated by the upcoming improvements
Following the BR404 session, I headed over to building 122 to attend the rest of the sessions on my agenda for the day:
BR286 - SQL Session 2-ALL: Information Management and Data Stewardship
BR287 - SQL Session 3-BI: Under the hood of Power BI
BR288 - SQL Session 4-BI: PowerBI IT Admin Experience
While I can't comment on the details of the sessions, these mostly focused on upcoming functionality in the Power Query and Power BI stack of self-service BI applications for on-premise and cloud data. These sessions went into the architecture, concepts, and some practical use cases illustrating the capabilities of the stack and some challenges surrounding the development process.
On the way out for some fresh air between sessions, I saw a few MVPs at the Tech Link center. Microsoft Information Technology (Microsoft IT) Tech Link centers provide Microsoft employees and vendors with a walk-in location where they receive face-to-face troubleshooting support from the Microsoft IT group's (MSIT) personnel.
![]() |
Tech Link Center |
![]() |
Alain Lord, and Vlad Catrinescu |
At the Hyatt, I met up with Microsoft Dynamics GP MVPs Leslie Vail and John Lowther. Leslie had just arrived into town so we went straight to the registration desk to get her set up. Following her registration, we all headed over to the Microsoft Store at Bellevue Square to take advantage of our MVP-only Microsoft Surface 2 offer.
Back at the Hyatt, it was time for some R&R and socializing.
![]() |
MVP Reception at Grand Ballroom |
![]() |
Dynamics MVPs Meeting of the Minds Joris de Gruyter (AX), Murray Fife (AX), Jose Antonio Estevan (AX), Jivtesh Singh (GP), Belinda Allen (GP), and Leslie Vail (GP) |
The group got even larger after Dynamics AX MVPs Andre Arnaud de Calavon (Netherlands) and Tommy Skaue (Norway) showed up - both returning from the Microsoft Store. Between product trash talk, jokes, laughs, and at times, some deep technical discussions, the night went by pretty quick, so it was time to return to my hotel.
On the way out, I caught up with my MVP Lead, Melissa Travers, who gracefully accepted my request for a picture. MVP Leads are our direct connection to Microsoft and they keep each one of us MVPs plugged into Microsoft organization, product news, and MVP activities overall. They are an important part in making the MVP Award Program a success.
![]() |
MVP Lead Melissa Travers and I for a selfie |
Tomorrow is a special day here at the MVP Global Summit: for the first time ever, the Microsoft Dynamics GP Product Management team and their MVPs will have an entire day of product group interactions (breakout sessions) featuring Microsoft Dynamics GP NDA content. Fargo has sent two of its best too: Michael Hammond and Daryl Anderson who will be hosting the sessions.
Until next post!
MG.-
Mariano Gomez, MVP
IntellPartners, LLC
http://www.IntellPartners.com/
Monday, November 18, 2013
Microsoft MVP Global Summit 2013 November: Getting Here
Sunday, November 17
This week finds me in the beautiful city of Seattle, Washington, partaking in my first Microsoft MVP Global Summit The MVP Global Summit is a multi-day event that is hosted in Bellevue and at Microsoft headquarters in Redmond, Washington. With a large catalog of technical sessions and a variety of networking opportunities, the MVP Global Summit enables MVPs to connect with other MVPs, build relationships with Microsoft product managers, and provide feedback on Microsoft products and technologies.
My day started with a fairly quiet travel between the cities of Atlanta, GA and Seattle, WA. Arriving into Seattle-Tacoma International Airport was its usual self around this time of the year: cloudy, cold, and misty.
![]() |
View of the Port of Seattle |
Following registration, Jivtesh, Belinda, and I directed our attention to the MVP Showcase, an expo-style event on Sunday afternoon that showcases the work of a select group of MVPs and their impact on technical communities around the world, and being held in the Grand Ballroom.
![]() |
MVP Showcase |
![]() |
Dynamics GP MVPs Jivtesh Singh (Australia) and Belinda Allen (USA), Dynamics AX MVP André Arnaud de Calavon (Netherlands) |
![]() |
MVP Belinda Allen and I |
We then moved on to a Jeopardy style game where we would spin a roulette with various Office product lines and answer a question based on the outcome on the roulette. Funny to see so many non-Office MVPs striking out on these "trivia" questions.
![]() |
Who wants to play? |
![]() |
Who's next? |
Back at the hotel, it was time to check on the goodies collected so far. It is always good to plan some extra space in the suitcase to take home all the stuff you collect at these events.
![]() |
Summit jacket, geek shirt, and Duet for Microsoft Office and SAP hat |
![]() |
MVP water bottle, Microsoft Surface Touch Cover, and Microsoft Office Project clear briefcase |
Until next post!
MG.-
Mariano Gomez, MVP
IntellPartners, LLC
http://www.IntellPartners.com/
How to Display Parent Company Information on SOP documents
A few days aback I encountered a really interesting discussion on the Microsoft Dynamics GP Community forum where the user needed to get the parent customer information on the SOP Blank Invoice Form. I asked myself, "Well, how difficult can that be?"
The first thought around these requests is, you create a table relationship between the Sales Transaction Work (SOP_HDR_WORK) table and the RM Customer Master (RM_Customer_MSTR) table by Customer Number and you get the parent customer ID. In that train of thought you immediately realize that there's no way to alias the RM Customer Master table back into the table relationship to retrieve the parent customer ID information. [NOTE TO SELF: this would be a cool Report Writer feature, but I digress.]
Of course, a second alternative is to use VBA, but many customers and partners are wary of implementing a VBA solution, especially when they are considering upgrading to Microsoft Dynamics GP 2013 and taking advantage of the web client. VBA customizations simply do not work with the web client.
As I thought through an alternative, I quickly realized this would be a good fit for the Support Debugging Tool and it's awesome Runtime Execute feature. As it turns out, the Support Debugging Tool is capable of executing Dexterity sanScript code within the context of any dictionary, but not only that; it provides some really cool templates that save time and minimizes the amount of code an entry level developer needs to create to accomplish a solution. In turn, there are a number of Report Writer API scripts built into the Dynamics application dictionary (DYNAMICS.DIC) to allow third party developers to expose data from their tables onto an existing Microsoft Dynamics GP report without having to write a complex interface to do so.
The Solution
1. The first task at hand is to open the Runtime Execute window in the Support Debugging Tool. Once the window is open, click on the Helper button to open the Insert Helper Function window. From the drop-down list, select template for rw_TableHeaderString.
Below is the signature for the function as we will use it.
The rw_TableHeaderString function
We will use this function to return a string value for the selected Parent Customer ID information field to a Report Writer calculated field.
By clicking OK, the Support Debugging Tool inserts the code to get us started in the right direction.
Very cool! All that's left now is to add the extra bits of code to retrieve the parent customer information from the RM Customer Master. In addition, we need to make sure that this code executes in the context of the Microsoft Dynamics GP product.
The template function even indicates where our code should be inserted and as you can see this is easy stuff for any entry level Dex developer. All we did here was use the MBS_Number local field as the parameter value that will contain our parent customer ID (to be passed from Report Writer) to get the piece of data we are interested in based on the value that we will supply to the MBS_Control local field (again, from Report Writer). The returned table value will then be stored in the MBS_TableHeaderString local field.
The Support Debugging Tool then goes to action and call its MBS_Param_Set API function to talk back to the Report Writer API script and deliver the values retrieved to it. Isn't this awesome!
2. The second part of our solution consists of 3 parts really: a) we need to create a table relationship between the Sales Transaction Work table and the RM Customer Master table as this relationship does not exist out of the box, b) We then need to create calculated fields for the pieces of Parent Customer data we would like to retrieve, and c) We need to complete the layout and grant security to the modified report.
I will assume for this article that you are familiar with the processes of creating new table relationships in Report Writer and laying out the new calculated fields and granting security to the modified report. You can always browse the Report Writer manual accompanying your Microsoft Dynamics GP application for information of these processes, so my attention will focus solely on the calculated field.
In this example, I want to retrieve the parent customer name. For this we will create a new calculated field as follows:
a) Create a new calculated field, in this case I will call it (A) Parent Name. The result type of the calculation will be a String and the expression type is Calculated.
b) Since we are using the rw_TableHeaderString user-defined function, we will choose this accordingly:
c) Now we have to setup the parameters as indicated by the function signature above. The first parameter we will add is the Support Debugging Tool's dictionary ID, 5261. We will add this as an integer constant.
d) Now we have to call the Runtime Execute script we created, GETPARENTINFO. We will add this as a string constant.
e) We now need to pass the parent customer number parameter, our default (not used) parameter, and the value number for the field that will be retrieved for the parent customer data, according to how we coded our script above. This is shown below.
The RM_Customer_MSTR.Corporate Customer Number field is retrieved from the RM Customer Master table which we created via a new table relationship and subsequently adding that table relationship to our report.
The following shows a muck-up of the report layout with the parent customer name calculated field created:
The report should display something like this when run in Microsoft Dynamics GP:
Final Notes
The above script could be extended to retrieve other pieces of data for our parent customer, like contact, address, city, state, zip, phone numbers, etc. In this case you will need to add more entries to the case...end case statement above and retrieve the correct table column. You can find more information on the table columns for the RM Customer Master in the Microsoft Dynamics GP software development kit (SDK).
This solution is absolutely compatible with Word Templates and the Web Client. In the case of Word Templates, you will need to export a new report definition file (XML) and import into your template fields. In the case of the Web Client, all the components above are within the confines of a Dexterity application and the Support Debugging Tool happens to be compatible with the Web Client, just as much as Report Writer is. Your modified report should render absolutely fine on the Silverlight canvas control, if printing the standard report.
For all workstations to take advantage of the Runtime Execute script, the Support Debugging Tool must be deployed with the recommended configuration - all workstations pointing to a centralized configuration file, debugger.xml.
The Support Debugging Tool never ceases to amaze me. You can find similar article to this one and more information here:
The Dynamics GP Blogster - Adding Customer Item User Defined Field to SOP Invoice
Until next post!
MG.-
Mariano Gomez, MVP
IntellPartners, LLC
http://www.IntellPartners.com/
The first thought around these requests is, you create a table relationship between the Sales Transaction Work (SOP_HDR_WORK) table and the RM Customer Master (RM_Customer_MSTR) table by Customer Number and you get the parent customer ID. In that train of thought you immediately realize that there's no way to alias the RM Customer Master table back into the table relationship to retrieve the parent customer ID information. [NOTE TO SELF: this would be a cool Report Writer feature, but I digress.]
Of course, a second alternative is to use VBA, but many customers and partners are wary of implementing a VBA solution, especially when they are considering upgrading to Microsoft Dynamics GP 2013 and taking advantage of the web client. VBA customizations simply do not work with the web client.
As I thought through an alternative, I quickly realized this would be a good fit for the Support Debugging Tool and it's awesome Runtime Execute feature. As it turns out, the Support Debugging Tool is capable of executing Dexterity sanScript code within the context of any dictionary, but not only that; it provides some really cool templates that save time and minimizes the amount of code an entry level developer needs to create to accomplish a solution. In turn, there are a number of Report Writer API scripts built into the Dynamics application dictionary (DYNAMICS.DIC) to allow third party developers to expose data from their tables onto an existing Microsoft Dynamics GP report without having to write a complex interface to do so.
The Solution
1. The first task at hand is to open the Runtime Execute window in the Support Debugging Tool. Once the window is open, click on the Helper button to open the Insert Helper Function window. From the drop-down list, select template for rw_TableHeaderString.
![]() |
Insert Helper Function window |
Below is the signature for the function as we will use it.
The rw_TableHeaderString function
function returns string sData;
in integer dict_id; {Support Debugging Tool Dictionary ID}
in string report_name; {Support Debugging Tool Script ID to call}
in string sNumber; {Parent Customer ID field we will retrieve}
in integer sType; {Not used, we will default to 0}
in integer iControl; {which piece of data to return}
We will use this function to return a string value for the selected Parent Customer ID information field to a Report Writer calculated field.
By clicking OK, the Support Debugging Tool inserts the code to get us started in the right direction.
![]() |
Helper Code |
![]() |
Additional Code |
The Support Debugging Tool then goes to action and call its MBS_Param_Set API function to talk back to the Report Writer API script and deliver the values retrieved to it. Isn't this awesome!
2. The second part of our solution consists of 3 parts really: a) we need to create a table relationship between the Sales Transaction Work table and the RM Customer Master table as this relationship does not exist out of the box, b) We then need to create calculated fields for the pieces of Parent Customer data we would like to retrieve, and c) We need to complete the layout and grant security to the modified report.
I will assume for this article that you are familiar with the processes of creating new table relationships in Report Writer and laying out the new calculated fields and granting security to the modified report. You can always browse the Report Writer manual accompanying your Microsoft Dynamics GP application for information of these processes, so my attention will focus solely on the calculated field.
In this example, I want to retrieve the parent customer name. For this we will create a new calculated field as follows:
a) Create a new calculated field, in this case I will call it (A) Parent Name. The result type of the calculation will be a String and the expression type is Calculated.
b) Since we are using the rw_TableHeaderString user-defined function, we will choose this accordingly:
![]() |
rw_TableHeaderString |
c) Now we have to setup the parameters as indicated by the function signature above. The first parameter we will add is the Support Debugging Tool's dictionary ID, 5261. We will add this as an integer constant.
![]() |
Dictionary constant 5261 to call the script we wrote |
![]() |
GETPARENTINFO |
e) We now need to pass the parent customer number parameter, our default (not used) parameter, and the value number for the field that will be retrieved for the parent customer data, according to how we coded our script above. This is shown below.
![]() |
Last 3 parameters. |
The RM_Customer_MSTR.Corporate Customer Number field is retrieved from the RM Customer Master table which we created via a new table relationship and subsequently adding that table relationship to our report.
The following shows a muck-up of the report layout with the parent customer name calculated field created:
![]() |
Report Layout |
![]() |
Invoice Layout |
Final Notes
The above script could be extended to retrieve other pieces of data for our parent customer, like contact, address, city, state, zip, phone numbers, etc. In this case you will need to add more entries to the case...end case statement above and retrieve the correct table column. You can find more information on the table columns for the RM Customer Master in the Microsoft Dynamics GP software development kit (SDK).
This solution is absolutely compatible with Word Templates and the Web Client. In the case of Word Templates, you will need to export a new report definition file (XML) and import into your template fields. In the case of the Web Client, all the components above are within the confines of a Dexterity application and the Support Debugging Tool happens to be compatible with the Web Client, just as much as Report Writer is. Your modified report should render absolutely fine on the Silverlight canvas control, if printing the standard report.
For all workstations to take advantage of the Runtime Execute script, the Support Debugging Tool must be deployed with the recommended configuration - all workstations pointing to a centralized configuration file, debugger.xml.
The Support Debugging Tool never ceases to amaze me. You can find similar article to this one and more information here:
The Dynamics GP Blogster - Adding Customer Item User Defined Field to SOP Invoice
Developing for Dynamics GP - The Support Debugging Tool Portal
Until next post!
MG.-
Mariano Gomez, MVP
IntellPartners, LLC
http://www.IntellPartners.com/
Subscribe to:
Posts (Atom)