Index
A
- ACID transactions
- atomic / Database transactions
- consistent / Database transactions
- isolation / Database transactions
- durable / Database transactions
- AOT / AOT
- AOT elements
- managing, with version control / Managing AOT elements with version control
- AOT security
- Application Integration Framework (AIF) / Creating the service class and service
- application logic / Application logic
- Application Object Server (AOS)
- Application Object Tree (AOT)
- about / The MorphX IDE
- appointment table
- custom fields, adding to / Adding custom fields to the appointment table
- args object
- automated unit test cases
- creating / Creating automated unit test cases
- unit test project, creating / Creating the unit test project
- unit test case, creating / Creating a unit test case
- unit test case, running / Running the unit test case
- automated unit testing
- about / Automated unit testing
- automated unit test cases, creating / Creating automated unit test cases
- AX
- configuring, for using MorphX VCS / Configuring AX to use MorphX VCS
- configuring, for using Team Foundation Services / Configuring AX to use Team Foundation Services
- AX logic
- event handling, used for / Hooking into standard AX logic using event handling
- appointment, associating with vehicle / Associating the appointment with a vehicle
- delegate, creating for other parties / Creating a delegate for use by other parties
- AX version control parameters
- configuring, for connecting to TFS / Configuring AX version control parameters to connect to TFS
B
- base enums / Base enums – enumerated types
- base query
- creating, for list page / Creating the base query for the list page
- behavior of class
- changing / Changing the behavior of a class
- business logic
- adding / Adding business logic
- record, checking for service schedule / Checking whether the record has a service schedule
- service schedule record, obtaining / Getting the service schedule record
- NextServiceDate method, creating / Creating the NextServiceDate and NextServiceOdo methods
- NextServiceOdo method, creating / Creating the NextServiceDate and NextServiceOdo methods
C
- changes
- making, factors / How to determine where to make the change
- making / How to determine where to make the change
- cross-reference data / Cross-reference data
- type hierarchy / Type hierarchy, Adding fields to tables
- classes / Classes
- client access license (CAL) / Impact on licensing
- CLR exceptions
- handling / Handling CLR exceptions
- CLR interop permission / The CLR interop permission
- code
- executing / What happens when the code executes
- executing, in CIL / Executing code in CIL
- code access permissions
- about / Code access permissions
- file I/O permission / File I/O permission
- CLR interop permission / The CLR interop permission
- code commenting
- about / Code snippet – code commenting
- code coverage
- code execution
- controlling / Controlling how and where code is executed
- code, constructing on specific tier / Constructing code on a specific tier
- data, passing between client and server / Passing data between client and server
- classes serializing, SysPackable interface used / Serializing classes using the SysPackable interface
- code, executing in CIL / Executing code in CIL
- code permission
- creating, URL / Providing access to server methods – code permissions
- Common Intermediate Language (CIL)
- about / The compiler and CIL
- compensation
- about / Database transactions
- compiler / The compiler and CIL
- components, development environment
- Title bar / The MorphX IDE
- Main menu / The MorphX IDE
- Content area / The MorphX IDE
- properties / The MorphX IDE
- Compiler output / The MorphX IDE
- Status bar / The MorphX IDE
- composite queries
- computed column
- adding / Adding a computed column
- performance / A note on performance of computed columns
- two fields, concatenating / Creating a computed column – concatenating two fields
- configuration keys
- setting up / Setting up license and configuration keys
- legacy security features / Legacy security features
- ConFMSVehicleFieldContract element / The design
- ConFMSVehicleFieldsI element / The design
- ConFMSVehicleFieldsUIBuilder element / The design
- ConFMSVehicleFormHandlerClasses element / The design
- cross-reference data
- about / Cross-reference data
- Using perspective / Cross reference – Used by
- Used by perspective / Cross reference – Used by
- updating / Keeping the cross-reference data up to date
- Using option / Cross reference – Using
- tool, URL / Cross reference – Using
- cue groups
- creating / Creating cues and cue groups
- service history cue, creating / Creating the service history cue
- Preview part, creating for cue / Creating a Preview part for the cue
- appointment cue, creating / Creating an appointment cue
- cues
- creating / Creating cues and cue groups
- customer model / Customer or end user models
- custom filters
- adding, to list pages / Adding custom filters to list pages
- customization / Key goals when customizing standard or third-party code
- custom lookup
- creating, for reference group controls / Creating a custom lookup for reference group controls
- creating, for standard fields / Creating a custom lookup for standard fields
- vehicle service provider, stating / Adding a method to state whether this is a vehicle service provider or not
- custom module
- integrating, with standard AX / Integrating a custom module with standard AX
- custom module, integrating with standard AX
- about / Integrating a custom module with standard AX
- vendor ID reference, adding / Adding the vendor ID reference to the vehicle table
- vendor, marking as vehicle service provider / Marking a vendor as a vehicle service provider
- reference group controls / Reference group controls
- custom lookup, creating / Creating a custom lookup for reference group controls
- vehicle service orders, reporting / Using event handlers to reduce footprint on standard AX
D
- data access
- restricting, with policies / Restricting access to data using policies
- database
- data refreshing, reference links / Changing the behavior of a class
- database transactions / Database transactions
- data isolation
- unit tests, creating with / Creating unit tests with data isolation
- datasource() method / Advanced methods of adding ranges to list pages
- data structure, design considerations
- extended data type (EDT) / Extended data types
- base enums / Base enums – enumerated types
- tables / Tables
- views / Views
- maps / Maps
- data structures / Data structures
- designing, for solution / Designing the data structures for our solution
- date-effective data
- making / Making data date-effective
- debugger
- using / Using the debugger
- default project
- setting up / Setting up the default project and model
- delegates
- delete action
- working / How this works
- delete actions
- demonstration
- creating / Investigating form events
- deployment procedure
- designing / Designing a deployment procedure
- development practices
- about / General development practices
- naming / Naming
- commenting / Commenting
- editor scripts / Editor scripts
- dimension attribute value set / Accessing the financial dimension framework
- drop dialog
- adding, for updating vehicle group / Adding a drop dialog to change vehicle group
- drop dialog form
- creating / Creating a drop dialog form
- duties
- creating / Creating duties
- Dynalink
- about / Creating the service history cue
- Dynamics AX
- about / The technical overview of Dynamics AX
- model store database / The model store database
- compiler / The compiler and CIL
- CIL / The compiler and CIL
- Dynamics AX 2012 licensing and pricing guide
E
- editor scripts
- about / Editor scripts
- URL / Editor scripts
- element
- enumerated types
- creating / Creating enumerated types
- creating, for vehicle table / Creating the enumerated types for the vehicle table
- event handler method
- creating / Creating the event handler method
- event handling
- used, for hooking into standard AX logic / Hooking into standard AX logic using event handling
- eventing
- about / Eventing
- event subscription / Event subscription
- delegates / Delegates
- Event Trace Log (ETL)
- about / Interpreting the results
- exception handling
- about / Exception handling
- general exceptions, handling / Handling general exceptions
- CLR exceptions, handling / Handling CLR exceptions
- table update exceptions, handling / Handling table update exceptions
- execution modes, SysOperation framework
- using / Using the SysOperation framework execution modes
- code, executing asynchronously / Executing code asynchronously
- code, executing with batch framework / Executing code using the batch framework
- last value / Last value and usage data
- usage data / Last value and usage data
- task processed result, handling / Handling the result of a task processed asynchronously
- references / References
- existing menu
- customizing / Customizing an existing menu
- extended data type (EDT) / Extended data types
- Extended Data Type (EDT)
- about / Defining a number sequence
- extended data types
- creating / Creating extended data types
- Extensible Data Security (XDS) / Restricting access to data using policies
- extension table
- used, for additional fields / Using an extension table for additional fields
- limitations / Using an extension table for additional fields
F
- fields
- adding, to tables / Adding fields to tables
- groups / Field groups
- field groups / Field groups
- file I/O permission / File I/O permission
- financial dimension framework
- accessing / Accessing the financial dimension framework
- references / References
- find method
- about / Code snippet – the find method
- firstonly keyword
- fleet management system menu
- creating / Creating a menu structure
- footprint, of changes
- minimizing / Minimizing the footprint of changes
- changes, making / Where to make the change
- field groups, using / The use of field groups
- eventing / Eventing
- class, extending / Extending a class
- table-level form events / Table-level form events
- form events
- investigating / Investigating form events
- form handler
- modifying, for storing vehicle record / Modifying the form handler to store a vehicle record
- modifying / Modifying the form handler to initialize from the vehicle
- form layout
- defining / Taking more control over the form layout
- properties / Taking more control over the form layout
- form part
- creating / Creating a form part
- form, creating for / Creating the form for the form part
- reference, creating / Creating the form part reference
- menu item, creating / Creating the menu item and associating it with the vehicle table
- menu item, associating with vehicle table / Creating the menu item and associating it with the vehicle table
- form parts
- using, on form / Using form parts on a form
- view, creating / Creating a view to aggregate the data for the form part
- query, creating for / Creating the query for the form part
- form, creating for / Creating the form for our form part
- queries / More on queries and forms
- forms / Forms
- about / More on queries and forms
- frameworks
- about / Patterns and frameworks, Frameworks
- Functional Definition Document (FDD)
- about / Creating a project
- Functional Requirements Document (FRD)
- about / Commenting
G
- general exceptions
- handling / Handling general exceptions
- getArg method / Creating the event handler method
- getArgNum method / Creating the event handler method
- getReturnValue method / Creating the event handler method
- getThis method / Creating the event handler method
- global address book
- about / Understanding the global address book
- electronic addresses / Electronic addresses
- postal addresses / Postal addresses
- addresses, creating programmatically / Creating addresses programmatically
- group control
- properties / Taking more control over the form layout
H
- handler class
- vehicle create form, creating with / Creating the vehicle create form with the handler class
I
- IL
- about / Executing code in CIL
- independent software vendors (ISVs)
- about / Layers and models
- info part
- completing / Completing the info part
- info parts
- creating, for displaying key business data / Creating info parts to show key business data
- query, creating for / Creating a query for the part
- creating / Creating the info part
- menu item, creating / Creating the part's menu item
- adding, to All loads list page / Adding the info part to the All loads list page
- inheritance hierarchy
- inherited tables
- creating / Creating the inherited tables
- InstanceRelationType property / More on the InstanceRelationType property
- initFrom method
- creating / Creating the initFrom method
- insert method / Moving table validation and logic into a class
- integrated development environment (IDE)
- IntelliSense / Getting the service schedule record
- interface / Interfaces
- ISV models / ISV models
L
- label file
- creating / Creating a label file
- label files
- about / Label files
- labels
- creating / Creating labels
- layer
- selecting, for solution / Selecting the appropriate layer for our solution
- layers
- layer system
- about / Layers and models
- license keys
- setting up / Setting up license and configuration keys
- linkActive()
- links
- creating, between forms programmatically / Creating links between forms programmatically
- list page
- base query, creating for / Creating the base query for the list page
- menu items, adding to / Adding the menu items to the list page
- list pages
- custom filters, adding / Adding custom filters to list pages
- ranges, adding with advanced methods / Advanced methods of adding ranges to list pages
- logic
- moving, in class / Moving table validation and logic into a class
M
- maps / Maps
- menu item properties
- Parameters / Adding a list page for inactive vehicles
- EnumTypeParameter / Adding a list page for inactive vehicles
- EnumParameter / Adding a list page for inactive vehicles
- menu items
- display / Creating the menu item
- output / Creating the menu item
- action / Creating the menu item
- used, for changing vehicle status / Using menu items to change the vehicle status
- data contract class, creating / Creating the data contract class
- class, creating to process update / Creating the class to process the update
- database transactions / Database transactions
- validation, adding to status change / Adding further validation to the status change
- code, adding to interface / Hooking up the code with the interface
- menu item handler class, creating / Creating the menu item handler class
- creating / Creating the menu items
- adding, to list page / Adding the menu items to the list page
- menu structure
- creating / Creating a menu structure
- metadata
- utilizing, within AX / Utilizing metadata within AX
- used, for accessing data model / Accessing the data model using metadata
- used, for accessing code / Accessing code using metadata
- code extendable, making with / Making your code extendable with metadata
- interface / Interfaces
- used, for sample solution / Sample solution using metadata
- Microsoft Dynamics AX development
- URL / Test-driven development
- model
- setting up / Setting up the default project and model
- models
- creating / Creating the models, Creating the models
- ISV models / ISV models
- VAR models / VAR models
- customer model / Customer or end user models
- end user model / Customer or end user models
- about / Models
- benefits / Models
- TFS interaction, using with / TFS interaction with models and layers
- model store database / The model store database
- modification / Key goals when customizing standard or third-party code
- modifiedField event
- class, creating to handle / Creating a class to handle the modifiedField event
- modifiedField method / Moving table validation and logic into a class
- MorphX IDE
- about / The MorphX IDE
- AOT / AOT
- saving / Saving your work
- Projects window / The Projects window
N
- navigation
- adding / Adding navigation
- service record, creating for vehicle / Adding the ability to create a service record for a vehicle
- service record, initializing from vehicle record / Initializing the service record from the vehicle record
- vehicle service records, viewing for vehicle / Viewing vehicle service records for a vehicle
- number sequences
- about / Number sequences
- defining / Defining a number sequence
- table, configuring for applying / Configuring the table to automatically apply the number sequence
O
- object-oriented (OO)
- options, context/right-click menu
- Add to Version Control / Managing AOT elements with version control
- Check In / Managing AOT elements with version control
- Check Out / Managing AOT elements with version control
- Undo Check Out / Managing AOT elements with version control
- History / Managing AOT elements with version control
- Get Latest / Managing AOT elements with version control
- options, delete action
- None / How this works
- Restricted / How this works
- Cascade / How this works
- Cascade + Restricted / How this works
- options, source control
- about / The options for source control
- options, version control
- Changes option / Changes
- Pending Objects option / Pending Objects
- Synchronise option / Synchronise
- Synchronisation log option / Synchronisation log
P
- parts
- about / What are parts?
- info parts / What are parts?
- form parts / What are parts?
- cues / What are parts?
- pattern
- patterns
- used, in interface design / Understanding the patterns used in interface design
- about / Patterns and frameworks, Patterns
- performance testing
- through code profiling / Code and database performance testing through code profiling
- results, interpreting / Interpreting the results
- SQL execution plans, enabling / Enabling SQL execution plans
- views, checking / Investigating the performance of views
- references / Investigating the performance of views
- policies
- used, for restricting access to data / Restricting access to data using policies
- privilege
- code access permissions / Code access permissions for a privilege
- code permission, creating / Creating a code permission
- privileges
- creating / Creating privileges
- security effect / How privileges affect security and user experience
- user experience effect / How privileges affect security and user experience
- buttons, hiding / Hiding buttons that the user has no access to
- access, refining to data / Refining access to the data
- access, providing to services / Providing access to services
- server methods / Server methods
- process cycles
- designing / Designing and creating process cycles
- creating / Designing and creating process cycles
- project
- creating / Creating a project
- Projects window
- private projects / The Projects window
- shared projects / The Projects window
Q
- queries / More on queries and forms
R
- reference group controls
- custom lookup, creating / Creating a custom lookup for reference group controls
- referential integrity
- remote procedure calls (RPC)
- Report viewer control
- role-based security, AX 2012
- roles
- creating / Creating roles
- security roles, testing / Testing the security roles
- client security tools and AOT relationship / The relationship between client security tools and the AOT
S
- SalesLineType class / How to determine where to make the change
- sample solution, metadata used
- design / The design
- utility class, creating / Creating a utility class
- interface class, creating / Creating the interface class
- user interface, creating / Creating the user interface
- form control definition contract class, creating / Creating the form control definition contract class
- form builder class, creating / Creating the form builder class
- vehicle table form, creating / Updating the vehicle table form
- scheduled tasks
- progress, tracking / Tracking progress of scheduled tasks
- scripts
- building, URL / Label files
- secondary list pages
- adding / Adding secondary list pages
- adding, for active vehicles / Adding a list page for active vehicles
- adding, for inactive vehicles / Adding a list page for inactive vehicles
- security model
- designing / Designing the security structure
- structure / Designing the security structure
- licensing impact / Impact on licensing
- structure, designing / Designing the security structure
- server methods
- access, providing / Providing access to server methods – code permissions
- code access permissions / Code access permissions for a privilege
- code permission, creating / Creating a code permission
- service details form
- service method
- creating / Creating a service method to change the vehicle group, Creating a service method to return a list of vehicle groups, Creating the service method
- information, obtaining from infoLog object / Getting information from the infoLog object
- updateVehicleGroup service method, creating / Creating the updateVehicleGroup service method
- utility method, creating / Creating a utility method to convert an AifQueryCriteria object to a Query object
- vehicle group data contract, creating / Creating a vehicle group data contract
- using, within Visual Studio test project / Using the new service within the Visual Studio test project
- setArg method / Creating the event handler method
- setArgNum method / Creating the event handler method
- setReturnValue method / Creating the event handler method
- setup forms
- creating / Creating setup forms
- vehicle group form / The vehicle group form
- setup tables
- creating / Creating the setup tables
- vehicle group table, creating / Creating the vehicle group table
- vehicle service schedule table, creating / Creating the vehicle service schedule table
- shared development
- about / Configuring AX to use MorphX VCS
- solution
- building / Building the solution
- source control
- configuring / Configuring source control
- AX configuration, for using MorphX VCS / Configuring AX to use MorphX VCS
- AX configuration, for using Team Foundation Services / Configuring AX to use Team Foundation Services
- SQL Server
- performance issues / Interpreting the results
- SQL Server Management Studio (SSMS)
- SQL Server Reporting Services (SSRS)
- standard AX
- custom module, integrating with / Integrating a custom module with standard AX
- standard code
- customizing, key points / Key goals when customizing standard or third-party code
- subscription
- adding, to TMSAppointmentTable.modifiedField / Adding a subscription to TMSAppointmentTable.modifiedField
- synchronous / Using the SysOperation framework
- SysOperation Framework
- SysOperation framework
- using / Using the SysOperation framework
- using, classes / Using the SysOperation framework
- controller, creating / Using the SysOperation framework
- execution modes, using / Using the SysOperation framework execution modes
- user interface, customizing / Customizing the user interface displayed by the SysOperation framework
- SysPackable interface
- used, for serializing classes / Serializing classes using the SysPackable interface
- system-generated fields
- RecId / Adding the find and exist methods
- RecVersion / Adding the find and exist methods
- DataAreaId / Adding the find and exist methods
- Partition / Adding the find and exist methods
T
- table
- creating / Creating the table
- fields, adding to / Adding fields to the table
- field groups, creating / Creating field groups
- indexes, creating / Creating indexes
- find method, adding / Adding the find and exist methods
- exist method, adding / Adding the find and exist methods
- table-level form events / Table-level form events
- tables / Tables
- field, adding to / Adding fields to tables
- tables, in solution
- defining / Data structures
- table update exceptions
- handling / Handling table update exceptions
- table validation
- moving, in class / Moving table validation and logic into a class
- Team Foundation Server (TFS)
- about / The options for source control
- Team Foundation Services (TFS)
- about / Configuring source control
- technical architecture, of solution
- about / The technical architecture of a solution
- configurable / The technical architecture of a solution
- extendable / The technical architecture of a solution
- Design around standard patterns / The technical architecture of a solution
- design, validating / The technical architecture of a solution
- AX features / The technical architecture of a solution
- rule-based tables / The technical architecture of a solution
- changes, minimizing to standard code / The technical architecture of a solution
- data structures / Data structures
- user interface / The user interface
- application logic / Application logic
- Technical Definition Document (TDD)
- about / Creating a project, Commenting
- technical solution
- designing / Designing the technical solution
- data structure, design considerations / Data structure design considerations
- classes / Classes
- forms / Forms
- templates, pattern
- ListPage / Understanding the patterns used in interface design
- DetailsFormMaster / Understanding the patterns used in interface design
- DetailsFormTransaction / Understanding the patterns used in interface design
- SimpleListDetails / Understanding the patterns used in interface design
- SimpleList / Understanding the patterns used in interface design
- TableOfContents / Understanding the patterns used in interface design
- DropDialog / Understanding the patterns used in interface design
- Dialog / Understanding the patterns used in interface design
- form structure / Form structure
- templates, user interface
- list page / The user interface
- details form, master / The user interface
- details form, transaction / The user interface
- simple list / The user interface
- simple list, details / The user interface
- table of contents / The user interface
- dialog / The user interface
- drop dialog / The user interface
- Test-driven Development (TDD) / Test-driven development
- test data
- setup / Setup and teardown of test data
- teardown / Setup and teardown of test data
- testing
- about / Testing
- test plans
- designing / Designing test plans
- TFS interaction
- with models / TFS interaction with models and layers
- with layers / TFS interaction with models and layers
- TFS project
- creating, Visual Studio Online used / Creating a new TFS project using Visual Studio Online
- third-party code
- customizing, key points / Key goals when customizing standard or third-party code
- Transact-SQL
- about / Views, Adding a computed column
- Transport Management System (TRAX) / Changing the behavior of a class
- troubleshooting, TFS
- about / Troubleshooting
U
- unit test
- results, reviewing / Reviewing the results of the unit test
- unit test case
- creating / Creating a unit test case
- running / Running the unit test case
- unit testing
- about / Unit testing
- code review / Code review
- Test-driven Development (TDD) / Test-driven development
- unit test project
- creating / Creating the unit test project
- unit tests
- creating, with data isolation / Creating unit tests with data isolation
- update method / Moving table validation and logic into a class
- User Acceptance Testing (UAT)
- about / Models
- user interface / The user interface
- user interface, SysOperation framework
V
- validateDelete method / Moving table validation and logic into a class
- validateField method / Moving table validation and logic into a class
- validateWrite method / Moving table validation and logic into a class
- validation logic
- adding / Adding validation logic
- Value-added Resellers (VAR)
- about / Layers
- VAR models / VAR models
- vehicle create form
- creating, with handler class / Creating the vehicle create form with the handler class
- vehicle group
- updating, drop dialog added / Adding a drop dialog to change vehicle group
- vehicle group form
- about / The vehicle group form
- final steps / Creating the menu item
- vehicle group logic
- exposing, as custom web service / Exposing the vehicle group logic as a custom web service
- service class, creating / Creating the service class and service
- service, creating / Creating the service class and service
- visual studio test project, creating / Creating the Visual Studio test project
- service method, creating / Creating a service method to change the vehicle group
- vehicle group table
- creating / Creating the vehicle group table
- extended data types, creating / Creating extended data types
- table, creating / Creating the table
- primary key EDT, completing / Completing the primary key EDT
- indexes, defining / More on indexes
- vehicle list page
- creating / Creating the vehicle list page, Creating the list page
- Details form, creating / Creating the Details form
- list page interaction class, creating / Creating the list page interaction class
- vehicle record
- storing, via form handler modification / Modifying the form handler to store a vehicle record
- vehicle service data form
- about / The vehicle service data form
- vehicle service data table
- creating / Creating the vehicle service data table
- vehicle service schedule table
- creating / Creating the vehicle service schedule table
- vehicle status
- changing, menu items used / Using menu items to change the vehicle status
- vehicle table
- creating / Creating the vehicle table, Creating the table that supports inheritance
- enumerated types, creating for vehicle table / Creating the enumerated types for the vehicle table
- enumerated types, creating for / Creating the enumerated types for the vehicle table
- table relations, completing / Completing the table relations
- completing / Completing the vehicle table
- inherited tables, creating / Creating the inherited tables
- vendor electronic payments
- version control
- adding / When to add to version control
- working with / Working with version control
- model, adding to / Adding a model to version control
- AOT elements, managing with / Managing AOT elements with version control
- options / Version control options
- view
- creating / Creating a view to aggregate the data for the form part
- query, creating for / Creating a query for the view
- creating, query used as data source / Creating the view using the query as a data source
- views / Views
- about / More on views – computed columns
- SQL Server, executing for / How SQL Server executes views
- computed column, adding / Adding a computed column
- computed column, creating / Creating a computed column – return data from related tables
- functions / Other useful functions
- misconceptions / Common misconceptions
- Visual Studio Online
- URL / Configuring AX to use Team Foundation Services
- using, with AX CU7 or prior / Using Visual Studio Online with AX CU7 or prior
- used, for creating TFS project / Creating a new TFS project using Visual Studio Online
- Visual Studio service test project
W
- Web service definition language (WSDL)
- Windows Communication Foundation (WCF)