Microsoft Dynamics NAV 2013 Application Design
By Mark Brummel
()
About this ebook
This book is a focused tutorial on Microsoft Dynamics NAV application development to help you develop complete applications and not just application outlines.
This hands-on guide starts off by introducing the supply chain that you will be using throughout the book. You will then implement the Microsoft Dynamics NAV ERP suite and learn to set it up and customize it for various industries. You will learn how to customize Dynamics NAV to suit the different aspects of a business such as financial management, relationship management, production, jobs, trade, storage, logistics, and so on. The book will take you through these Microsoft-designed application features and show you how to customize and extend them safely. Therefore, by the end of this book, you will be able to create a structure of your own in Microsoft Dynamics NAV.
Read more from Mark Brummel
Programming Microsoft Dynamics 365 Business Central - Sixth Edition: Build customized business applications with the latest tools in Dynamics 365 Business Central, 6th Edition Rating: 0 out of 5 stars0 ratingsLearning Dynamics NAV Patterns Rating: 0 out of 5 stars0 ratingsProgramming Microsoft Dynamics NAV - Fifth Edition Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics NAV 2009 Application Design Rating: 0 out of 5 stars0 ratings
Related to Microsoft Dynamics NAV 2013 Application Design
Related ebooks
Microsoft Dynamics AX Implementation Guide Rating: 5 out of 5 stars5/5Design Principles for Process-driven Architectures Using Oracle BPM and SOA Suite 12c Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics NAV 2015 Professional Reporting Rating: 1 out of 5 stars1/5Semantic Data Model A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsBreaking the Availability Barrier Ii: Achieving Century Uptimes with Active/Active Systems Rating: 0 out of 5 stars0 ratingsGetting Started with Dynamics NAV 2013 Application Development Rating: 0 out of 5 stars0 ratingsAzure SQL Data Warehouse A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsMicrosoft SharePoint 2013 Disaster Recovery Guide Rating: 0 out of 5 stars0 ratingsVMware Horizon 6 Desktop Virtualization Solutions Rating: 0 out of 5 stars0 ratingsSAP BI Accelerator A Complete Guide Rating: 0 out of 5 stars0 ratingsApplied Architecture Patterns on the Microsoft Platform Rating: 0 out of 5 stars0 ratingsCloud Computing: Principles and Paradigms Rating: 0 out of 5 stars0 ratingsIPv6 Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsApplied Microsoft Business Intelligence Rating: 3 out of 5 stars3/5VMware vRealize Orchestrator Cookbook Rating: 0 out of 5 stars0 ratingsBusiness Intelligence Cookbook: A Project Lifecycle Approach Using Oracle Technology Rating: 0 out of 5 stars0 ratingsOData Programming Cookbook for .NET Developers Rating: 0 out of 5 stars0 ratingsApplication Architecture Standard Requirements Rating: 0 out of 5 stars0 ratingsSchematron: A language for validating XML Rating: 0 out of 5 stars0 ratingsDisaster Recovery Using VMware vSphere Replication and vCenter Site Recovery Manager - Second Edition Rating: 0 out of 5 stars0 ratingsSAP SCM: Applications and Modeling for Supply Chain Management (with BW Primer) Rating: 0 out of 5 stars0 ratingsBuilding ERP Solutions with Microsoft Dynamics NAV Rating: 0 out of 5 stars0 ratingsMastering Data Warehouse Design: Relational and Dimensional Techniques Rating: 4 out of 5 stars4/5Microsoft Exchange Server 2013 High Availability Rating: 0 out of 5 stars0 ratingsProfessional ASP.NET Design Patterns Rating: 4 out of 5 stars4/5SAP Manufacturing A Complete Guide - 2021 Edition Rating: 0 out of 5 stars0 ratingsLogical data model A Clear and Concise Reference Rating: 0 out of 5 stars0 ratings
Enterprise Applications For You
Scrivener For Dummies Rating: 4 out of 5 stars4/5Learn Windows PowerShell in a Month of Lunches Rating: 0 out of 5 stars0 ratingsCreating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5Bitcoin For Dummies Rating: 4 out of 5 stars4/5Excel : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Excel Programming: 1 Rating: 5 out of 5 stars5/5ChatGPT Ultimate User Guide - How to Make Money Online Faster and More Precise Using AI Technology Rating: 0 out of 5 stars0 ratingsSharePoint 2016 For Dummies Rating: 5 out of 5 stars5/5Systems Thinking: Managing Chaos and Complexity: A Platform for Designing Business Architecture Rating: 4 out of 5 stars4/5Excel Formulas and Functions 2020: Excel Academy, #1 Rating: 4 out of 5 stars4/5QuickBooks 2023 All-in-One For Dummies Rating: 0 out of 5 stars0 ratingsExcel 2019 For Dummies Rating: 3 out of 5 stars3/550 Useful Excel Functions: Excel Essentials, #3 Rating: 5 out of 5 stars5/5Notion for Beginners: Notion for Work, Play, and Productivity Rating: 4 out of 5 stars4/5Enterprise AI For Dummies Rating: 3 out of 5 stars3/5Learning Python Rating: 5 out of 5 stars5/5Using Word 2019: The Step-by-step Guide to Using Microsoft Word 2019 Rating: 0 out of 5 stars0 ratingsQuickBooks 2021 For Dummies Rating: 0 out of 5 stars0 ratingsManaging Humans: Biting and Humorous Tales of a Software Engineering Manager Rating: 4 out of 5 stars4/5Excel Tips and Tricks Rating: 0 out of 5 stars0 ratingsMastering QuickBooks 2020: The ultimate guide to bookkeeping and QuickBooks Online Rating: 0 out of 5 stars0 ratingsExcel 2016 For Dummies Rating: 4 out of 5 stars4/5The New Email Revolution: Save Time, Make Money, and Write Emails People Actually Want to Read! Rating: 5 out of 5 stars5/5Essential Office 365 Third Edition: The Illustrated Guide to Using Microsoft Office Rating: 3 out of 5 stars3/5Experts' Guide to OneNote Rating: 5 out of 5 stars5/5The Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing Made Easy Rating: 4 out of 5 stars4/5
Reviews for Microsoft Dynamics NAV 2013 Application Design
0 ratings0 reviews
Book preview
Microsoft Dynamics NAV 2013 Application Design - Mark Brummel
Table of Contents
Microsoft Dynamics NAV 2013 Application Design
Credits
Foreword
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Instant updates on new Packt books
Preface
What this book covers
What do you need for this book
Who this book is for
Conventions
Where to find the screens in this book
Screenshots
How to read the application schemas
Number and date punctuation
Reader feedback
Customer support
Errata
Piracy
Questions
1. Introduction to Microsoft Dynamics NAV
Versions and history
What is this book about
Setup versus customization
The beauty of simplicity
Horizontal versus vertical solutions
Open source
Design patterns
Architectural patterns
Design patterns
Implementation patterns
APIs
Structure of this book
The Role Tailored concept
The building blocks
Tables as user interface and business logic
Dynamics NAV in throughout supply chain
Some basic design patterns
Number series
Extended text
Navigate
Setup tables
Posting groups
Pricing
Dimensions
Architectural design patterns
Master data
Journals
The general ledger
Balancing
Flow fields and flow filters
More journals and entries
Posting schema
Sub and detailed entries
Combining the journals into processes
Document structure
Document transactions
Other patterns
Relationship management
Jobs
Manufacturing
Summary
2. A Sample Application
Fit-gap analysis
Designing a squash court application
Look, learn, and love
Drawing the table and posting schema
The project approach
Interfacing with the standard application
Design patterns
Getting started
Creating squash players
CreateVendor versus CreateCustomer
Reverse engineering
Designing a journal
Squash court master data
Chapter objects
Reservations
The journal
Reservation
Invoicing
Time calculation
Price calculation
Squash prices
Price Calc Mgt. codeunit
Inherited data
Dimensions
Master data
Journal
Posting
The posting process
Check line
Post line
Invoicing
Invoice document
Sales header
Sales line
Dialog
Posting process
Analyze the object
Making the change
Navigate
FindRecords
ShowRecords
Testing
Summary
3. Financial Management
Chart of accounts
Posting accounts
VAT versus sales tax
The entry tables
Sub accounting
Working with general journals
Entry application
Posting groups
Dimensions
Budgeting
Creating budget entries
Accounting periods
Closing dates
Currencies
Consolidation
VAT statement
Data analysis
Chart of accounts
Account schedules
Analysis by dimensions
The setup
Customizing financial management
Sales line description to G/L Entries
Extra fields in the G/L Entries
Integrating with financial management
Creating a G/L transaction
The C/AL code
Advanced entries
Look, learn, and love
Summary
4. Relationship Management
How companies work
Contacts
Salutation codes
Alternative addresses
Relationships with customer and vendor
Duplicates
Profiles
Automatic profiles
Interactions
Automatic interactions
Finished interactions
To-do's
Opportunities
Workflow
Sales stages
Activity codes
Creating an opportunity
Sales quote
Closing the deal
Creating segments
Adding contacts
Refine/reduce contacts
Segment criteria
Mailing groups
Log segment
Campaigns
Pricing
Segments
Activate
Outlook integration
E-mail logging
The setup
Customizing relationship management
Salutation formula types
Support the formula
The GetSalutation function
Setup the salutation formula
Test the solution
Customer and vendor numbering
Disabling the direct creation of customers and vendors
Sharing contact information across companies
Share tables
Business relation
C/AL code modifications
Number Series
Final steps
Alternative approaches
Adding contacts to segments
Expanding report
Implementing criteria filters
Test solution
Summary
5. Production
What is production?
Production methodologies
Raw materials
Basic production principles
Bill of materials
Material requirements planning
Garbage In Garbage Out
Master Production Schedule
Item costing
Item tracking
Quality control
Energy and waste
Association for Operations Management
Getting started
Assembling
Design patterns
The items
Item costing
Item tracking
The bill of materials
Calculating the standard cost
Creating the inventory
Adjusting cost item entries
Posting inventory cost to G/L
Check, check, and double check
Recalculating the standard unit cost
Assembly orders
Check costing (again)
Recalculating the unit cost (again)
Standard cost worksheet
Item Revaluation Journal
The result
Summarizing item costing in 10 steps
Manufacturing
The items, machines, and work centers
Capacity
Production bill of materials
Routing
Testing and low-level code
Simulation, sales orders, or inventory
Make-To-Stock
Make-To-Order
The sales order
Calculating MPS and MRP
Requisition versus planning versus subcontracting worksheets
Inventory profile offsetting
Atomic coding
Calculating a plan
Production order workflow
Purchase orders
Finishing production
Specialized production
Jobs
Vertical industry implementation
Fashion
Bill of materials
Shipping worksheet
Automotive
Tooling and amortization
Item tracking
Medicines
Lot numbers and expiration dates
Quality control
Food
Zero inventory
Ordering schedules
Furniture
Calculations
Inventory
Summary
6. Trade
The process
Wholesale versus retail
Sales and purchasing
Transaction mirroring
Sales
Orders
Quote to order and blanket order to order
Quote to order
Blanket order to order
Creating a new sales order
Sales header
Sales lines
Master data options
Sales line fields
Validation flow
No. | field 6
Quantity | field 15
Unit price | field 22
UpdateUnitPrice
Line Discount % | field 27
UpdateAmounts
VAT calculation
Code cloning
Invoicing
Prepayments
Combined invoicing
Manual
Batch
Credit memo and return orders
Purchasing
Resources
Drop shipments
Manual
Requisition worksheet
Document releasing and approval process
Status
Releasing a document
Manual versus automatic releasing
Document approval
Deleting sales and purchase documents
Data deletion
Deletion of shipments and invoices
Inventory management
Items
Locations
Variants
Stock keeping units
Creating a SKU function
Sales pricing
Item ledger entry application
Item application C/AL routine
Requirements to apply an item ledger
Value entries
Direct cost
Value entries and general ledger entries
Transfer orders
Example
Requisition worksheets
Reordering policy
Extending the reordering policy
Virtual inventory
Warehouse management
Warehouse strategy levels
Location setup
Warehouse employees
Bin code | level 1
Example
Bin content
Receipt and shipment | level 2
Warehouse request
Limitations
Put-away and Pick | level 3
Warehouse request
Warehouse activities
Level 2 and level 3 comparison
Level 4 – receipt with Put-away worksheet
Whse.- activity register versus whse.-activity-post
Level 5 – directed put-away and pick
Zones and default bins
Bin calculation
Implementing and customizing warehouse management
Reservations
Check-avail. period calc.
Always versus optional reservation
Reservation entries
Creating a reservation
Order tracking policy
Example
Replenishment
Auto increment
Trade in vertical industries
Fashion
Sales orders
Reservations
Automotive
Vehicle information
Parts management
Pharmaceuticals/medicines
Medication card
Contribution invoicing
Food
Assortment
Fast order entry
Furniture
Variant configuration
One-off items
Summary
7. Storage and Logistics
How to read this chapter
Chapter objects
The process
Using standard features
Defining the modules
Storage
Logistics
Invoicing
The storage application
Documents
Look, learn, and love
Journal
Documents
Master data
Drawing the design pattern
Sharing tables
Getting started
Opening balance
Products
Warehouse
Regions
Shelves
Registration worksheet
Storage documents
Receipt
Put-away
Shipment
Picks
The logistics application
Drawing the design patterns
Getting started
Shipments
Routes
Combining shipments
Route optimizer
Route follow up
Incidents
Follow up
The invoicing application
Income and expense
Invoicing
Sales Line
Codeunit Sales-Post (80)
Pricing methodology
Storage prices
Calculation
Result
Periodic invoicing
Processing the buffer
Combined invoicing
Add-on flexibility
Value-added logistics
Item tracking
Third- and fourth-party logistics
Summary
8. Consulting
The process
Fits
Gaps
Resource groups
Item calculation
Issue registration
Getting started
How many jobs
Job Card
Job task and planning lines
Job journal
Job examples
Chapter objects
The new implementation
Budgeting
The infrastructure
The upgrade
The support team
Time sheets
Design pattern
Purchasing
Item costing versus work in progress
Invoicing
Calculating work in progress
WIP post to general ledger
Changing jobs
Quantity budgeting
Resource Groups
Calculations
Issue registration
Summary
9. Interfacing
Interface types
Import and export
Manual
Data pulling
Data pushing
Event-driven versus timer-driven
Interfacing technologies
File
Automation control
Events
Limitations
DotNet interoperability
Client extensibility
Open Database Connectivity (ODBC)/ADO
Reading from Microsoft Dynamics NAV
Writing to Microsoft Dynamics NAV
Talking to other databases
SQL Server interfacing
Microsoft Message Queue
Application server
Web services
Exposing a NAV web service
Consuming a Microsoft Dynamics NAV web service
Standard application interfaces
Office integration
Word and Excel integration
Style sheet tool
Advanced Excel integration
Outlook integration
Outlook part
ExtendedDatatype property
Mail and SMTP mail codeunits
Outlook synchronization
Exchange integration
Interaction log entries
Office 365
SharePoint
Client add-ins
Interface methodologies
The scenario
The design
The mapping
The gaps
What if it does not work
The scenario
The interface type
The interface technology
Active data objects
Logging
The design pattern
The solution
COMMIT
Writing data
Reading data
Log, log, and log more
Testing
The RF database
The test
Viewing the results
SQL Statements
The buffer tables
The RF database
Interfacing into the future
Cloud-enabled Microsoft Dynamics NAV
Summary
10. Application Design
Application life cycle
Design to use
Pages
Role centers
Squash application
Storage and Logistics
Reports
Design to Maintain
Naming
Singular and plural
Reserved words
Names and abbreviations
Quantity versus quality
Loosely coupled
Design to support
Second-level support
Design to upgrade
Has Microsoft changed my (referenced) object
CRM (Version 2.0)
Dimensions (Version 3.x)
Bin code (Version 3.x)
Inventory valuation (Version 3.x)
Item tracking (Version 3.6 and 4.0)
MenuSuite (Version 4.0)
Jobs (Version 5.0)
Dimensions (Version 2013)
Item costing (almost all versions)
Documentation
Split operational and financial information
Design to perform
OLTP versus OLAP
Fast transaction posting
Cleanup unused indexes
Application setup
Job Queue
Background posting
Date compressing and cleanup
Date compression
Data cleanup
Locks, blocks, and deadlocks
Native server versus SQL Server
Locking principles
Deadlocks
Blocking and deadlocks in Microsoft Dynamics NAV
Impact on development
Design to analyze
Report design
Version and object management
What is a version
Version numbering
Combining versions
Creating a version
Tracking object changes
Saving older versions
Development methodology
A sample approach
Fit/gap analysis
Prototyping
Development
Testing
Implementation
Maintenance and support
The project
Standard, customized, or both
Add-on products
Customizing
Total cost of ownership
The Road to Repeatability program
Roadmap to success
Summary
A. Installation Guide
Licensing
Installing Microsoft Dynamics NAV
Changing the license
Restarting service tier
Installing the objects
Importing a FOB file
Installing the Dynamic Link Library files
Registering NavMaps.dll
Registering VEControl.dll
Index
Microsoft Dynamics NAV 2013 Application Design
Microsoft Dynamics NAV 2013 Application Design
Copyright © 2014 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: June 2010
Second edition: September 2014
Production reference: 1150914
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78217-036-5
www.packtpub.com
Cover image by Pratyush Mohanta (<tysoncinematics@gmail.com>)
Credits
Author
Mark Brummel
Reviewers
Danilo Capuano
Alex Chow
Stefano Demiliani
Tony Hemy
Daniel Rimmelzwaan
Acquisition Editor
Nikhil Karkal
Content Development Editor
Poonam Jain
Technical Editor
Shashank Desai
Project Coordinator
Mary Alex
Proofreaders
Simran Bhogal
Maria Gould
Ameesha Green
Indexers
Hemangini Bari
Priya Sane
Tejal Soni
Graphics
Sheetal Aute
Ronak Dhruv
Valentina D'silva
Disha Haria
Production Coordinators
Kyle Albuquerque
Aparna Bhagat
Melwyn D'sa
Adonia Jones
Manu Joseph
Nilesh R. Mohite
Komal Ramchandani
Alwin Roy
Nitesh Thakur
Shantanu N. Zagade
Cover Work
Manu Joseph
Foreword
Most books on Microsoft Dynamics NAV are about the tooling and the platform, but this book is different. It describes the building blocks, the code, and the metadata patterns that the application is made up of. The foundation for the patterns was created many years ago when we developed the first versions of Microsoft Dynamics NAV. Since then, they have been reused over and over again by us and every developer in the partner channel through the copy-paste mechanism. However, it was not until Mark and his friends in PRS, Gary and Waldo, rediscovered the patterns and started to write books, blog, teach, and speak at conferences that they became well known. Over time, this has evolved into a larger effort in collaboration with the Microsoft Dynamics NAV developer community, which has improved the overall quality of customization projects and reduced the implementation time. This book is important because it describes the patterns that are most used and explores how to leverage them when you modify Microsoft Dynamics NAV to suit industry-specific needs. It also contains examples on how to create add-ons and other enhancements that are easily upgraded. Everything is based on Mark's extensive experience of designing Microsoft Dynamics NAV implementations over almost two decades and expresses Mark's dedication to the Microsoft Dynamics NAV product and the various passionate people in the Microsoft Dynamics NAV community.
Michael Nielsen
Director of Engineering for NAV at Microsoft
Mark Brummel is the person other Microsoft Dynamics NAV experts go to when they have a really hard problem to solve. In this book, Mark shares the knowledge he has gained over the past two decades. In my own work as a Microsoft Dynamics NAV consultant/developer and as an author (writing three texts on programming in different versions of Microsoft Dynamics NAV), I've had the opportunity to draw on Mark's expertise many times. By reading this book, you now have a chance to do the same.
I've known Mark since we met at TechEd in Boston in 2006. Mark was already an accomplished analyst and developer—an expert in Microsoft Dynamics NAV and an MVP. Mark had been invited to that conference by Microsoft to help represent Microsoft Dynamics NAV to the other attendees who were technical experts. Since then, Mark has gained considerable experience and broadened his knowledge, particularly in the areas of business application problem solving using Microsoft Dynamics NAV.
Microsoft Dynamics NAV is a very special business software product. Included in the product is a set of IDE tools designed for the development of business applications and tailored to Microsoft Dynamics NAV. This makes it easier to create enhancements to fit the needs of specific businesses. As an integrated, full-featured ERP system, Microsoft Dynamics NAV includes functionalities for accounting, order processing, inventory control, manufacturing, distribution, service management, materials planning, and asset management. This book provides you with examples on how to choose from and apply these in a variety of business situations.
Each new version of Microsoft Dynamics NAV has delivered both new application functionalities and new technical capabilities. Upcoming versions are becoming more compatible with the cloud, mobile users, and various user interface devices. Each of these new capabilities expands the types of business applications to which Microsoft Dynamics NAV can be appropriately applied. With a worldwide-installed base already of well over 1,000,000 users, we know the uses of Microsoft Dynamics NAV are only limited by how creatively we apply our knowledge. Read on, let Mark expand your knowledge, and then use your own creativity to apply Microsoft Dynamics NAV to the needs of your businesses.
David Studebaker
Co-author, Programming Microsoft Dynamics NAV 2013
About the Author
Mark Brummel works as a freelancer. His main area of focus is helping out end users in Microsoft Dynamics NAV implementations all over the world. He has worked on over 100 projects in almost 20 years.
Mark is an all-round specialist, who excels in both functional consultancy and development. He started in 1997 as an end user and started working for the implementing partner in 1999. During these years, he has worked for resellers where designing and maintaining add-on systems were his specialization. Coaching colleagues and troubleshooting impossible problems are his passion and part of his day-to-day work. Mark has trained most of the experienced NAV developers for the NAV 2009 product in the Netherlands and Belgium, and he has worked with almost every NAV reseller in Benelux.
In 2010, Mark co-initiated Partner-Ready Software, a community-driven think tank that comes up with new and innovative ideas to improve the product. In 2011, Partner-Ready Software presented their ideas to Microsoft and have been working closely together ever since.
A special project has been design patterns. Together with Microsoft, a community website was created that contains dozens of frequently used patterns for Microsoft Dynamics NAV.
When he has time, Mark maintains his blog on www.brummelds.com. This blog contains a wide range of articles about Microsoft Dynamics NAV, SQL Server, and Visual Studio. He is also a frequent speaker at Microsoft events and writer for independent Dynamics NAV websites and user groups. Since 2006, Mark has been rewarded by Microsoft with the Most Valuable Professional award for his contribution to the online and offline communities, nine times in a row.
Acknowledgments
After I wrote my first book about application design in Microsoft Dynamics NAV, a lot has happened because of the book. I co-initiated Partner-Ready Software and worked closely together with Microsoft to improve the awareness of the great way Dynamics NAV is designed. This has been an amazing journey working together with some of the best people I've met in my professional life.
One of the best results is the awareness of design patterns in the application. In a team, more than 50 patterns have been documented.
I tried my best to implement the patterns in this book. A lot of the patterns were already there in the first edition. In this book, the patterns come together as applications, which give end users a great ERP system to use every day.
Since my previous book, my son Daan was born in 2010. The other kids, Josefien, Wesley, and Saskia, got older too, and I hope that one day they will understand the books and the beauty of software architectures. I'd like to thank them and my wife, Dionel, for giving me the freedom to explore my creativity, writing down my thoughts, and travel the world to share them. Because of my job, I have the opportunity to raise my kids in a great place where they can grow up in peace and become great people. I am very thankful for that.
A lot of people have helped me in writing and publishing this book, and I would like to thank them all for their help and patience as I am aware I am not always easy to work with.
Software architecture is more than database tables and code lines. Like any architecture, every piece should be well balanced and fit together in the complete structure. Unlike buildings and infrastructure, software is a lot more abstract, and the architecture is harder to see from outside. Together with Gary Winter, Eric Wauters, and Vjeko Babic, we have created a framework of patterns and best practices on how to put software together that is easy to understand, maintain, and upgrade, which are the cornerstones in applications such as Microsoft Dynamics NAV.
Special thanks go to David and Karen Studebaker. I met them in 2006 at TechEd in Boston, USA. Their help has been invaluable in bringing structure to my business and personal life. They have a very special place in my heart.
About the Reviewers
Danilo Capuano is a software engineer with over 8 years' experience. He lives in Naples, Italy, where he earned a degree in Computer Science. He currently works as a consultant on Microsoft Dynamics NAV in an IT company where he also completed the MCTS certification. You can refer to his website at www.capuanodanilo.com and his Twitter handle is @capuanodanilo.
Alex Chow has been working with Microsoft Dynamics NAV, formerly Navision, since 1999. Over the years, Alex has conducted hundreds of implementations across multiple industries. His customers range from $2 million a year small enterprises to $500 million a year multinational corporations.
Over the course of his Dynamics NAV career, he has often been designated as the primary person responsible for the success and failure of a Dynamics NAV implementation. The fact that Alex is still in the Dynamics NAV business means that he's been pretty lucky so far. His extensive career in the Dynamics NAV business is evidence of his success rate and expertise.
With a background of implementing all the functions and modules in and outside of Microsoft Dynamics NAV, Alex has encountered and resolved the most practical to the most complex requirements and business rules. Through these experiences, he has learned that sometimes you have to be a little crazy to have a competitive edge.
Believing that sharing these experiences and knowledge would benefit the Dynamics NAV community, Alex writes about his journey at www.dynamicsnavconsultant.com. He is also the founder of AP Commerce, Inc. (www.apcommerce.com), a full service Dynamics NAV service center founded in 2005. In addition, Alex has written a book about Dynamics NAV titled Getting Started with Dynamics NAV 2013 Application Development, Packt Publishing.
Alex lives in Southern California with his beautiful wife and two lovely daughters. He considers himself as the luckiest man in the world.
Stefano Demiliani is a Microsoft Certified Solution Developer (MCSD), MCAD, MCTS on Microsoft Dynamics NAV; MCTS on SharePoint; MCTS on SQL Server; and an experienced expert on other Microsoft-related technologies.
He has a Master's degree in Computer Engineering from Politecnico di Torino.
He works as a senior project manager and solution developer for EID (http://www.eid.it), a company of the Navlab group (http://www.navlab.it) and one of the biggest Microsoft Dynamics groups in Italy. His main activity is architecting and developing enterprise solutions based on the entire stack of Microsoft technologies (Microsoft Dynamics NAV, Microsoft SharePoint, and .NET applications in general).
He has written many articles and blogs on different Microsoft-related topics, and he's frequently involved in consulting and teaching. He has worked with Packt Publishing in the past for other books related to Microsoft Dynamics NAV.
You can get more details and keep in touch with him by reaching him via Twitter, @demiliani.
Tony Hemy has been deeply rooted in Microsoft Dynamics NAV from the age of 16. He started as an enthusiastic apprentice and now, more than a decade later, is an accomplished software development manager for Encore Business Solutions. Over the years, he has architected and customized Microsoft Dynamics NAV solutions for global organizations such as Warner Brothers and Viacom, earning an outstanding reputation and a role as the technical reviewer for two books published on Dynamics NAV. Tony has also served more than 5 years as a reserve soldier with the British Army, where he expanded not only his technical skills, but also the personal skills that have attributed to his disciplined work ethic and his determination to always do things right.
Tony's hands-on development experience with Microsoft Dynamics has given him an exceptional ability to help clients define the proper requirements that enable them to achieve their objectives. He has delivered extended capabilities through every version, every module, and every feature of Dynamics NAV, building thousands of unique configurations along the way. Tony also oversees software development, where he manages and mentors a talented development team and facilitates the best practices and standards that ensure clients receive the highest quality solutions and services. Tony is well traveled, well rounded, and well liked for his personable nature and no shortcuts
approach, whether he is writing complex code or coaching his team.
Daniel Rimmelzwaan was born and raised in the Netherlands and moved to the USA at the end of 1999 to be with his new American wife. In Holland, he worked as a Microsoft Access and VBA developer. When looking for a job as a VB developer in the USA, he was introduced to Navision by a VB recruiter and was intrigued by the simplicity of its development tools. He decided to accept the job offer as a Navision developer with the firm intention to continue looking for a real developer job.
Almost 15 years later, a couple of stints with Microsoft's partner channel, a few years as a freelancer, Daniel is still working with NAV. He currently works with KCP Dynamics Group, an international partner that provides services to customers all over the world, and he is enjoying his career more than ever.
Daniel has had the opportunity to work in a wide variety of roles such as developer, analyst, designer, team lead, project manager, consultant, and more. Although he has a versatile experience with all things related to NAV, his main focus is designing custom solutions and business analysis.
Ever since he started working with NAV, Daniel has been an active member of the online communities for NAV, such as http://mibuso.com/, http://dynamicsuser.net/, and the online forums managed by Microsoft. For his contributions to these online communities, Daniel received his first of ten consecutive Microsoft Most Valuable Professional awards in July 2005, which was just the second year that the MVP award was given out for NAV. The MVP award is given out by Microsoft to independent members of technology communities around the world and recognizes people that share their knowledge with other members of the community.
Daniel lives with his wife and two kids in Arizona in the USA.
www.PacktPub.com
Support files, eBooks, discount offers, and more
For support files and downloads related to your book, please visit www.PacktPub.com.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can search, access, and read Packt's entire library of books.
Why subscribe?
Fully searchable across every book published by Packt
Copy and paste, print, and bookmark content
On demand and accessible via a web browser
Free access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view 9 entirely free books. Simply use your login credentials for immediate access.
Instant updates on new Packt books
Get notified! Find out when new books are published by following @PacktEnterprise on Twitter or the Packt Enterprise Facebook page.
Preface
In 1997, the company I worked for was looking to replace their MS-DOS-based software package. We were very fortunate in finding Navision Financials 1.1 as a software package that supported the upcoming Windows platform and was flexible enough to be implemented, supporting our demands.
Even though the standard functionality was nowhere near what we have today, the structure of the application design was simple and solid and has not changed since then.
In the years after that, more companies embraced Navision as their answer to the changing demands in the market, and many vertical solutions that still exist today started their life cycle. With the acquisition of Navision by Microsoft, the interest of new partners grew into the channel we know today.
Microsoft Dynamics NAV offers a unique development experience that can only be fully used once you understand how the standard application parts are designed.
When properly licensed, everyone can change how the application works. With this great possibility comes great responsibility as this means that we can also easily break important business logic.
This results in a unique need for a designer of applications that run inside Microsoft Dynamics NAV to know more about the application without going into deep functional details.
The balance in this book will be between learning and understanding how the standard application features of Microsoft Dynamics NAV are designed, and how to use this knowledge when designing our own solutions. The area between understanding the application functionality and technical design is very thin.
In this book, we will make both changes to the standard application and create new solutions. We will also discuss how Microsoft Dynamics NAV can work with other applications.
What this book covers
Chapter 1, Introduction to Microsoft Dynamics NAV, will introduce you to Microsoft Dynamics NAV. We will briefly talk about the history of the application and talk about the concepts. We will cover some of the basic design patterns such as Number Series and Navigation. Then we will discuss the data model principles used by Microsoft Dynamics NAV using master data, journals, and ledger entries covered by documents.
Chapter 2, A Sample Application, will implement the theory you learned in the first chapter in a sample application. The goal of this chapter is to better understand how Journals and Ledger entries work throughout the system, and how to create your own Journal application. You will learn how to reverse engineer the standard application to learn from it and apply this to your own customizations. We will integrate the application with relationship management and sales in Microsoft Dynamics NAV, and extend Navigation and Dimensions for our solution.
Chapter 3, Financial Management, will explore how the financial management part of the application can be used and how it is designed. This is the heart of Microsoft Dynamics NAV. You will learn important concepts such as VAT and TAX, posting groups, closing dates, entry application, and financial data analysis. We will make some changes in the core application, adding new information to the general ledger, and learn how to integrate financial management into our add-on solution.
Chapter 4, Relationship Management, will help you to analyze the sales data in our system and be more productive towards your customers. We will explore the unique design of this part of the application and integrate this with the sample application we