Canada - 647-660-1660 | USA - 1-866-840-2834| UK - 020-3356-4991 | Caribbean - 441-296-1473

Dynamic Rendering of VST Forms in Microsoft Dynamics GP

Microsoft Dynamics GP

Dynamic Rendering of VST Forms in Microsoft Dynamics GP

July 22, 2014
|
1 Comment
|
39 Flares Twitter 0 Facebook 0 Google+ 0 LinkedIn 39 Reddit 0 Email -- Filament.io 39 Flares ×

Post the Service Pack 2 update to Microsoft Dynamics GP 2013, a number of fixes were made to improve the system as well as a number of features were added to existing add-ins, including Visual Studio Tools. The VST kit now came with capability of dynamic rendering of forms. Rendering allows a runtime of a web script to convert a Visual Studio form to a form in Silverlight and display it to the client.  

Dynamic rendering is a very straightforward and lucid approach to create a VST form that would work with Microsoft Dynamics GP web client. The client side itself renders the form dynamically at its side as well as takes care of the communication and exchange of data between the client side and the server side.

Control elements:

Dynamic rendering currently is compatible with a specific set of control elements. These are:

Controls for Dynamic Rendering in Microsoft Dynamics GP

Controls compatible with Dynamic Rendering in Microsoft Dynamics GP

If one tries to use control elements that are not listed above, those elements will fail to render on the form at the client side. Hence, it is suggested to use dynamic rendering only in cases when the aforementioned controls can satisfy the needs of VST based form.

Enabling the render:

In order to allow a form to undergo dynamic rendering, the form should be derived from the subclass termed as ‘DexUIForm’. Along with that, it is necessary to inform the web client that the VST form should be rendered systematically on its own. This is achieved by the addition of an attribute to the class of the form; named as ‘WCCompliantWindow‘. If this attribute is not added, the form will not be shown on the web client. If there is a need to indicate the platforms supported by the integration, the attribute ‘SupportedDexPlatforms‘ can be added as well.

 Code example:-

namespace TestCertusForm
{[SupportedDexPlatforms(DexPlatforms.WebClient)]
[WCCompliantWindow(true)]
Public Class TestForm
Inherits DexUIForm

Once the form layout is complete and the attributes are added in the code associated with it, compilation can be carried out and be tested to check whether the form works just as expected.

Properties and events:

Dynamic rendering within Microsoft Dynamics GP is compatible with a specific set of form event and properties.

The properties of the form created using VST are retrieved in the following scenarios during form creation:

  • When the form is created, the values of the properties are assigned to the Silverlight form via the server.
  • When the property of the form or a control element undergoes change on the server side, they are then transmitted to the form on the web client.
  • When the property of the form or a control element undergoes change on the client side, the values are transferred from the web client form to the server.

The events for the forms and controls are retrieved in the following scenarios:

  • Event occurring on server side. It could be mimicked on the Silverlight form as well.
  • Event occurring on client side. It could be informed to the server as well.

An extensive listing of the properties and events which Microsoft Dynamics GP supports via dynamic rendering can be found on the Microsoft website.

Dynamic rendering allows for a lot of functionality to be rendered on the web client via a Silverlight form. However, certain attributes such as grids and customized controls need to be relayed via custom rendering.

Any development requires a combination of various techniques. A good Microsoft Dynamics GP related consultation, based on your requirements, can be very beneficial in achieving the final picture of your solution.

 blog banner2

 

 

39 Flares Twitter 0 Facebook 0 Google+ 0 LinkedIn 39 Reddit 0 Email -- Filament.io 39 Flares ×