Windows Client Control Add-in Overview
With Microsoft Dynamics NAV 2018, you use Dynamics NAV control add-ins to extend the Dynamics NAV with custom functionality. A control add-in is a custom control, or visual element, for displaying and modifying data on Dynamics NAV pages. The following illustration shows a control add-in example that displays a gauge control on a page.
Control add-ins can exchange data with the Microsoft Dynamics NAV Server on various data types and can respond to user interaction to raise events in the Microsoft Dynamics NAV Windows client that execute additional C/AL code.
Control add-ins for Dynamics NAV are built with the Microsoft .NET Framework–based assemblies that you install on computers that are running the Microsoft Dynamics NAV Windows client.
With Microsoft Dynamics NAV 2013 R2, you can write control add-ins that can be displayed on both the Microsoft Dynamics NAV Web client and the Microsoft Dynamics NAV Windows client. For more information, see Extending Any Microsoft Dynamics NAV Client Using Control Add-ins.
In general, add-ins are built with the technology of the client.
In Microsoft Dynamics NAV Server, you register the control add-in, and you can then use it with Microsoft Dynamics NAV Windows client pages. For more information, see Installing and Configuring Windows Client Control Add-ins on Pages.
You can use Microsoft Visual Studio to create your own control add-ins. For more information, see Developing Windows Client Control Add-ins.
Windows Client Control Add-in Model
The following illustration shows the Microsoft Dynamics NAV Windows client in the Dynamics NAV architecture.
You install control add-in assemblies on the computer that is running the Microsoft Dynamics NAV Windows client, not the computer that is running Microsoft Dynamics NAV Server. Unlike pages that are instantiated by C/AL code, control add-ins are instantiated by using metadata that is in the Dynamics NAV database.
If the assembly that contains the add-in also contains other .NET objects that are used in C/AL code on the server, it might be necessary to have the assembly on the server, too. As a best practice, those cases should be extracted into a separate assembly to store the code for the client add-in only on the client computer.
The following table describes the interfaces that you can implement in a control add-in.
|Data Binding interface||Displays data from the Dynamics NAV database.||Binding a Windows Client Control Add-in to the Database|
|Event Interface||Selected public events in a control add-in that convert into C/AL triggers on a page that sends data back to the Microsoft Dynamics NAV Server.||Exposing Events and Calling Respective C/AL Triggers from a Windows Client Control Add-in|
|Methods and Properties||Selected public methods and properties in a control add-in that can be called from C/AL triggers on a page.||Exposing Methods and Properties in a Windows Client Control Add-in|
|Site Interface||Provides information about a control add-in and allows the control add-in to call functionality inside the Dynamics NAV framework, such as retrieving metadata (visible, caption, and so on). This interface is implemented by the default definition interfaces and base classes of the client extensibility API.||Client Extensibility API Overview
Control Add-ins That Are Not Supported
Control add-ins are not supported in the Microsoft Dynamics NAV Web client. If the page is displayed in the Microsoft Dynamics NAV Web client, the control add-in is ignored.