Table of Contents
Preface
Chapter 1: Introducing Microsoft Dynamics NAV 2009
Chapter 2: The RoleTailored Client
Chapter 3: Roles and the Customer Model
Chapter 4: The Implementation Process
Chapter 5: Configuring the System
Chapter 6: Modifying the System
Chapter 7: Extending the Application
Chapter 8: The Development Lifecycle
Chapter 9: Troubleshooting
Chapter 10: Sample Application
Index
- Chapter 1: Introducing Microsoft Dynamics NAV 2009
- And now for something completely different
- Why RoleTailored?
- New architecture—a real deal
- Implementing Microsoft Dynamics NAV 2009
- What is this book all about?
- Microsoft Dynamics NAV 2009 application areas
- A new architecture explained
- Two-tier versus three-tier
- Architectures of Microsoft Dynamics NAV
- The Client Tier
- The Microsoft Dynamics NAV Service Tier (NST)
- Two-tier versus three-tier
- The future of Microsoft Dynamics NAV
- Summary
- And now for something completely different
- Chapter 2: The RoleTailored Client
- What is the RoleTailored client?
- First impressions
- New terms for the RoleTailored client
- The navigation window
- The address bar
- The command bar
- Local commands
- Customize and Help commands
- The navigation pane
- Where are all the options?
- The status bar
- The Role Center navigation page
- The Departments page
- Task pages
- Cards
- Lists
- Documents
- Journals
- List plus
- Matrices
- Wizards
- The Report Viewer
- Print and export
- The navigation window
- How to use the RoleTailored client
- Create a customer
- Create a sales order
- Post an invoice for a sales order
- Enter a cash receipt
- Concluding using the RoleTailored client
- How to personalize the RoleTailored client
- Make it your own
- Customize the navigation pane
- Adding list places to menus
- Personalizing pages using the customize menu
- Customize Actions
- Customize Reports
- Customize This Page
- Customize This Page (task page with FastTabs)
- Customize This Page (role center)
- Summary
- What is the RoleTailored client?
- Chapter 3: Roles and the Customer Model
- The Dynamics Customer Model
- Too much information
- A fresh beginning
- Departments, roles, process groups, and tasks
- What is a role in Dynamics NAV 2009?
- The roles available in Dynamics NAV 2009
- Role-centric thinking
- Discovering the existing roles
- What's in a role center?
- Customizing a role as a super user
- Customizing the Accounting Manager profile
- Clearing the configured pages for a profile
- Adding actions and reports to a profile
- Changing the layout of the Customer Card
- Customizing the Accounting Manager profile
- Extending existing roles as a developer
- Find the Page ID and source table of the activities part
- Adding the Priority Customer field
- Extending the Sales Cue table
- The Dynamics Customer Model
- Creating a new role
- Further Reading
- Summary
- Chapter 4: The Implementation Process
- What is an implementation?
- Implementation tasks
- Business process reengineering
- Configuration
- Customization
- Third-party solutions
- Choose the right approach
- Implementation tasks
- The role of methodology
- Microsoft Dynamics Sure Step
- Phases of an implementation
- Diagnostic phase
- Drafting the project scope
- Mind the gap
- What if it's not there?
- Detailed analysis
- Technical requirements
- Should we do all of it?
- Wrapping up
- Analysis phase
- Prepare the path
- Plan the resources
- Plan approvals
- Get the ball rolling
- Train the key users
- Data migration
- Master data migration
- Past transactions
- General data migration analysis considerations
- Detailed analysis
- User roles
- Integration and interfaces
- Document the requirements
- Prepare the path
- Design phase
- Understand the standard application
- Understand the problem
- Use your imagination
- Prototype, demonstrate, and iterate
- Learn how to eat an elephant
- Products of design
- When to stop
- Development phase
- Planning
- Setting up the environment
- Finally, development
- Application functionality
- Data migration development
- Security issues
- Document the changes
- Customer testing and acceptance
- Deployment phase
- Plan your steps
- Environment configuration
- User acceptance test
- Load test
- End-user training
- Go-live
- Operation phase
- No planning?
- Documentation
- Transition
- Closing off
- Final acceptance
- Who died?
- Did we go bananas?
- Betting a business on a mad horse
- Summary
- What is an implementation?
- Chapter 5: Configuring the System
- What is system configuration?
- A programmer's guide to accounting
- The hippo's bottom
- The black art of bookkeeping
- Finding dimensions with the five Ws (and the H)
- The chart of accounts
- Income statement
- Balance sheet
- Other reading
- Feeding the hippopotamus
- Is it a debit or a credit?
- Using dimensions to analyze financial data
- Accounting understood?
- Groups, groups, and more groups
- G/L entry
- VAT entry
- Vendor ledger entry
- Detailed vendor ledger entry
- G/L entries revisited
- Vendor posting group
- VAT Bus. Posting Group and VAT Prod. Posting Group
- More groups
- Where do dimensions come from?
- RIM
- The setup questionnaire
- General Ledger setup (before RIM)
- General Ledger setup (using RIM)
- Data migration
- Hurray for the Data Migration tool
- Limitations of the Data Migration tool
- What's missing
- The setup questionnaire
- Summary
- Chapter 6: Modifying the System
- Understanding the tools
- Modifications for non-programmers
- Object Designer basics
- Extending the data model
- Creating tables
- Adding fields
- Table relationships
- Table keys
- Field groups
- Customizing forms
- Creating forms
- Form properties
- Adding controls
- Subforms
- Menus and buttons
- Creating forms
- Customizing pages
- Page properties
- Page types
- Card
- List
- RoleCenter
- CardPart
- ListPart
- Document
- Worksheet
- ListPlus
- ConfirmationDialog
- NavigatePage
- Page Designer
- Containers
- Groups
- Fields
- Parts
- Positioning controls
- Spur some action
- Form Transformation tool
- Customizing reports
- Reporting in the Classic client
- Creating reports
- Components of a report
- Report logic
- Reporting in the RoleTailored client
- RoleTailored report creation
- Transforming layout
- Transforming request option forms
- Reporting in the Classic client
- Customizing MenuSuites
- A little bit of theory
- And some practice
- Customizing other objects
- Codeunits
- Dataports
- XMLports
- Summary
- Chapter 7: Extending the Application
- Learning to fish
- What's a Web service?
- It's not just for the Web
- What can we do with them?
- Calling a NAV Web service
- Creating a Web service
- Calling the Web service
- WinForms application
- Item look-up requirements
- Exposing the Web service
- New Windows application project
- Getting some data
- Filter Box and Find Button
- Testing time
- WinForms application summary
- Sidebar gadget
- Design time
- What are little gadgets made of?
- The gadget
- Flyouts
- Options
- The tricky bits
- Just a little bit of SOAP
- An HTML page that calls a NAV Codeunit
- Hey, Good Lookin'
- Design time
- Calling a Web service from NAV
- Always take the weather with you
- Calling out around the world
- Service oriented or service enabled?
- When is a service not a service?
- Service repository
- Service bus
- Don't worry, be happy
- Any questions?
- Document Pages as Web services
- Role Center as a Web service
- Records as parameters to Codeunits
- Codeunit functions that return complex data types
- XMLports as parameters to Codeunits
- More functions on a Page
- Can I break it?
- Presentation layers
- Summary
- Chapter 8: The Development Lifecycle
- Why is development different than programming?
- Development in Microsoft Dynamics NAV
- The lifecycle
- Microsoft solutions framework
- Understanding the requirements
- Designing the solution
- Extending existing functionality
- Designing a completely new functionality
- Designing tasks
- Data model
- User interface
- Reports
- Application logic
- Planning for performance and scalability
- Keys
- User interface
- Build
- Team approach
- Building the data model
- Building the user interface
- Beware the page
- Pages
- Reports
- User interface integration
- Building the application logic
- Security
- Testing
- Feature Complete
- Object versioning
- Should I change the Modified flag?
- When customers play developers
- Documentation
- Stabilization
- Issue Convergence
- Issue Log Cleared
- Final tests
- Release Readiness milestone
- Finalizing development work
- Deployment
- Documentation
- Deployment Stable and Deployment Complete
- Summary
- Why is development different than programming?
- Chapter 9: Troubleshooting
- Identifying problems
- Debugging
- Debugging the Service Tier
- Debugging the Classic client
- Code Coverage
- Performance tuning
- Client Monitor
- Built-in Client Monitor functionality
- Client Monitor helper objects
- Analyzing performance with Excel
- Analyzing data
- Multi-user issues
- Combining Code Coverage and Client Monitor
- How about the RoleTailored client?
- Other tools
- Event Viewer
- SQL Server Profiler
- Performance Monitor
- Dynamics management views and functions
- Task manager
- Client Monitor
- Planning ahead
- Hardware Guide
- Indexes
- Database Resource Kit
- Technical Presales Advisory Group (TPAG)
- Getting help
- Microsoft Dynamics NAV tools overview
- SQL Server Technical Kit for Microsoft Dynamics NAV
- Summary
- Chapter 10: Sample Application
- Sample code download
- Gathering requirements
- The scenario
- Functional requirements
- Process flow diagram
- Use-case modeling
- Defining the actors
- Defining the use-cases
- Use-case diagram
- Glossary of terms
- The domain model
- Use-case workshop
- Explaining the ORM diagram
- Mobile expense claim
- Finishing the functional requirements
- Architectural design
- Supplementary requirements
- Existing architecture and framework
- Budget
- What's cool?
- And the winner is…
- Build—technical design
- Tables
- Expense (new table)
- Expense Claim (new table)
- Location (Modify Table ID=14)
- Department (no changes to existing table)
- Customer (no changes to existing table)
- Expense Claim Setup (new table)
- User Setup (modify Table ID=91)
- Points raised by table design
- New items to consider
- Additional development tasks
- Working through the use-cases
- Do you want the good news or the bad news?
- Tables
- Build—prototype
- Additional tables
- User Setup (modify Table ID=91)
- Expense Claim Schedule (new table)
- Customer (modify Table ID=18)
- Time to build
- I love the Classic client
- Transformers, robots in disguise
- MenuSuite and navigation pane
- Additional tables
- Dynamics Mobile
- Overview tasklet
- Capturing Expense
- Editing Captured Expenses
- Synchronize
- Prototype, demonstrate and iterate
- Summary
- So long, farewell, Auf Wiedersen, Adieu



