SmartList Builder to Come Home to eOne

SmartList Builder OEM

Announcement by Product Director and Founder – Martin Olsen

Continuing from this time last year – I have another exciting announcement for the Dynamics GP community. From January 1st, 2014, eOne Solutions will terminate their OEM agreement with Microsoft for the supply of the SmartList Builder module and will exclusively test, develop, support and sell SmartList Builder. eOne Solutions is 100% committed to continue the development, enhancement, expansion and generally giving SmartList Builder all the love it deserves. We commit to all our loyal customers and partners a smooth transition process together with an improved, more flexible SmartList Builder product for you all to use.

In 2006, eOne granted Microsoft the rights to market, sell and support SmartList Builder via an OEM agreement, and under the name Microsoft Dynamics GP SmartList Builder. This has been a fantastic arrangement for the GP community and resulted in over 13,000 mid-market companies benefiting from using SmartList Builder on a daily basis.   
eOne continues to have a strong relationship with Microsoft which has been built over 8 years of working very closely together. Microsoft is supportive of this new direction and will actively continue to assist eOne in marketing activities and ensuring the GP community continues to benefit from SmartList Builder. Microsoft is also supportive and understanding of eOne’s need for more flexibility in its development direction.
eOne has always continued to develop, test and document SmartList Builder as well as provide marketing, sales, demonstration, presentation and support escalation services to Microsoft. Under the new arrangement the only difference is administrative – in that sales and renewals will be placed with eOne rather than Microsoft.

Why are these changes taking place? 
There are a number of reasons behind eOne’s decision to discontinue the SmartList Builder OEM agreement. 
1. Development:Working within the OEM we were limited to Microsoft protocol as to additional functionality we were able to add to SmartList Builder. We are now able to move past those limits and be as creative as we like to be at eOne – to add all the functionality we dream up.
2. Mid-Market Customer Needs: Mid-Market companies use many software applications as part of their business systems – not just Dynamics GP. We have a great deal of demand from customers wanting to access NON GP data in their SmartLists. This will be one of the first new pieces of functionality you will see added to SmartList Builder.  
3. Web Client: With the release of a web client it was important for us to continue a world class offering to our clients. While SLB has been completely transitioned to the web client already – our broader strategy for SLB is tied to SmartView and the delivery of SmartView as a browser experience (without Web Client dependencies).
4. Mobile/Devices: iPads, Surfaces and SmartPhones are all part of our SmartList Builder strategy.
5. Success of Extender Transition: The transition of Extender back to eOne in 2013 has progressed smoothly. We have been inspired by the way partners are still actively selling Extender and as a result selling more Dynamics GP. We believe we can support our partners better and help them sell even more Dynamics GP by getting our hands in full control of SLB.
6. Tighter Integration: eOne is passionate about making ALL our products work together within the eOne stack. Inside the OEM agreement it was not possible to build in specific functionality to support non-OEM eOne products. We are now able to significantly improve the integrations between SmartList Builder, Extender, SmartConnect, SmartView and other upcoming eOne products.
7. Taking Control: As a business, eOne prides itself on being clever and creative, making strong decisions and acting on them rapidly. We are very proud of our internal systems, reporting and order processing portal for our partners. Relying on a company as large as Microsoft with inherently complex systems was an ongoing and unnecessary distraction.
8. Confused Direction: As an OEM partner – we were at times left in the dark when it came to understanding where the Microsoft corporate direction clashed with the local GP team’s vision. To ensure we were the masters of our own direction we needed full control over SmartList Builder including development, sales, marketing and promotions.
Why I thought this was a good idea and the best result for eOne, our customers and Microsoft. 
1. Good for eOne: I’ll be honest – outside of the OEM we no longer have to share our revenue with Microsoft!
2. Good for Microsoft: The OEM agreement has really achieved it goals.  SmartList Builder sells with almost every new GP sale and is used widely by partners to differentiate Dynamics GP from other ERP solutions. There are more than 13,000 mid-market businesses relying on SmartList Builder every day. Microsoft GP resellers know SLB so well they will continue to use eOne’s SLB and Extender as a major differentiator to sell more GP (which is Microsoft’s goal). Microsoft will also benefit from new creative features that will ensure our partners can differentiate GP even further from its competitors. This results in more sales of GP.
3. Good for Resellers: SmartList Builder gets better, faster and easier to deploy and upgrade. The only difference is that AEP is paid to eOne and not Microsoft.
4. Good for Customers: Really no change at all for existing customers – other than the product will get better, faster.
As you can see this is a win/win situation for everyone. 

What do resellers need to do? 

1. If you are already an eOne Reselling Partner, there really is nothing new for you to do. Microsoft will provide us with the list of your customers that currently own SmartList Builder. eOne will honor your current enhancement plans to completion. You will then renew your customers’ SLB enhancement plan with eOne rather than Microsoft. 
2. If you are not already an eOne reseller (not sure why you would not be) then you need to sign up with us as soon as possible. There is a $2,000 sign-on fee for partners, and this provides access to sell all eOne products and not just SLB. This means that as soon as you are signed up as a reseller you will be able to place orders and make AEP payments online via our website.  
What do SLB customers need to do? 
1. If you are currently a SmartList Builder customer then there is nothing you need to do at all. Sit back, keep using SmartList Builder, Excel Report Builder and all the good functionality you have available to you now.
The Good News
eOne and Microsoft are going to do everything to ensure this process is simple and seamless. Existing customers who are current on AEP will transition ‘free’. The product remains unchanged so you have no compatibility or upgrade issues. So really everything will remain ‘same old’ but you will find SLB continues to get better for you.

Over the next few months we will hold informational webinars regarding the process and will be able to answer any questions you may have. Keep an eye out for those sessions and be sure to sign up as they will have lots of time allotted to Questions and Answers. We will also discuss some exciting promotions available to all renewing customers.

Yours in Selling More Dynamics GP,


Follow this link:
SmartList Builder to Come Home to eOne

August 30, 2013 · Martin · No Comments
Tags: , , , , , , ,  · Posted in: Blogs I Follow Total Views: 193

Microsoft Dynamics GP 2013 Service Pack 2 is now available

Service Pack 2 for Microsoft Dynamics GP 2013 is now available for your consumption. Microsoft has released the product ahead of schedule – originally, September of 2013. I guess this will make for an even more exciting Microsoft Dynamics GP Technical Airlift 2013.
Service Pack 2 is probably the most comprehensive update so far to Microsoft Dynamics GP 2013 and includes a number of fixes and enhancements. Let’s take a quick look:
Modules activated for Web Client:
  • Field Service
    • Service Call Management
    • Depot Management
    • Preventative Maintenance
  • Project Accounting
  • Manufacturing
    • Bill of Materials
    • Manufacturing Order Processing
    • Master Production Scheduling
    • MRP
    • Manufacturing Suite
  • Fixed Assets Enhancements
  • Business Activity Statement (BAS) for Australian GST
  • Payment Document Management (PDM)
Features Exclusive to Web Client:
  • Visual Studio Tools for Web Client v1.0
  • Keyboard Shortcut enhancements
  • Change single machine configuration to support both the Web Client web site and runtime service using the same port  
  • Add styling to ribbon to show focus  
  • Web client messaging retry/refresh & Client Side error handling / notification improvements
  • Better scrollbars for standard reports 
New Desktop & Web Client Features:
  • GL – Roll down changes to Account Segment Description
  • Reconcile checkbook without marking transactions
  • Cash Receipts Inquiry display checkbook ID
  • Customer Combiner & Modifier
  • Vendor Combiner & Modifier
  • Payables Void Enhancements
  • AA Finance Charge assessment
  • AA and Sales order deposits
  • Payroll Inquiry Check Date Sort Options
  • Applicant E-mail in HR
  • Doc Attach 2.0:
    • Document Flow
    • Status Tracking
    • Delete Password
    • Attachment Properties
    • Attachment Email
    • Delete Utility
  • SmartList Splitter
  • SmartList Designer
Note: the SmartList Splitter was a cool piece of code made available with the Support Debugging Tool initially. If you are running Microsoft Dynamics GP 2010, you can take advantage of this via the Support Debugging Tool.
Service Pack 2 can be recognized by its new build number, 12.00.1482 and the Dexterity version is 12.00.0269. For more version details download the MDGP2013_MSPVersionList.xls file. For the install guide and a list of issues fixed, download the 12.0SP2_install_guide_ENUS.pdf file. Both files are available from the main Service Pack page (or from the links here).

Service pack 2 is available from the Service Pack 2 page or you can download the full updated DVD image:

Product Release Downloads for Microsoft Dynamics GP 2013 Secure Link
Service Pack, Hotfix, and Compliance Update Patch Releases for Microsoft Dynamics GP 2013 Secure Link

Product Release Downloads for Microsoft Dynamics GP 2013 Secure Link
Service Pack, Hotfix, and Compliance Update Patch Releases for Microsoft Dynamics GP 2013 Secure Link

The Microsoft Dynamics GP Support and Services Blog has more information related to Service Pack 2. Please visit their page for more information:

Until next post!

Mariano Gomez, MVP
IntellPartners, LLC

Microsoft Dynamics GP 2013 Service Pack 2 is now available

August 30, 2013 · Mariano Gomez · No Comments
Tags: , , , , , , , , , , ,  · Posted in: Blogs I Follow Total Views: 277

Microsoft Dynamics GP 2013 Service Pack 2 … – MSDN Blogs

A blog dedicated to everything to enable Developing for Microsoft Dynamics GP by David Musgrave and the Microsoft Dynamics GP Developer Support Team.

Read More:
Microsoft Dynamics GP 2013 Service Pack 2 … – MSDN Blogs

August 30, 2013 · David Musgrave · No Comments
Tags: , , , , , , , ,  · Posted in: Blogs I Follow Total Views: 134

GPUG Magazine – Fall 2013 edition is out … – MSDN Blogs

A blog dedicated to everything to enable Developing for Microsoft Dynamics GP by David Musgrave and the Microsoft Dynamics GP Developer Support Team. Search Form. Search this blog. Search all blogs. Options. Blog Home · About · Email Blog Author · Share this · RSS for posts · Atom · RSS for comments. Tags Developing for Dynamics GP on Facebook This blog at Dynamics GP Support Blog: SDT Portal:

Read more here:
GPUG Magazine – Fall 2013 edition is out … – MSDN Blogs

August 29, 2013 · David Musgrave · No Comments
Tags: , , , , , , , ,  · Posted in: Blogs I Follow Total Views: 172

GPUG Summit 2013 – Developing for Dynamics GP … – MSDN Blogs

A blog dedicated to everything to enable Developing for Microsoft Dynamics GP by David Musgrave and the Microsoft Dynamics GP Developer Support Team. GP Support Blog: SDT Portal: 

Visit link:
GPUG Summit 2013 – Developing for Dynamics GP … – MSDN Blogs

August 28, 2013 · David Musgrave · No Comments
Tags: , , , , , , , , ,  · Posted in: Blogs I Follow Total Views: 182

Accessing Microsoft Dynamics GP Default Settings from Visual Studio Tools

Rarely you will hear the Dex.ini file being called the Microsoft Dynamics GP defaults file. However, the Dex.ini contains keys (and their associated values) that define how Microsoft Dynamics GP behaves in some cases. For example, SQLLastUser=sa stores the login of the last user who accessed the system on that specific instance of Microsoft Dynamics GP, in this case, ‘sa’. Likewise, AutoInstallChunks=TRUE, allows Microsoft Dynamics GP to bypass prompting the user for new code (chunk file) to be installed at the time of launching the application. There are other settings controlling how certain features behave.

You can find a list of Dex.ini settings here.

Recently, I was helping a good friend of mine up in Maine who attended my Dexterity class in Boston and this time he wanted to know how to read the path for the Microsoft Dynamics GP help file. Of course, there’s a simple (predefined) method for this as my good friend Patrick Roth with the Escalation Engineering team in Fargo pointed out, if you are familiar with some of Microsoft Dynamics GP form procedures:

string strPath = “”;
strPath = Dynamics.Forms.MainMenu.Functions.GetDynamicsHelpPath.Invoke();

So, let’s assume you had no clue this function existed. How would you address this issue? Frankly, I can think of at least 3 ways to do this:

1) Using a hybrid method whereby you create a Dexterity dictionary to wrap the Defaults_Read() Dexterity sanScript function into a user-defined global function. This method presents a challenge as you need to use the Dictionary Assembly Generator (DAG.EXE) to create an assembly you can reference from your VST project. In addition, you may or may not want to add an entirely new dictionary into the picture, when delivering your final solution. However, in case you are interested, this is the implementation:

GetDexIniSetting function

For more information on developing hybrid applications with Dexterity and Visual Studio Tools take a look at my articles:

Developing Microsoft Dynamics GP hybrid integrating applications
Hybrid development for the Managed Code developer
Hybrid development for the Managed Code developer (cont.)

2) You could use the Continuum API from Visual Studio Tools to access the Defaults_Read() sanScript function. The Continuum API is the Component Object Model (COM) API that is available for Microsoft Dynamics GP. The Continuum API documentation is available for download here. In this method, all you have to do is add a reference to the interop.Dynamics.dll COM library, which hosts the Continuum API.

// Created by Mariano Gomez, MVP
// This code is licensed under the Creative Commons 
// Attribution-NonCommercial-ShareAlike 3.0 Unported License.

public string GetDexIniSetting(string searchKey)

   ParameterHandlerClass myParamHandler = new ParameterHandlerClass();
    Dynamics.Application gpApp = (Dynamics.Application)Activator.CreateInstance(Type.GetTypeFromProgID("Dynamics.Application"));
     if (gpApp == null) 
       return "";
       string passthrough_code = "";
       string compile_err;
       int error_code, result;

       result = gpApp.SetParamHandler(myParamHandler);
       myParamHandler.IN_Key = searchKey;

       passthrough_code += "local boolean err_val;";
       passthrough_code += "local string dex_key_val, dex_key;";
       passthrough_code += @"err_val = OLE_GetProperty(""IN_Key"", dex_key); "; 
       passthrough_code += "dex_key_val = Defaults_Read(dex_key);";
       passthrough_code += @"err_val = OLE_SetProperty(""OUT_KeyVal"", dex_key_val);";

       gpApp.CurrentProductID = 0; 

       error_code = gpApp.ExecuteSanscript(passthrough_code, out compile_err);
       return myParamHandler.OUT_KeyVal;
    MessageBox.Show("Failed to initialize gpApp");
     return "";

public class ParameterHandlerClass

  public string IN_Key  get; set; 
  public string OUT_KeyVal  get; set; 

In the above code, we define a parameter handler class
with couple properties for the key that will be read from the Dex.ini and the key value to be retrieved.

In our GetDexIniSettings method, we instantiate our class and use the Continuum SetParaHandler() method to load the IN_Key property value. We then setup our pass-through code and invoke sanScript’s OLE_GetProperty() function to retrieve the value of the IN_Key from our VST application via some old fashioned OLE automation. The OLE_SetProperty() function then returns the value to our class property, OUT_KeyVal.

That’s it!

3) The third method uses some classic C# reflection to get the path of the AddIns. It then converts this to the path of the Data folder and the dex.ini file, and then uses the Pinvoke() method to read the key in the dex.ini and return the value.

DllImport("kernel32.dll", CharSet = CharSet.Unicode)
 static extern uint GetPrivateProfileString(
 string lpAppName,
 string lpKeyName,
 string lpDefault,
 StringBuilder lpReturnedString,
 uint nSize,
 string lpFileName);

//get path which should be the addins folder
String strPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

//look for Addins path
if (strPath.EndsWith(@"AddIns", true, System.Globalization.CultureInfo.InvariantCulture) == true)
 //and if we find one replace with the data folder
  strPath = strPath.Replace(@"Addins", @"DataDex.ini");

 //if not in addins then we must be in the root GP folder (like GP 2013 does with GP addins) so tack on Data
  strPath = strPath + @"DataDex.ini";

StringBuilder sb = new StringBuilder(100);
uint res = GetPrivateProfileString("General", "Pathname", "", sb, (uint)sb.Capacity, strPath);

// Copyright © Microsoft Corporation.  All Rights Reserved.
// This code released under the terms of the 
// Microsoft Public License (MS-PL,

The above method comes courtesy of my good friend Patrick Roth with the Escalation Engineering team at Microsoft.

All the above methods are generic in nature and can read more than just a specific key. It’s good to know that there’s more than one way to do things. If you are going all hybrid, there’s a code for that! If you want to be self-contained, there’s a code for that! If you want to deviate completely from sanScript because you hate it or don’t know it, there’s a code for that! Whatever route you choose it must work to your benefit.

As a good Australian friend of mine would say, “The right solution is the one that works!”.

Until next post!

Mariano Gomez, MVP
IntellPartners, LLC

Read More:
Accessing Microsoft Dynamics GP Default Settings from Visual Studio Tools

August 27, 2013 · Mariano Gomez · No Comments
Tags: , , , , , , , ,  · Posted in: Blogs I Follow Total Views: 203

Reason of the Day to attend GP Technical Airlift #12

Microsoft and eOne Solutions are pleased to announce a one day only Extender training class, exclusively for partners on September 17th, 2013, prior to the Tech Airlift event. eOne, who has assumed  responsibility for sales and support (while continuing their testing and development efforts), is offering the class in order to give partners the skills needed to make GP fit their customers’ businesses, without writing code. In the training, eOne will cover every aspect of Extender 2013. Among the areas covered are:

  • Creating a basic window and form including the field types and options available.
  • Adding the Extender resource to SmartList.
  • Creating Templates on Windows and Forms.
  • Adding logic to your Windows and Forms using Actions.
  • Creating inquiries for Windows.
  • Adding extra Windows on Forms.
  • Adding your Forms to Menus.
  • Reporting on the Extender data using tools such as SmartList, Report Writer, and external sources.
  • Using tools such as SmartConnect and SmartView to access the Extender data.

There will be multiple exercises provided to help in the learning process.

Please note that there is limited seating available for the training, so we encourage you to sign up as soon as possible. You can sign up here or email for more information and details on the training.

Come to have fun, come to learn, just come to Fargo!

Are you signed up?
YES?  Great!  We’ll see you here!!

No?  What are you waiting for!!  Get signed up NOW!  And get your co-workers signed up for the other tracks!


Jay Manley

See the original post:
Reason of the Day to attend GP Technical Airlift #12

August 26, 2013 · Jay Manley MSFT · No Comments
Tags: , , ,  · Posted in: Blogs I Follow Total Views: 144