Sunday, February 28, 2010


At eOne we recently added PayPal as one of our online payment options - which has proved quite popular with our partners. We have long traded online with credit cards and direct bank transfers - but had a number of partners looking for an alternative payment option. Paypal provides a very simple, familiar and secure payment method.

Given that eOne is an international company some of you will have found difficulty with having your credit card provider accept international transactions (particularly the first one). Some partners have also found that your local bank charge unreasonable amounts for international credit card transactions. Having Paypal as an option eliminates these problems, and will make life easier for some of our partners.

Thursday, February 25, 2010

Drill Down Builder

Earlier this month I promised a review of GP2010's Drill Down Builder. Take a look at Microsoft feature of the dicussing DDB which was put together by the same author as this blog.

This feature is going to help your GP demo's sing and dance like they should.

Thursday, February 18, 2010

Would you do it in a restaurant

Do you have any customers that sound like this. watch video now

I particularly like the last scene, which could be expanded upon. Would you ever go into a restaurant and indicate you do not want to pay for the meal - but would be happy to pay for all the ingredients separately. You do not want to pay for the 30 years experience that the chef has in combining food and and preparing the meal, but decide to cook the food in the restaurant on your camp stove that you bought along. When things start tasting bad you grab the waiter by the shirt and say "this is simply not good enough, you advertised that this was a delicious meal and what I have here is awful".

You then demand instructions, and when the chef succumbs and tells you that you must blanch the tomatoes first - your respond "that's ridiculous, I do not know how to blanch - someone will have to do it for me and right now - I'm hungry and my date is watching this, so fix it now!"

I can paraphrase this for those not good at deciphering parables. This is common conversation over a 4 week period "We will do the integration ourselves ... we are too busy for training ... our team is clever they will work it out ... now the customer wants more than we thought ... I just thought it would do that ... can I get support to answer some questions ... support are great thanks, can we have them dial in and complete the project ... we are out of budget so can you do it for free ... our client is getting really frustrated ... it is all getting messy and is not reflecting well on the software ... I wish we had the 4 hrs training up front and it would have saved 50 hrs down the track"

Do not let this be you.

Tuesday, February 16, 2010

Unknown Unknowns

The Unknown
As we know,
There are known knowns.
There are things we know we know.
We also know
There are known unknowns.
That is to say
We know there are some things
We do not know.
But there are also unknown unknowns,
The ones we don't know
We don't know.
—Feb. 12, 2002, Department of Defense news briefing

This is an example of Donald Rumsfeld poetry at it's best.

Let me put it to you that in regards to Dynamics GP most of you are self taught. You had to learn something for a project and you sat down and learnt it. As you got better at GP you could then pretty much work anything out on the fly - without looking like a muppet in front of your client. I am exactly the same.

The issue with the above is that you only learn what you need to learn 'to get by'. Does 'Getting By' cut it in 2010? 'Getting by' in business this means you are falling behind and opening the door to competitor. There will be someone out there - usually a competitor who has gone above and beyond 'getting by' and is an expert in that topic.

So my point is that when you 'get by' there are things you don't know. Most likely because you think you know, you will never investigate and you will never know! You will find something out when someone asks about it, but this does not help when you are designing a software solution to a problem. Unless someone asks 'can GP do this ...' you will no have time to investigate. This means that when you are putting together a system design you are not even aware of great functionality that perhaps you should be including.

Now to get specific I apply this theory to SmartList Builder, Excel Report Builder and Navigation List Builder. They are easy, and you all know them - or do you really? Accolade Publishing is about to release a training book that addresses these three modules, and on my first read it is excellent. I had a read through and I learnt things about SmartList Builder I did not know.

When I first looked through the book I was annoyed that neither eOne or Microsoft had written something similar before now. It made things very clear, and showed when and where not to use certain features. Not wanting to go over the top - but this was one of the best training resources I have come across.

Accolade have published books on a wide range of topics that you can find on their website. So if you want to find out what you don't know about GP - this might be the best place to start.

Saturday, February 06, 2010

Microsoft Releases SDK for CRM Adapter

Hmm ... Mid Market .... two Dynamics products ... SDK ... customisation ... programmers and high cost.

Best said by one of our reselling partners Partners:
"Why would I employ a programmer, to link two Dynamics products together. We target mid market customers. Writing a whole bunch of code is not an option, so the last thing we want is an SDK. I will stick with SmartConnects easy configuration, that I can also use for all my other integration needs. This way my consultants are only learning one tool and that is SmartConnect."

Thursday, February 04, 2010

Scripting inside SmartConnect

For all of you out there that have been doing scripting inside of SmartConnect, we have an excellent (although belated) New Year’s gift for you. We have assembled a collection of the most requested scripts over the last year and have commented and formatted each script in detail. They are now all bundled together and available for no charge in our knowledge base:

This collection of 20+ scripts covers a broad range of functions, from moving and renaming a file to reading entries off of the event log. Each script is written in VB.Net and has a large header section at the beginning that explains what the function of the script is and how to implement it.

Let’s walk through one of the scripts, MoveFileAddDate, to see how it works and in what ways it can be used effectively. Now, if any of you have used the SmartConnect tasks you know that there is already a prebuilt move file task. The drawback to this task is that the file name is going to be static. This script lets us add a date and/or time stamp onto the filename when we move it.
'-- Beginning of Script
' Script Name: MoveFileAddDate
' Created On: 9/23/2009
' Author: Chris Hanson
' Purpose: This script moves an existing file from one location to another and
' adds a date stamp to the file name.
' History:
' Requirements: This map can be located in any task script location. The source file
' must exist and the date stamp that is being added to the file name
' must not contain any illegal characters.
' Setup: The dateFormat string determines how the Datetime object that contains
' the current date and time is parsed to a string. The default value
' will return a date without any slashes (ex. 092309). The sourceFile
' should be changed so that it points to an existing file, and the
' destFile can be set to anything that is desired (as long as it does
' not include illegal characters).
'----------------------------------- CONFIGURATION -------------------------------------
Dim dateFormat As String = "MMddyy"
Dim sourceFile As String = "C:\SmartConnect\Sample Files\Fixed_Asset_General.csv"
Dim destFile As String = "C:\SmartConnect\Sample Files\Fixed_Asset_General.csv"
' Note: Do not include the date in the destination file name, the script will add it
' just before the extension (Ex. Fixed_Asset_General-092309.csv) in the code below.


'Determine the current Datetime and convert it to the specified string format
Dim dateTimeInfo As DateTime = System.DateTime.Now
Dim dateString As String = dateTimeInfo.ToString(dateFormat)

'Locate the index of the file extension
Dim extPosition As Integer
extPosition = destFile.LastIndexOf(".")

'Insert a dash and the formatted date string into the destination file name
destFile = destFile.Substring(0, extPosition) & "-" & dateString & destFile.Substring(extPosition)

'Move the file
IO.File.Move(sourceFile, destFile)
Catch ex As Exception
'If an error occurred, alert the user and return false to abort the map
System.Windows.Forms.MessageBox.Show("An error occured while attempting to move the file: " & ex.Message, "File Error")
Return False
End Try

Catch ex As Exception
'If an error occurred, alert the user
Messagebox.Show(ex.Message, "MoveFileAddDate Script Error")
End Try

Return True

'-- End of Script

The first section of the script is comments that list the script name, date, purpose, etc. The single tick mark ' declares that anything following it on that particular line is just a comment and not more code. As you can see, almost every major line has a comment just above or below it explaining what the code is doing.

With these sample scripts, we have tried to place all the variables or configuration options in the same location in the script to make it easier for users. Just under the header comments at the beginning of the script there is a Configuration section which contains anything that would need to be modified to get the script to function correctly.

In this case, there are three variables that need to be configured. The first one is the dateFormat variable. This variable is going to determine what is appended to the file name when the script moves it. By default, dateFormat = “MMddyy”. So if our filename was “test.csv” and today’s date was 12/31/2009, then when the script moved the file the new name would be “test-123109.csv”. dateFormat can be set to other values as well. If you wanted the time, you could say dateFormat = “MMddyy-hhmm”. This would give a result of “test-123109-0943.csv” if it was 9:43 in the morning when the file was moved. The only restriction is that you shouldn’t put restricted characters into the string (ie periods or slashes) as that can mess up the file name.

The next two variables that can be configured are the sourceFile and destFile variables. The sourFile variable should be set equal to the path where the file you are going to move is located. The destFile variable should be set to where you want the file moved. You can also change the file name in the destFile if you desire. Let’s say my “test.csv” file was sitting on my desktop and I want it moved to a folder name “Completed Integrations” that is also on my desktop. I want to change the file name a bit to reflect that it was successful, as well. My configuration variables would be as follows:

dateFormat = “MMddyyyy”
sourceFile = “C:\Documents and Settings\Administrator\Desktop\test.csv”
destFile = “C:\Documents and Settings\Administrator\Desktop\Completed Integrations\test-integrated.csv”

The file would be moved to the Completed Integrations folder and would be named “test-integrated-12312009.csv” when the script ran.

Now, how can you use this effectively? Here’s a scenario where this script could complement other SmartConnect features. Let’s say that we have a file that is generated daily and placed in some folder on our machine. We also have a scheduled map that runs once a day that uses that file as the data source and then integrates it data into GP. Currently, somebody manually moves the file each night so that the new one can be placed in that folder.

This script could be set up in two places on the map so that the file is automatically moved to a specified folder based on whether the map succeeded or failed. The script could be put in the Tasks -> Map -> After -> Success location which would move the file to a successful integration folder. It could also be placed in the Tasks -> Map -> After -> Fail location to move the file to a failed integration folder. This would help streamline your integrations by adding another layer of automation to your system.

Wednesday, February 03, 2010


While SmartConnect has so much more functionality, I know some of you like to sell SC as an alternative to Dynamics GP's integration manager. Microsoft have recently announced that the entry price for Integration Manger will be rising to $5000 and will contain both the financials and distribution components. So the base price of IM has gone up, but the total price has come down. Changes will be effective May 1st 2010. .

Given that SmartConnect covers more modules, Links to and from GP Extender, provides CRM connectors and allows for anything in GP to be automated it is starting to look like even better value.

Read about all the price changes here

Tuesday, February 02, 2010

Big Changes in V11

The Development team at eOne have been heads down for the past 6 months, working hard to help Microsoft complete the functionality that will be delivered in Dynamics GP V11. Over the next few weeks I will talk about some of these functions and features in the upgrade and what they mean for you.

The first big announcement (first discussed at the tech conference in Nov in Fargo) is that Navigation List Builder (NLB) from eOne is going to be available from Microsoft in conjunction with V11. You can learn more about NLB here . In short NLB provides a way for all GP customers to build their own navigation lists, based on any data sourced from within or outside of GP. Watch the demo video now
If you love SmartList Builder then you are going to love Navigation List Builder. Now I hear some of you saying 'but our clients do not use Navigation Lists' which is a very valid point. There are many factors read about them here as to why this is but the biggest reason has been that 'navigation lists are too slow'.

This is where NLB comes to the rescue. The issue behind the speed of Navigation Lists is that it is designed to return all records in a list, before applying any filters. e.g. If you return a list of customers (with a filter where ClassID='Corporate' and there are 10,000 total customers but only 500 corporate customers then all 10,000 records are returned before being filtered down to the 500 required). What NLB lets you do is build a custom list that only ever returns 500 records. By restricting the data at the source, customers will find navigation Lists run very much faster. (In truth the Navigation List does not run faster, but just on a restricted and user specific data set).

Microsoft designed navigation lists as a key part of the role based user experience with V10, and the ability to trigger actions to go with these roles. This is a really important part of GP and helps to set GP apart from the pretenders. Sadly the adoption rate has been very slow and I hope the adoption rate takes off with V11 as the functionality is much more usable.

The functionality of NLB is very similar to that of SLB so there will be a very small learning curve for consultants and end users. You Can now get any data form anywhere into the list of your choice.

NLB will be packaged up inside of SmartList Builder with the release of V11. So when you upgrade to V11 GP, and you already own SmartList Builder you will receive NLB for FREE. How good is that? If you have not yet jumped on board with SmartList Builder (I don't believe there can be too many of you out there) now is the time. There is going to be a price jump in SmartList Builder in conjunction with V11's release, so if you are considering SLB or have some dollars left in the IT budget then jump on board now before the price goes up.

The current price is $1,550 and it will be $1,950 once V11 hits the shelves. You do not have long to act.

The next V11 blog will discuss Drill Down Builder ... and if you thought NLB is good then wait for this one.