When Great Plains Software was designing and developing Great Plains Dynamics/Dynamics CS+/eEnterprise – it placed several fundamental principles into the system
1. Computer platform independence. If you consider the situation in the computer software industry those days (earlier 1990-th) – nobody knew which office computer platform will be the winner: IBM PC clones with Microsoft Windows, Apple Macintosh with Mac OS or something like Sun SPARC. This is why graphical multiplatform idea was popular among software developers. Also there was a myth about C/C++ languages, working similar on all computers.
2. Database platform independence – there was the need for future surviving. Competition on the database market was also very tough: Oracle, Ingress, Sybase, DB2, Ctree/Faircom, Btrieve (Pervasive SQL 2000 later on)
In order to realize these two principles Great Plains Software created its own development environment and programming language – Great Plains Dexterity (DYNAMICS.DIC, REPORTS.DIC, FORMS.DIC are Dexterity dictionaries).
At this point customization standards were clarified:
1. If you need seamless integration with Great Plains Dynamics, working in the realm of Dynamics security and database independent data access/modification – you do it in Great Plains Dexterity.
2. If your customization should be light then you appeal to the customization tools coming with your computer platform. Very soon Microsoft Windows took the market, so VBA was the way to go.
3. As soon as Microsoft Windows kicked Mac OS from the office computers market, standard third party Microsoft-friendly tools were recommended – good example is Crystal Reports
4. When Microsoft SQL Server won the database market – Great Plains Software began migration campaign from Ctree/Faircom, Btrieve/Pervasive SQL to MS SQL Server 7.0 and later 2000
Finally, when Microsoft bought Great Plains Software, Microsoft Business Solutions turned to be more concerned about its ERP products migration and transformation into so-called suites: Microsoft Financial, Microsoft Logistics, Microsoft Manufacturing, Microsoft Human Resources and pretty much abandoned the promotion of traditional tools: Great Plains Dexterity, VBA, ReportWriter, Continuum, Integration Manager. As a temporary patch to enable .Net programming it released such tools as eConnect.
Right now (2004-2005) we are in the transformation phase when old tools, such as Dexterity are still playing important role, but if you are thinking about customization, you probably better consider SQL Server scripts/views/stored procs, if you have customization budget – make a research on eConnect. Try to make as much web publishing in Visual Studio.Net as possible. Use Crystal Reports design and our recommendation is to base Crystal Report on SQL View or Stored Procedure.
Good luck with installation, implementation, customization, development, upgrade and if you have issues or concerns