Monday, December 29, 2014

The Dynamics GP Blogster Best Articles of 2014

How about this 2014 year, ah? Two major releases in Microsoft Dynamics GP 2013 R2 only to top off the year with the recent release of Microsoft Dynamics GP 2015. More than 30 new features in 2013 R2 (over 150 if you include those released in GP 2013 RTM) and now over 120 new features in Microsoft Dynamics GP 2015, including the cornerstone .NET interoperability and Service Based Architecture components, it's no wonder why the Microsoft Dynamics GP Product Management and Product Development teams deserve a massive showing of the hands on this one! Congratulations team on a job well done.

Let's not forget about the events either: the wildly successful Microsoft Convergence 2014 Atlanta, the hugely concurred GPUG Summit 2014 St. Louis, and what's got to be the most anticipated partner event since the days of Stampede, reIMAGINE 2014 in Fargo. All these events drove the vision of t

Travel was also off the chain for me: Johannesburg, South Africa; St. Louis, Missouri; Fargo, North Dakota; Boston, Massachusetts; Las Vegas, Nevada; Green Bay, Michigan; Kansas City, Missouri; Shreveport, Louisiana; and the list goes on! Over 70,000 miles of airline travel, 100+ nights of hotel lodging, and tons of driving miles, ah!... and the ALS ice bucket challenge in between.

Nonetheless, every year I try to bring interesting topics to the blog, an insight into the events I attend, and definitely, those troubleshooting and development articles that are life savers when you need them most. So without further due, here's a sample of some of the best articles you liked throughout the year (in no particular order)

1Word Templates: We can't open template because we found a problem with its contents. Just recently I was working on a Sales Invoice Word Template customization for a customer and ran into a strange issue when attempting to print a batch of invoices for customers assigned to this template... Read more.
2Web Client Wednesday - You receive ArgumentNull_Generic exception when clicking an option on the Navigation Bar. In good measure, here at Intelligent Partnerships we eat our own dog food. As of January 1, 2014 we completed our internal rollout of Microsoft Dynamics GP 2013 and web... Read more.
3Microsoft Dynamics GP 2013 Virtual Machine image from the Windows Azure Gallery.
In my previous article, Part 1 of the series, I talked about provisioning a Microsoft Dynamics GP 2013 development environment from the Windows Azure gallery.  If you are already an MSDN subscriber and... Read more.
4Preventing Visual Studio Tools customization processes from being terminated by Microsoft Dynamics GP. Just recently I ran into a case on the Microsoft Dynamics GP Partner Forum where the ISV developer was dealing with a potentially long standing process to be executed from... Read more.
5Working with the Dex.ini Settings in Microsoft Dynamics GP 2013. Dex.ini settings have always existed to provide developers and end-users with ways to set a number of preferences for their Microsoft Dynamics GP application without the need of additional development or customizations... Read more.
6Using Microsoft Dynamics GP Business Intelligence deployment utility to deploy custom SSRS reports. In the previous installment, I outlined a technique to deploy your custom SQL Reporting Services reports using the standard Business Intelligence deployment utility provided by Microsoft... Read more.
7Deploying Business Analyzer Companion App Services on Windows Azure Service Bus. If you are not using Business Analyzer today, shame on you. Last year sometimes I wrote a small article on how to deploy the Business Analyzer Windows 8 application on a personal laptop, which is typically... Read more.
8Microsoft Dynamics GP 2015 Developer's Preview: .NET Framework Interoperability - Part 3. In part 2 of the series, I delivered a brief primer on the service architecture in Microsoft Dynamics GP 2015 and how you are able to consume services natively created with Dexterity. There are two types... Read more.
9Working with Dex.ini Settings to customize the Microsoft Dynamics GP Connect gadget. Have you ever wanted to wake up with The Dynamics GP Blogster page as the centerpiece of your Microsoft Dynamics GP application homepage? Or how about your favorite online news outlet? What if you...Read more.
10Microsoft Dynamics GP backups with Windows Azure Blob Storage Service - Follow up. As a follow up to my post yesterday (see Microsoft Dynamics GP backups with Windows Azure Blob Storage Service), an issue has been identified with Microsoft Dynamics GP 2015 running on SQL Server 2014...Read more.

2015 is sure to be a very exciting year for the Dynamics GP community. Right off the bat I can think of Convergence 2015 in Atlanta, GPUG Summit in Tahoe-Reno, NV, reIMAGINE in Fargo, ND, the upcoming release of Microsoft Dynamics GP 2015 R2 with another iteration, Dynamics GP 2015 R3, close to the end of 2015. So lots and lots to talk about.

Personally, I start the year with a business trip to Ireland, I already have commitments with Dynamic Partner Connections, and tons of webinars in conjunction with GPUG. So please stay tune to hear from those.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Tuesday, December 23, 2014

Merry Christmas to the entire Microsoft Dynamics Community!

As many of you prepare to celebrate these Holidays in company of your loved ones, I would like to take this opportunity to wish you the best on behalf of my family. Whether this year has been good, bad or indifferent to you, embrace the ones around you and take comfort in knowing that you are in the company of the people you care about and who care about you.

Thanks for all the great comments posted throughout the year and the support you have shown to The Dynamics GP Blogster throughout all the different social outlets you follow me on. It keeps me going and working to bring you the some of the best content you will find about all things Dynamics GP: the events, the technical articles, the series, and much more.

You can always count on 2015 bringing new and exciting articles with innovative approaches for using Microsoft Dynamics GP and getting the best out of your investment.

I leave you now with Ms. Mariah Carey and Michael Bublé performing one of the best Christmas songs of our generation.

Until next post!

Mariano Gomez, MVP
IntellPartners, LLC

Monday, December 22, 2014

Second reason to attend Microsoft Dynamics Convergence 2015: OneRepublic

If you enjoyed the concert last year with Fun (see Microsoft Dynamics Convergence Atlanta 2014 - Day 3) you will be more than happy to know that OneRepublic -- not a typo -- has accepted Microsoft's invitation to entertain the attending Convergence 2015 crowd.  

OneRepublic - From left to right: Eddie Fisher, Zack Filkins, Ryan Tedder, Brent Kutzle, and Drew Brown

OneRepublic is an American pop rock band formed in 2002 by Ryan Tedder and Zack Filkins. Originally signed with Velvet Hammer, an outfit under the Columbia Records umbrella, they were dropped 2 months before the debut of their first album.

They successfully released their debut set Dreaming Out Loud in 2007. The album included the smash single “Apologize,” mixed by Timbaland, which shattered digital sales and airplay records worldwide and received a Grammy nomination. The band’s sophomore album, 2009’s Waking Up, produced three singles: “All the Right Moves,” “Secrets” and “Good Life.” OneRepublic released their third studio album, Native, in March 2013 where it debuted at No. 4 on the Billboard Top 200 chart. The set includes hits “If I Lose Myself,” “Feel Again,” “Counting Stars,” “Love Runs Out” and “I Lived.” OneRepublic spent most of 2014 on the road headlining their Native Summer Tour and touring Europe.

This is an inside look at Native Summer Tour.

So, what are you waiting on? Register now for Convergence 2015 and come enjoy a night out with one of today's hottest bands.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Thursday, December 18, 2014

First reason to attend Microsoft Dynamics Convergence 2015: Satya Nadella

It's that time of the year again. While we prepare to celebrate the holidays, be it Christmas, Hanukkah, Milad un Nabi, or simply enjoy a good time off with family and friends, it is also time to begin thinking about 2015.

The next major event in sight, of course, is Microsoft Dynamics Convergence 2015 Atlanta and who better to open the event that Microsoft's newly minted Chief Executive Officer, Satya Nadella.

Satya Nadella

Before being named CEO in February 2014, Nadella held leadership roles in both enterprise and consumer businesses across the company.

Joining Microsoft in 1992, he quickly became known as a leader who could span a breadth of technologies and businesses to transform some of Microsoft’s biggest product offerings.

Most recently, Nadella was executive vice president of Microsoft’s Cloud and Enterprise group. In this role he led the transformation to the cloud infrastructure and services business, which outperformed the market and took share from competition. Previously, Nadella led R&D for the Online Services Division and was vice president of the Microsoft Business Division.

Before joining Microsoft, Nadella was a member of the technology staff at Sun Microsystems. Originally from Hyderabad, India, Nadella lives in Bellevue, Wash. He earned a bachelor’s degree in electrical engineering from Mangalore University, a master’s degree in computer science from the University of Wisconsin – Milwaukee and a master’s degree in business administration from the University of Chicago. He is married and has three children.

Fun facts about Satya Nadella

1. The guy loves Cricket! He attributes his ability to work in a team and his team building spirit to the sport.

2. He is an avid computer-based training (CBT) student and does take online classes most every morning in a 15-minute window.

3. He's a family man at heart. He's been married for a little more than 22 years and has 3 kids.

4. Poetry is his thing. Likes American and Indian poetry.

5. He's just Microsoft's 3rd CEO, behind Bill Gates and Steve Ballmer.

*Fun facts courtesy of IndiaTimes.

So, what are you waiting on? Register now for Convergence and come enjoy an opening keynote session that will also feature the one and only Kirill Tatarinov, Executive VP of the Microsoft Business Solutions Group who in his own style will sure make you excited about the future.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Monday, December 15, 2014

Microsoft Dynamics GP backups with Windows Azure Blob Storage Service - Follow up

As a follow up to my post yesterday (see Microsoft Dynamics GP backups with Windows Azure Blob Storage Service), an issue has been identified with Microsoft Dynamics GP 2015 running on SQL Server 2014 when choosing Microsoft Azure storage as the destination for the backup.

You will receive the following warning message:

The SQL Server version that you are using does not support backing up or restoring your database from Microsoft Azure storage.

I have traced the issue back to the logic in the '(L) RGRestoreBackupOption' of window BackupRestore of form syBackupRestore field change script, which seems to compare the build number even after it has determined the version number is greater than SQL Server 2012 SP1 CU2 (11.0.3339). Of course, the build number for SQL Server 2014 CU4 is 12.0.2430. Since 2430 is not greater than 3339, the script sets the validation flag to false, causing the script to abort with the message indicated above.

This problem is exclusive to Microsoft Dynamics GP 2015 RTM (14.00.0524) running on SQL Server 2014, and cannot be replicated if you are running Microsoft Dynamics GP 2013 R2 or Microsoft Dynamics GP 2015 on SQL Server 2012 SP1 CU2 or greater. Microsoft is currently aware of this situation (at least via the Dynamics GP Online Partner Technical Community Forum), but if you are

For more information on SQL Server 2014 build numbers, see Microsoft Support kb article 2936603, SQL Server 2014 build versions.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Sunday, December 14, 2014

Microsoft Dynamics GP backups with Windows Azure Blob Storage Service

With the introduction of Dynamics GP 2013 R2, Microsoft delivered support for application database backups onto Windows Azure blob storage service from within GP itself.

Azure Blob storage is a service for storing large amounts of unstructured data, such as text or binary data, that can be accessed from anywhere in the world via HTTP or HTTPS. You can use Blob storage to expose data publicly to the world, or to store application data privately. Common uses of Blob storage include:

• Serving images or documents directly to a browser
• Storing files for distributed access
• Streaming video and audio
• Performing secure backup and disaster recovery
• Storing data for analysis by an on-premises or Azure-hosted service

In turn, Dynamics GP takes advantage of capabilities introduced in SQL Server 2012 SP1 CU2 to enable SQL Server backup and restore directly to the Windows Azure Blob service. See SQL Server Backup and Restore with Windows Azure Blob Storage Service for more information.

Note: Starting with SQL Server 2012 SP1 CU4, you can also use PowerShell to backup to and restore from Windows Azure Blob storage services.

As part of the backup and restore process, Microsoft Dynamics GP calls the syGPAzureBackupRestoreProcess system database stored procedure.

Configuring Microsoft Dynamics GP backups with Windows Azure Blog storage service

To take advantage of Windows Azure Blob storage service, you must begin by setting up an Azure storage account. The storage account is the starting point for all storage services. The storage account requirements are fairly straight forward: setup a URL prefix, associate a location or affinity group for your storage account, and determine the type of replication. See How To Manage Storage Accounts for additional information on replication options.

Note: The full URL will be the URL prefix followed by

Storage Account Setup
Upon creation of the storage account, the storage account name and its access key properties are required to authenticate to the Windows Azure Blob Storage service and its components.

Following the creation of the account, you will need a storage container. A container provides a grouping of a set of Blobs, and can store an unlimited number of Blobs. To write a SQL Server backup to the Windows Azure Blob service, you must have at least the root container created.

Container tab

Click on the Containers tab to setup a new container. Enter a name for the container, and select the type of access that will be provided to the container.

New Container setup
For more information on setting container access types, see Restrict Access to Containers and Blobs. Once the container has been setup, you should see your new container listed.

Container is now setup

Return to the storage account dashboard and click the Manage Access Keys option at the bottom of the window for the storage account you setup. You can copy the primary access key, which will be used to setup Microsoft Dynamics GP.

Manage Access Keys

In Microsoft Dynamics GP, go to Microsoft Dynamics GP | Maintenance | Backup to open the Back Up Company window. Follow these instructions:

1. Select the company you wish to backup
2. Choose Use Microsoft Azure storage as the destination for your backup
3. Enter the storage account name you created in Windows Azure
4. Paste the access key from the previous section.
5. Enter the URL to the container. The URL format is as follows:

Back Up Company

6. Click on Verify account to validate your account settings and connectivity to the container then click OK to continue. The backup performance will depend on your internet connection speed.

Now that you have a pretty good grasp on the configuration, you can begin taking advantage of Windows Azure as a secure, always available option for your Microsoft Dynamics GP data. The best part is, the data geo-redundantly stored (if this option was selected when creating the storage account) and you no longer need to rely on tapes being exposed to damage.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Thursday, December 11, 2014

Microsoft Dynamics GP 2015 Developer's Preview: Wrap Up

It has been an exciting ride combing through the features and capabilities of the Microsoft Dynamics GP 2015 Service Based Architecture components, starting at the core with the new and enhanced .NET interoperability capabilities within Microsoft Dexterity, all the way to the new service base architecture foundation built into Microsoft Dynamics GP to expand the realm of integrations that can be accomplished in today's fast paced, application (Apps) dominated world, whether those applications are native to the Windows platform or cross-platform, whether they reside in the cloud or on premise, and regardless of the form factor.

I wanted to provide this single point of reference to reach all entries in the series, which saw 5 articles over the past 5 months.

Microsoft Dynamics GP 2015 Developer's Preview: Loading the VHD image - Part 1 (Aug 29, 2014)
Microsoft Dynamics GP 2015 Developer's Preview: Working with Sample URIs - Part 2 (Sep 24, 2014)
Microsoft Dynamics GP 2015 Developer's Preview: .NET Framework Interoperability - Part 3 (Oct 29, 2014)
Microsoft Dynamics GP 2015 Developer's Preview: Dexterity Service Patterns - Part 4 (Nov 25, 2014)
Microsoft Dynamics GP 2015 Developer's Preview: Dexterity Service Patterns - Part 5 (Dec 1, 2014)

Since Microsoft Dynamics GP 2015 is now available to the general public, my focus will turn to keeping you abreast of those application nuggets, point out any glaring issues or problems, and continue to work with the development community at large to maximize the technological foundations of the product.

In the future, you may see new series on this blog seeking to enhanced the product learning experience, so stay tuned.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Friday, December 5, 2014

Microsoft Dynamics GP 2015 RTM is now available

This week saw the release of Microsoft Dynamics GP 2015, six months after the release of Microsoft Dynamics GP 2013 R2. Dynamics GP 2015 introduces over 120 new features, all of which have been covered recently over at Inside Microsoft Dynamics GP, the official blog of the Microsoft Dynamics GP Product Management & Marketing teams.

This new release also introduces a first round of Service Based Architecture operations, geared toward enhancing the product integration capabilities, and the ability for developers to expand into areas such as mobile applications, cross-platform applications, cloud-based applications and services, among others.

At its core, developers will now enjoy the enhanced coding capabilities with the introduction of .NET interop in Microsoft Dexterity, the IDE used to build Dynamics GP.

For the IT director or manager, Microsoft Dynamics GP 2015 introduces single sign-on capabilities offered via Windows Azure Active Directory, yet reinforcing Microsoft's commitment to the cloud.


Here are links for the articles about the release:

Inside Microsoft Dynamics GP

Dynamics GP Support and Services Blog
Winthrop Development Consultants (David Musgrave)

ERP Software Blog

Microsoft Dynamics GP Administrator
Dynamics GP Essentials
Dynamics GP – Learn & Discuss

For questions about upgrading to Microsoft Dynamics GP 2015, please contact me for a free consultation or use the comment section provided with this article.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Monday, December 1, 2014

Microsoft Dynamics GP 2015 Developer's Preview: Dexterity Service Patterns - Part 5

In my previous article (see Microsoft Dynamics GP 2015 Developer's Preview: Dexterity Service Patterns - Part 4), we discussed the merits of the Wrapped Window pattern and how it can save time by avoiding refactoring of complex business logic embedded on Dexterity forms. I also provided an intro on the Decoupled Logic pattern and why this is the preferred method for exposing Dexterity services as it provides the best performance. However, we also came to the conclusion that refactoring is only feasible in cases where decoupling the business logic from the UI will yield a reasonably increase in performance, without negatively impacting development and product release timelines.

We also looked into the Decoupled Logic pattern considerations and today we will accompany these with sample code to clarify the meaning of each.

Decoupled Logic Considerations
  • In decoupled logic mode, there is no implicit data types validation or conversion. Unlike the Window Wrapped pattern where the map statement manages casing, signed versus unsigned precision, and nulls during the binding of window fields to our instantiated class properties; in the Decoupled Logic pattern we must perform all the conversion and validations.
  • Check for valid value for decimals
(Click to enlarge)

  • Check for a valid value for a drop-down or radio group
(Click to enlarge)
  • Force strings to upper case as needed, for example, items, customers, vendors, etc. (see first example).
  • Set default values as needed as user may pass a null value as a parameter to a service procedure

There you have it! Working with services and .NET interop is quite frankly not that complicated so long you understand the patterns and some of the rules governing them. So finally, we will put this all together in a final installment that will complete this series.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC