Book Image

Extending Microsoft Dynamics 365 for Operations Cookbook

By : Simon Buxton
Book Image

Extending Microsoft Dynamics 365 for Operations Cookbook

By: Simon Buxton

Overview of this book

Dynamics 365 for Operations is the ERP element of Microsoft’s new Dynamics 365 Enterprise Edition. Operations delivers the infrastructure to allow businesses to achieve growth and make better decisions using scalable and contemporary ERP system tools. This book provides a collection of “recipes” to instruct you on how to create—and extend—a real-world solution using Operations. All key aspects of the new release are covered, and insights into the development language, structure, and tools are discussed in detail. New concepts and patterns that are pivotal to elegant solution designs are introduced and explained, and readers will learn how to extend various aspects of the system to enhance both the usability and capabilities of Operations. Together, this gives the reader important context regarding the new concepts and the confidence to reuse in their own solution designs. This “cookbook” provides the ingredients and methods needed to maximize the efficiency of your business management using the latest in ERP software—Dynamics 365 for Operations.
Table of Contents (16 chapters)

Creating your own query functions

Query functions are used in user queries. One of the issues they can solve is when submitting batch routines, where a query range would be based on the current date.

One such function is currentDate(). This is used in a query range as (currentDate()). The system sees the round brackets and knows to look for a query function. Whenever the query is executed, the system will use the current system date.

In prior editions of AX, we would add public static methods to the SysQueryRangeUtil class. This would mean an over-layer and, consequently, Microsoft has provided a way to add new query functions without over-layering.

How to do it...

To create a query function, follow these steps:

  1. Create a new class in the project and name it ConQueryRangeFunctions...