Tuesday, April 18, 2017

Recent versions of Dynamics 365 for Operations

ReleaseVersionBuild numberAvailabilitySupport end dateTo learn more
Microsoft Dynamics 365 for Operations platformPlatform update 57.0.4475.16165March 2017March 31, 2018
Microsoft Dynamics 365 for Operations platformPlatform update 47.0.4425.16161February 2017February 28, 2018
Microsoft Dynamics 365 for Operations1611 7.1.1541.3036November 2016November 30, 2019What’s new or changed in Dynamics 365 for Operations version 1611 (November 2016)
Microsoft Dynamics 365 for Operations platformPlatform update 3 7.0.4307.16141November 2016November 30, 2017What’s new or changed in Dynamics 365 for Operations platform update 3 (November 2016)
Microsoft Dynamics AX platformPlatform update 27.0.4230.16130August 2016August 31, 2017What’s new or changed in Dynamics AX platform update 2 (August 2016)
Microsoft Dynamics AX platformPlatform update 17.0.4127.16103May 2016May 31, 2017What’s new or changed in Dynamics AX platform update 1 (May 2016)
Microsoft Dynamics AX application7.0.17.0.1265.23014May 2016June 30, 2017What’s new or changed in Dynamics AX application version 7.0.1 (May 2016)
Microsoft Dynamics AX platform7.07.0.4030.16079February 2016January 31, 2017What’s new or changed in Dynamics AX 7.0 (February 2016)
Microsoft Dynamics AX application7.07.0.1265.3015February 2016June 30, 2017What’s new or changed in Dynamics AX 7.0 (February 2016)

Support matrix

The following table provides information about the multiple releases of Microsoft Dynamics 365 for Operations platform and Dynamics 365 for Operations application, and which versions are supported.
Microsoft Dynamics AX 7.0 Microsoft Dynamics AX application 7.0.1Microsoft Dynamics 365 for Operations (1611)
Platform update 5CompatibleCompatibleCompatible
Platform update 4CompatibleCompatibleCompatible
Platform update 3CompatibleCompatibleCompatible
Platform update 2CompatibleCompatible
Platform update 1CompatibleCompatible
Platform 7.0Compatible

Update policy

Microsoft Dynamics 365 for Operations is serviced as a cloud offering. Updates to the Dynamics 365 for Operations platform and application will be handled in the following manner:
  • Dynamics 365 for Operations cloud platform updates will be initiated by Microsoft. After you provide your consent, platform updates will be rolled out to provide critical updates and features to the Dynamics 365 for Operations cloud platform.
  • Dynamics 365 for Operations application updates will be initiated by you, the customer. After you provide your consent, application updates will be applied to your production environment.
Application and platform updates will be scheduled with you, the customer. When platform and application updates are released, a sandbox environment will be made available to you, so that you can validate the updates. For details about how the sandbox environment will be provided, see the licensing guide.
Important: Some updates may be mandatory and require no consent. To help protect our customers and the service, Microsoft may apply critical updates directly to your Dynamics 365 for Operations production environment. If a critical issue is discovered, the following events will occur:
  • Microsoft will notify you about the critical update.
  • Microsoft will notify you of the required downtime window (if any) and apply the critical update to your Dynamics 365 for Operations production environment.
Dynamics 365 for Operations is supported according to the Microsoft Modern Lifecycle policy, which provides consistent and predictable guidelines for product support availability.
Original Post : https://ax.help.dynamics.com/en/wiki/manage-microsoft-dynamics-ax-online-updates/

Wednesday, April 5, 2017

Chnage Session date in Microsoft Dynamics AX 7/365

Accountants would like to easy enter corrections at a month end date. For this reason in previous versions of Microsoft Dynamics AX there was an option in the Tools menu to change the session date and time. However this menu is not implemented in the new cloud based Dynamics AX, the option to change the current work date is still available. The option is even closer than you might think.

Session date

When you need to process a lot of transactions on a certain date, you can select another date to be defaulted on e.g. general journal lines. This might be a month end date, but also any other date. In the new Microsoft Dynamics AX you can access this option in two ways:
  • Date selection on dashboard Calendar control.
  • Date/time selection in the Session date and time form.

Calendar control

When Dynamics AX is opened, you will find a calendar control on the left. At startup is will be defaulted with the system date.
Session date
You can just select another date on this control to change the session date. A confirmation will be prompted to the user.
Session date
When the session date is changed, the current date and the session date both are highlighted on this calendar control.
Session date
To take advantage of this you can create e.g. a new general journal and edit the lines. You will notice that the session date will be used as default for the new journal lines.
Session date

Session date and time form

You can also change the session date by using the form Session date and time. This can be required if you also need to change the session time. Another (temporary) reason can be found at the end of this document. To open the form, click Menu > Common > Common > Session date and time.
Session date
You can then change the session date and or time. To confirm this action you must click the OK button at the bottom of this slider form.
Session date

There is more…

Currently in the Technical preview (CTP8) there is an issue when you want to select a date in another year.
Session date
So when you want to select e.g. December 31, 2015 while the computer date is in 2016, the wrong date is compiled to be your session date. The month and date is correct, but it is taken the current year (2016). So please check the proposed date carefully before accepting a wrong one.
Session date
Changing the date using the Session date and time form to another year is working, so there is a workaround for this issue. I have created Connect feedback to have Microsoft aware of this.
@Actual post : https://kaya-consulting.com/session-date-in-microsoft-dynamics-ax/

Monday, March 13, 2017

Adding Validation to RDP Data Contracts - AX 2012

For RDP data contracts, implement the validate method and return True or False to indicate whether the parameter is valid. It is required to attach the DataContractAttribute attribute. The SysOperationContractProcessingAttribute attribute is optional. Attach the SysOperationContractProcessingAttribute attribute to use a custom UI builder with the contract class. Otherwise, the framework UI builder will be used to render the UI for dealing with the parameters when the report is run. To report a validation error, use the error method and write to the infolog. The error messages in the infolog will be marshaled from the service to the client and then rendered. Do not throw an error.

To add validation to an RDP data contract

  1. In the Microsoft Dynamics AX Development Workspace, open the AOT. Right-click the Classes node and then click New Class.
  2. Double-click the new class to open the classDeclaration in Code Editor.
  3. An RDP data contract must implement the SysOperationValidatable interface. The naming convention is [ReportName]Contract. The following code example illustrates the classDeclaration of the AssetDueReplacementContract data contract class that is used for the asset due replacement report.
    /// <summary>
    /// The <c>AssetDueReplacementContract</c> class is used as the data contract for the <c>AssetDueReplacement</c> SSRS report.
    /// </summary>
    [
        DataContractAttribute,
        SysOperationContractProcessingAttribute(classStr(AssetDueReplacementUIBuilder))
    ]
    public class AssetDueReplacementContract implements SysOperationValidatable
    {
        CurrentOperationsTax postingLayer;
        AssetReplacementDate dateFrom;
        AssetReplacementDate dateTo;
        Name dimension;
        NoYes includeSubTotal;
    }
    
    
  4. In the AOT, right-click the new class you created, point to New, and then click Method.
  5. In the Code Editor, provide validation logic for the parameters. The following example illustrates the validation logic for the AssetDueReplacementContract data contract class parameters.
    /// Determines whether the parameters are valid.
    /// </summary>
    /// <returns>
    /// true when the parameters are valid; otherwise, false.
    /// </returns>
    public boolean validate()
    {
        boolean isValid = true;
        if (!dateFrom)
        {
            isValid = checkFailed(strFmt("@SYS84753", "@SYS180311"));
        }
        if (!dateTo)
        {
            isValid = checkFailed(strFmt("@SYS84753", "@SYS180217"));
        }
        if (dateFrom > dateTo)
        {
            isValid = checkFailed(strFmt("@SYS300457", date2StrUsr(dateFrom, DateFlags::FormatAll), date2StrUsr(dateTo, DateFlags::FormatAll)));
        }
        return isValid;
    }

Monday, March 6, 2017

Debugger Windows In AX 2012

The following table describes the windows that make up the Microsoft Dynamics AX debugger:
Topic
Description
Explains how to use the Variables window.
Explains how to use the Watch window.
Explains how to use the Output window.
Explains how to use the Call Stack window.
Explains how to use the Breakpoints window.
These windows display detailed information about the current state of the executing code while you are debugging. You can move, undock, resize, or hide these windows. The chosen window layout persists between sessions. It is also possible to print or copy text from any window.
NoteNote
To restore the debugger UI to the default window layout, press CTRL+ALT+D or click View > Restore Default Layout.

The Variables and Watch windows each have a Name column that can be sorted. The default sorting order for each column is ascending, and the sort uses the complete text of the column to determine the order. The current sort direction is denoted by a small arrow inside the Name column. Clicking the column header reverses the current sort direction.
Sorting works separately for each window, including views that are grouped together. For example, in the Watch window, you can sort the Watch 1 view separately from the Watch 3 view. The current sorting does not persist across debugger instances. When the debugger is in break mode, the sorting state of each window is maintained. If you close the debugger, all sorting reverts to the default sorting the next time that the debugger is opened.

Deleting entries from the Watch window does not affect the current sort. When a new watch is added, it is added in ascending order regardless of the current sort order. The Name column has been re-sorted before the new watch appears in the correct position in the list.

Wednesday, March 1, 2017

Get Current User and User Name in AX

Static Name getCurUsername()
{
    return XUserInfo::find(false, curUserId()).name;
}

Monday, January 30, 2017

Hide Column if all Rows are empty in SSRS report - AX 2012

If there is a requirement to hide a column if all rows are empty. Use the below expression 

=IIF(Fields!ColumnSample.Value = Nothing, True, False)

Wednesday, January 11, 2017

How to rename records in Microsoft Dynamics AX7

In earlier versions of Microsoft Dynamics AX people were used to use the right-click menu in case it was needed to rename the primary key of a record. This post will tell you about renaming records in the current version of Microsoft Dynamics AX (aka AX7).

What is the renaming feature?

Every table needs to have a primary key to have records unique and identified. In e.g. the customers table, the account number is unique and cannot be inserted with the same value twice. In some rare cases you could be in the need to rename records. When you rename the primary key, all related tables will be looped and the new key will be replaced in these tables as well. Suppose you are changing the Project ID of a project, then all related hour transactions, revenue transactions, etcetera are also changed with the new ID. So the database will be kept consistent.

The former life

In the past we could open the right-click menu from a field and choose the option Record info. The form Record information is opened and when the table supports renaming and you have the correct permissions you can rename the record.

Rename records

When you now use the right mouse button, there is no option displayed to show the Record information form. Is the feature still supported?
The answer is yes. On each form in Microsoft Dynamics AX, there is a menu item Record info on the OPTIONS menu tab page.Click on the Record info button to get the next dialog presented:
The dialog gives you also the option to show all fields or view database log records related to a certain record. These options were also available in Microsoft Dynamics AX 2012. Click on the Rename button to change the Project-ID in this example.Fill the new Project ID and click OK to continue.
A latest confirmation will be asked before the record will be renamed. Click Yes to proceed.You will notice that the project has been renamed and when you check related transactions, these are also changed.

There is more...

To end with this blog, I would also give some important notes related to this functionality.
  • As related records will be changed to reflect the new record identification, this can take some time. Especially when there are a large number of records.
    Also if a related table is not having an index on the related identification field a performance issue can occur in case of many records.
    If you rename records in a global table, all companies will be looped to change related records in other tables. A large number of companies can also have effect on the duration of the rename function.
  • When a table has a Record ID as primary key with a natural key field, you will be presented to rename a Record ID. An example is the Worker table. You cannot rename the Personnel number.
  • If you want to rename an item number, there is an additional check if you have setup the table as scheduled job. In that case it is not allowed to change the primary key.
  • The rename function relies on table relations defined on tables in the development environment (Visual Studio). If a table relation is missing, tables might be skipped causing inconsistent data.
  • Always test if the rename function is working correctly and really all related tables are changed accordingly in a separate environment before doing this is a production environment.
Actual post : https://www.linkedin.com/pulse/how-rename-records-microsoft-dynamics-ax7-andr%C3%A9-arnaud-de-calavon

@Rahul Talasila

What is the primary purpose of using a Solution in Microsoft Power Platform & ALM?

As organizations embrace low-code development with Microsoft Power Platform , it becomes essential to manage and govern apps, flows, and dat...