Preface
As a Dynamics AX developer, your responsibility is to deliver all kinds of application customizations, whether it is a small adjustment or a bespoke module. Dynamics AX is a highly customizable system and requires a significant amount of knowledge and experience to deliver quality solutions. One goal can be achieved in multiple ways and there is always the question of which way is the best.
This book takes you through numerous recipes to help you with daily development tasks. Each recipe contains detailed step-by-step instructions along with application screenshots and in-depth explanations. The recipes cover multiple Dynamics AX modules, so at the same time the book provides an overview of the functional aspects of the system for developers.
What this book covers
Chapter 1, Processing Data, focuses on data manipulation. It explains how to build data queries, how to check and modify existing data, how to read and write external files, and how to use date effectiveness.
Chapter 2, Working with Forms, covers various aspects of building forms in Dynamics AX. In this chapter, dialogs and their events are explained. Also, various useful features such as splitters, tree controls, checklists, and others are explained.
Chapter 3, Working with Data in Forms, basically supplements the previous chapter and explains data organization in forms. Examples in this chapter include instructions on how to build form data filters, process multiple records, and work with images and colors.
Chapter 4, Building Lookups, covers all kinds of lookups in the system. The chapter starts with a simple automatically-generated lookup, continues with more advanced ones, and finishes with standard Windows lookups such as the file selection dialog and color picker.
Chapter 5, Processing Business Tasks, explains the usage of the Dynamics AX business logic API. In this chapter, we cover topics on how to process journals, purchase orders, and sales orders. Other features such as modifying transaction text and creating electronic payment formats are included too.
Chapter 6, Integration with Microsoft Office, shows how Word, Excel, Outlook, and Microsoft Project applications could be integrated with Dynamics AX.
Chapter 7, Using Services, explains how to use services in Dynamics AX. The chapter covers standard query, metadata, and document system services. It also demonstrates how to create custom services and how to consume external services.
Chapter 8, Improving Development Efficiency, presents a few ideas about how to make daily development tasks easier. This chapter demonstrates how to build code templates, modify the tools and the right-click context menus, use search in development projects, and how to customize the personalization form.
Chapter 9, Improving Dynamics AX Performance, discusses how system performance could be improved by following several simple rules. This chapter explains how to calculate code execution time, how to write efficient SQL statements, how to properly cache display methods, and how to use Dynamics AX Trace Parser and SQL Server Database Engine Tuning Advisor.
What you need for this book
All coding examples were done using a virtual Microsoft Dynamics AX 2012 Image from the Microsoft Learning Download Center. The following list of software from the virtual image was used in this book:
Microsoft Dynamics AX 2012 (kernel: 6.0.947.0, application: 6.0.593.0)
Microsoft Dynamics AX Trace Parser (version: 6.0.947.0)
Microsoft Windows Server 2008 R2 Enterprise
Microsoft SQL Server 2008 R2
Microsoft Office Excel 2010
Microsoft Office Word 2010
Microsoft Office Outlook 2010
Microsoft Office Project 2010
Microsoft Visual Studio 2010
Microsoft Internet Explorer 8
Notepad
Although all recipes were tested on the mentioned software, they might work on older or newer software versions without any implications or with minor code adjustments.
Who this book is for
This book is for Dynamics AX developers primarily focused on delivering time proven application modifications. Although new X++ developers could use this book alongside their beginner guides, this book is more focused on people who are willing to raise their programming skills above beginner level and at the same time learn functional aspects of Dynamics AX. So, some Dynamics AX coding experience is expected.
Conventions
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
Code words in text are shown as follows: "Dynamics AX contains a list of NumberSeqApplicationModule
derivative classes, which holds the number sequence setup data for the specific module."
A block of code is set as follows:
static void CustAccountRename(Args _args) { CustTable custTable; select firstOnly custTable where custTable.AccountNum == '1103'; if (custTable.RecId) { custTable.AccountNum = '1103_'; custTable.renamePrimaryKey(); } }
New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: "Run the number sequence wizard by clicking on the Generate button in Organization administration | Common | Number sequences | Number sequences."
Note
Warnings or important notes appear in a box like this.
Note
Tips and tricks appear like this.
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply send an e-mail to <feedback@packtpub.com>
, and mention the book title through the subject of your message.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Customer support
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Downloading the example code
You can download the example code files for all Packt books you have purchased from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.
Errata
Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the errata submission form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded to our website, or added to any list of existing errata, under the Errata section of that title.
Piracy
Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.
Please contact us at <copyright@packtpub.com>
with a link to the suspected pirated material.
We appreciate your help in protecting our authors, and our ability to bring you valuable content.
Questions
You can contact us at <questions@packtpub.com>
if you are having a problem with any aspect of the book, and we will do our best to address it.