It is a configureable tool for regulatory reporting, payments and electronic reporting.
The ER engine is targeted on the business users instead of developers. Because you configure formats instead of code.
ER supports :
- Microsoft word document
- Open XML Worksheets
The ER tool allows you to configure formats for electronic documents in accordance with the legal requirements of various countries or regions. ER lets you manage these formats during their life cycle.
ER engine capabilities:
- single shared tool for electronic reporting in different domains, and replace more than 20 engines that do some electronic reporting for Finance.
- Its reports formats is applicable to different versions of Finance means report dependancy not on the version of the finance.
- Custom formats can be created based on original formats. Easily can change the format based on the requirement due its support for localisation.
- It becomes the primary standard tool of electronic reporting for both Microsoft and Microsoft Partners.
Scenario: We were using dev environment of Dynamics Finance and Operations with Application release version 10.0 platform update 24. Microsoft released a new version 10.0.5 with platform update 26.
Now we have two options to use the new version.
- Download new VM and moved the custom models to the newly created VM
- upgrade the current VM on the latest update
In first option we need to create and setup the testing data again to test the code.
2nd option everything will remain same and no extra effort needed other than the applying update.
Definitely we selected the 2nd option and below steps were performed to update the environment.
- Download the latest release package from the asset library to the local VM development environment
- Unzip the zip file to the local VM in C drive by creating a custom folder (folder should not be in the users folder directory). I created with below name FnO10.0.234.10001App
- Stop the following services (Batch, Data import and IIS)
- Close Visual studio instances
- open command prompt as administrator
- set the directory to your custom folder contains the unzip files
- Run the below command to check the list of components installed
- C:\FnO10.0.234.10001App>AxUpdateInstaller.exe list
- From the above command you will get all the components already installed
- update the DefaultTopologyData.xml file located in the update folder in my case located in below location
- FnO10.0.234.10001App -> DefaultTopologyData.xml
- Best way to update this file copy on another location edit like below and replace in the above folder
- Generate the run book thru command prompt using below command
- Actual command: AXUpdateInstaller.exe generate -runbookid=[runbookID] -topologyfile=[topologyFile] -servicemodelfile=[serviceModelFile] -runbookfile=[runbookFile]
- [runbookID]– A parameter that is specified by the developer who applies the deployable package.
- [topologyFile]– The path of the DefaultTopologyData.xml file.
- [serviceModelFile]– The path of the DefaultServiceModelData.xml file.
- [runbookFile]– The name of the runbook file to generate (for example, AOSRunbook.xml).
- Should be modify as below
- AXUpdateInstaller.exe generate -runbookid=”Dev-runbook” -topologyfile=”DefaultTopologyData.xml“ -servicemodelfile=”DefaultServiceModelData.xml” -runbookfile=”Dev-runbook.xml”
- Import the run thru command prompt using below command
- AXUpdateInstaller.exe import -runbookfile=”Dev-runbook.xml”
- Execute the runbook thru command prompt using below command
- AXUpdateInstaller.exe execute -runbookid=”Dev-runbook”
This step is the longest step involving many sub-steps performed during this step.
Some steps even takes 2,3 or may more hours. please make sure system will not logout neither shutdown.
if any step fails during this step use below command to rerun
For me its fails on 19 step
Wait till last step completed
- Verify the installation by running below command
- AXUpdateInstaller.exe list
You can check the version also by login to the dynamics browser about option.
Please leave comment in the comments section if you are facing any issue while updating. I will try to assist.
Sometimes we need to delete the model and deployable package from the dev environments.
use Modelutil.exe to delete the model file from the packages local directory.
Package installation or deletion:
- Stop IIS (kill the IIS worker process from the task manager)
- Stop batch job DynamicsAXBatch job
- Delete the package folder located on C:\ or K:\AosService\PackagesLocalDirectory (make sure folder completely deleted)
- Open VS Dynamics -> Model Management -> Refresh models
Chain of Command now supports the more scenarios for the extensions on forms:
Now you can wrap the methods on forms, Forms data sources, Datafields and on form control methods.
- Form Data Sources
- Form Controls
- fields in data sources
Below is the complete example of Form Data source and just a code snippet for the rest. In below example we are updating the ratingmodel based on our custom logic that is global variable on the form.
Note: use element.FormToExtendVariable to access the form variables and datasources
Use element.FormToExtendMethod() to call the form methods
- [ExtensionOf(FormStr(FormName))] // for form extension
- [ExtensionOf(FormControlStr(FormName,FormControl))] // for form control method extension
- [ExtensionOf(FormDataFieldStr(FormName,FormDataSource,DataField))] // for form datasource method extension
- [ExtensionOf(FormDataSource(FormName,FormDataSource) // for form data source extension
To get any form control on any form use below method. Create this method as static and use anywhere in your code.
Just need to provide FormRun and control name as parameters
Public Static FormControl getFormControl(FormRun _formRun, str _controlName)
FormControl control = _formRun.control(_formRun.controlId(_controlName));
Debug::assert(control != null);
Scenario: Sometime we need to use the form datasource field events to validate or modify the data.
In below code we are updating the data of one field based on modifying the data on the other field
/// <param name=”sender”></param>
/// <param name=”e”></param>
[FormDataFieldEventHandler(formDataFieldStr(HcmTopicCreate, HcmTopic, Title), FormDataFieldEventType::Modified)]
public static void Title_OnModified(FormDataObject sender, FormDataFieldEventArgs e)
HcmTopic hcmTopic = sender.datasource().cursor();
HcmSkill hcmSkill = HcmSkill::findBySkill(hcmTopic.Title);
hcmTopic.Description = hcmSkill.Description;
Below are summary about the new update of Microsoft Dynamics Finance and Operations apps version 10.0.6
- Product Configuration models V2 data entity(2nd version)
- Feature Management Enhancements
- By default not all features are enable
- Project contract committed details
- Now user can drill-down into the details of the committed amount on the funding source
- Purchase agreement responsible party
- Now user can define primary and secondary responsible party on the purchase agreement classification form and resulting purchase agreement
- RFQ Link on the Purchase order line
- Now a reference link can be add from the purchase order line back to the corresponding RFQ lines they originated from
For more details visit Microsoft Documentation using below link
Whats changed in 10.0.6
Unable to connect to the remote server at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext)at Microsoft.WindowsAzure.Storage.Table.CloudTable.Exists(Boolean primaryOnly, TableRequestOptions requestOptions, OperationContext operationContext) at Microsoft.WindowsAzure.Storage.Table.CloudTable.CreateIfNotExists(TableRequestOptions requestOptions, OperationContext operationContext) at Microsoft.DynamicsOnline.Infrastructure.Components.TableAccessor.TableStorageAccessor.PerformOperation(CloudStorageAccount storageAccount, String tableName, Func`1 operation) at Microsoft.DynamicsOnline.Infrastructure.Components.TableAccessor.TableStorageAccessor.AddRecord[T](CloudStorageAccount storageAccount, String tableName, T record) at
This issue is coming because Azure emulator is not running.
Issue can be checked and resolved using below commands.
Scenario: Sometimes we need a simple dialog having some fields and we do not want to use dialog form ,instead of that we can create dialog thru X++ code.
Below is the code you can use to create simple dialog.
//Declare dialog variables
DialogField fieldfDate, fieldtDate;
FromDate _fromDate, _toDate;
dialog = new Dialog(“Select start and end date”);
//define fields to show on the dialog
fieldfDate = dialog.addField(extendedTypeStr(TransDate));
fieldtDate = dialog.addField(extendedTypeStr(TransDate));
//get values from the dialog fields
_fromDate = fieldfDate.value();
_toDate = fieldtDate.value();
Form Patterns are introduced in Dynamics 365 for Finance and Operations, In Dynamics AX2012 we used form styles. These Patterns provide a base structure based on particular style (including required and optional controls), and also provide many default control properties. Patterns have made the form development very easier and after applying the pattern its validate and give the gurantee to the developers that its correct and consistant.
Patterns help validate form and control structures, and also use of control in some places.Form patterns provide many default control properties, and these also contribute to a more guided development experience.
List of Top Level Form Patterns
||What it’s used for
|Details Master (two variants)
||A form that displays the details of a complex entity
||A form that displays the details of a complex transaction entity and its lines (for example, and order and its lines)
|Dialog (six variants)
||A form that is used as a dialog to gather a set of information
|Drop Dialog (two variants)
||A form that is used as a drop dialog to gather a small set of information to provide context for an action
|FactBox (two variants)
||A Microsoft Dynamics AX 2012 FactBox that displays information about a related record or set of records
||A Dynamics AX 2012 List Page
|Lookup (three variants)
||A form that is used as a lookup
|Simple Details (four variants)
||A form that is focused on a single record
||A form that displays details for a simple entity as a grid that has fewer than 10 fields per record
|Simple List & Details (three variants)
||A form that displays information about an entity of medium complexity
|Table of Contents
||A form that displays setup information or loosely related information sets
|Task (two variants)
||A legacy form pattern that is used to display master or transaction entities
||A form that displays a set of tab pages to the user to gather information in a predetermined order
||A form that is used to display an overview of an activity and is meant to be a primary means of navigation
|Workspace Panorama Sections (three variants)
||A form that is used to show content for a panorama section (via a Form Part Control) in the Operational Workspace
This is just an introduction of the form patterns will describe each pattern in details in separate post.