Improving Profitability and Increasing Efficiency...

You need solutions. And you need someone who isn’t going to back down from the challenges your business faces. From consulting, to building and implementing SCEM, ERP, WMS, and TMS, we work with you every step of the way to analyze your business processes and technology, and apply practical and economical solutions.
Our experience is real. Our knowledge is strong, and we are ready to help you use tried and true technology to proactively increase profitability. So what are you waiting for?
Contact us and let’s get started today.
contact blue horseshoe solutions blue horseshoe on linkedinblue horseshoe on facebookblue horseshoe on twitter

Blue Horseshoe Named to 2014 Microsoft Dynamics President’s Club

Microsoft recognizes Blue Horseshoe for commitment to customers.

[Carmel, in - July 24, 2014] Blue Horseshoe has been named to the 2014 Microsoft Dynamics President’s Club. This achievement is a direct result of Blue Horseshoe’s outstanding dedication to customer satisfaction through the delivery of innovative business solutions.

The Microsoft Dynamics President’s Club honors high-performing Microsoft Dynamics partners with commitments to customers that are reflected in their business success and growth. This prestigious group represents the top 5 percent of Microsoft Dynamics partners worldwide. Membership is granted based on their continual, committed efforts aimed at offering solutions that meet the needs of their customers.

This acknowledgment came during the Microsoft Worldwide Partner Conference (WPC) 2014, the company’s annual premier partner event, which took place this year in Washington D.C. WPC provides Microsoft Corp.’s partner community with the largest opportunity to learn about the company’s road map for the upcoming year, establish connections, share best practices, experience the latest product innovations and learn new skills.

“Each year we recognize and honor Microsoft Dynamics partners from around the world for exemplary performance,” said Neil Holloway, Corporate Vice President, Microsoft Business Solutions Sales & Partners. “The award-winning partners contribute to the ecosystem and customer businesses alike through their exceptional commitment and expertise. Microsoft is honored to recognize Blue Horseshoe for their achievements this past year and for their dedication and support of Microsoft Dynamics applications.”

“Blue Horseshoe is honored to have been selected once again by Microsoft as a President’s Club Member.” said Chris Cason, President of Blue Horseshoe. “Our continued relationship with Microsoft helps Blue Horseshoe to build on our strengths and continue our growth as a company.”

Blue Horseshoe is dedicated to helping customers find the best solutions and services to accommodate their business needs and further their success, while excelling in customer satisfaction. By collaboratingwith the teams at Microsoft, Blue Horseshoe maintains a comprehensive understanding of the Microsoft Dynamics platform to provide innovative solutions, services and unparalleled value to Microsoft Dynamics customers.


Visual Studio Design Expressions (Specific to AX SSRS Reports)

Microsoft Dynamics AX utilizes SSRS for its reporting needs. The layout of a SSRS report is based upon its design, which is created in Microsoft Visual Studio. Visual Studio designs offer a magnitude of flexibility when it comes to how the report can be displayed. At times, it may be necessary to change the layout of the report based off of user input data. In this tutorial, we’ll look at how this can be accomplished using Visual Studio design expressions.

*It’s important to note that Microsoft Dynamics AX 2012 R2 and Visual Studio 2010 are being used in this tutorial. The process may be different with other software versions.

Figure 1.0 shows the dialog for a SSRS report displaying invoices and/or orders by vendor for a specific customer. While this report contains a number of parameters, the main focus for this example is the “Invoice/Order Account”. Essentially, the customer can choose to either view the report in respect to the invoices, the orders, or a combination of both. Because only the format is changing, and the data will remain fundamentally the same, one Visual Studio report design can be used alongside layout expressions to complete the report.

Figure 1.0: Dialog for a SSRS report displaying invoices and/or orders by vendor for a specific customer

As a quick example, we are going to change this textbox emphasized in Figure 2.0. The textbox will display different strings depending on which “Invoice/Order Account” option the user picks.

Figure 2.0: Change this textbox emphasized

Figure 2.1: Expression value setup

Right click the text box and then select expression to get to Figure 2.1. For this expression, we will use a ternary operator. The format in Visual Studio for a ternary operator is the following: IIF(condition, result, result if condition is not met)

Above, the ternary operator states that if the “Invoice/Order Account” parameter (brought in by the dataset) is set to “InvoiceAccount”, set the textbox string to “Invoice Account”. Otherwise, set the textbox string to “Order Account”. “Order Account” will be displayed in the textbox if the user selects “OrderAccount” or “InvoiceOrder”.

It is important to note that the “Invoice/Order Account” parameter is based off of an AX enum whose values are the following: 0:InvoiceAccount, 1:OrderAccount, 2:InvoiceOrder. In Visual Studio, the ternary operator uses the identifying string instead of the actual enum value, which is why we have used “InvoiceAccount” rather than 0. (This also applies to NoYes enums: use “No” or “Yes” instead of 0 or 1.)

Figure 3.0:

After saving, building, and deploying the report from Visual Studio, we can see the expression in effect. Both images are for the customer account: “100008″. In the first image, “Invoice Account” has been selected and “Invoice Account” displays. In the second image, “Order Account” has been selected and “Order Account” displays. “Order Account” also displays if “Invoice/Order” had been selected.

Expressions can be used for textbox, row, column, or table group visibility as well.

Figure 4.0: Text Box Properties

In order to get to the visibility expression, select the object and right click. Then select, “Text Box Properties…”. Go to the “Visibility” section and then select, “Show or hide based on an expression”. To edit the expression, select the “fx” icon.

Figure 4.1: Selecting the ‘fx’ visibility icon

Figure 4.2: Constants expression

The visibility expression can be modified here. By default, the expression should be constructed so that if true, the object is HIDDEN.

Both of these functionalities are very helpful in making SSRS reports more dynamic without the necessity of multiple report designs.


AX 2012 R3: The new warehouse (WHS) module and deprecated WM2 functionality. What it means to you!

With the newest release of AX 2012 R3, users will notice the addition of significant functionality around the warehousing (WHS) and transportation (TMS) capabilities. The features are so large they now have their own modules within Dynamics AX. Its exciting to see these make it into an ERP out of the box as historically, they are reserved for software which does them exclusively dubbed ‘best in breed’. Because Microsoft has declared these as the way of the future for AX, the functionality and concepts will become key to future implementations of AX.

I wanted to write a brief post highlighting a few things in regards to WM2 being deprecated. We think these points are important so we want to do all we can to make sure the information gets out there in the AX community.

The big point: While AX 2012 R3 will support WM2 and WHS, they are not going to be supported in conjunction with each other. Make sure that only either WM2 or the WHS modules are checked, NOT BOTH. Microsoft is not supporting both enabled in a single environment. They were designed in R3 to be mutually exclusive.

Why was the Warehouse Management II (WM2) functionality deprecated in AX 2012 R3?
Making reference to Microsoft’s official document for deprecated and new features “New, changed, and Deprecated Features for Microsoft Dynamics AX 2012” document, on page 750, the functionality duplicates what is in the new WHS functionality. The capabilities will not be 1:1 to features in WM2 as the concepts and ideas behind accomplishing certain tasks have changed. You should be able to accomplish everything you were able to do and more in WM2. It may take some time to learn the new functionality but, when executed correctly, will take implementations so much further with fewer customizations.

Why didn’t Microsoft just add advanced features to the existing functionality?
It’s not so much a question of “What features can be added to a module” as it is “If the module was designed for the features to be added to it”. Any system can technically have any feature added to it; it’s only a question of time and money (and sanity!). Adding new features to existing functionality on a framework that wasn’t designed for them is what can lead to ‘spaghetti code’ and a large bug sheet.

When Blue Horseshoe wrote the Warehousing for AX (WAX) and Transportation for AX (TRAX) modules, the functionality was designed with best in breed features in mind. We designed for the future but implemented for today. People now have a significantly more robust framework for adding advanced concepts of warehousing than were previously able to do on WM2. Some say “The functionality is too much for what we do”, but the reality is, when implemented correctly, there isn’t an organization small enough for this to not be the path to take.

What does this mean for upgrading?
According to Microsoft, no upgrade impact has been announced. Additionally, neither migration tools nor documentation have not been announced as of the date of posting. In my opinion, this is not a big deal. A very large majority of AX implementations are either integrating to a best of breed or have a heavily modified environment to accommodate for the functionality now included in the R3 code. This makes the upgrade path a topic that will require analysis on a case by case basis to find the best path forward. Purely ‘technical’ upgrades aren’t really possible. Also, remember that WM2 is just deprecated, not eliminated in R3. The functionality can still be used. There is still time here. Deprecation means intention to discontinue, not pull the table cloth out as fast as possible and hope the dishes don’t move.

Blue Horseshoe has had the distinct advantage of having written the original code as well as working very closely with the Microsoft development team to write the code for R3. With this, we’ve been able to analyze and plan for upgrade paths successfully. We’ve also been able to see what various levels of upgrading will take in some of the most complex AX instances out there. When Switching to the new WHS/TMS functionality in R3, it becomes vitally important to ask the right questions in planning the upgrade in order to take your organization to the next level of success.

Innovations in technology and systems are inevitable. How you design and implement you system today will determine a company’s ability to adapt to the innovations of tomorrow.

For additional information, contact Blue Horseshoe Solutions, Inc by clicking here


Removing Persistent SSRS Parameters in Dynamics AX 2012 Reports

(This is specific to reports using a Report Data Provider)
I built an SSRS report to retrieve a list of all prices from specific vendors. In this report, there are a number of parameters: Item Status, Prices to display, Inventory On Hand, and of course Vendor Account.

A system user selects various parameters to run this report. As is customary in these SSRS reports, the next time that the user opens this form to run the report, all of the parameters that they selected for the prior report run are pre-selected by default. However, it is possible to default these values to your choosing.

In my case, my users simply wanted all the parameters to be cleared when they open the form. This can be achieved by calling the parmLoadFromSysLastValue method (extended from the SrsReportRunController class) with a false parameter in the RDP Controller class.

After this is compiles, all of your report parameters will be defaulted to blank regardless to what was entered previously by the user.

In a more complicated scenario, you might want one or more of these parameters to either be checked by default while the others are blank. In this case, you can make use of the prePromptModifyContract method in the RDP Controller class.

Here, you will need to reference your contract class where your various parameters are defined and then specify your values. If I want to default the “Status A” to be automatically checked while the rest are blank, I can use the following code:

My result when the report is opened:

I should note that the Display Inventory and Prices to Display parameters are not part of my Report Data Provider. Those were implemented and deployed entirely from Visual Studio so they cannot be referenced in the RDP Controller class like the Item Status and Vendor Account parameters can be. Although the first method to remove all previous values (parmLoadFromSysLastValue) will work to clear out all parameters, if you want to specify values for the non-RDP parameters, you will need to do that in Visual Studio or convert them to RDP parameters in your Contract class.


Dynamics AX – Illusion of missing check numbers gap explained

Audits can be difficult and stressful times for any organization. During a recent audit of one of our clients, a gap in the check number sequence was brought to our attention. This can turn out to be a red flag during audits for obvious reasons (you don’t want blank checks just floating around). What made this particular scenario interesting is when you checked the check’s status within Dynamics, those numbers were listed as blank checks. Because of this, we had to investigate several options and make several attempts at duplicating the issue.

After several troubleshooting attempts, it was determined that this was not an issue with AX or the setup within AX. What was actually occurring was that the journal that the check was in had several invoice lines. This meant that all those lines could not fit on just one check page, and it spilled over onto a second. This is what caused the blank check entry within AX. This is good news as it means that there weren’t any missing blank checks wandering around and there was not an issue with Dynamics.

Blue Horseshoe is the best in the business at selecting and implementing the right software solutions for your company. We have created some of the most successful and efficient processes for your industry and we work together with you to create any custom applications you require.

Learn more about solutions for your industry>
• Food and Beverage • Manufacturing
• 3PL: Third Party Logistics
• Wholesale Distribution
• Healthcare (Providers & Distribution)
• Retail • Automotive • Publishing
What our clients say...

“Blue Horseshoe was able to quickly understand our supply chain business and proposed its Vendor Portal system as a solution to significant challenges we were experiencing. Our efficiencies in shipping, receiving, warehouse and tracking our international orders has improved with Blue Horseshoe’s solution and we look forward to our next steps with Blue Horseshoe to further enhance our operations.”

Daniel Dugan, IT director of Application Services
Batteries Plus