Skip to main content

Posts

Featured Post

Dynamics 365 For Operations: Integration helpers (URL)

The following link contains simple examples for OData, Soap, and JSON.
It helps developer to view and understand the sample code to understand the integration between dynamics 365 For Operations: 
Microsoft /Dynamics-AX-Integration
Data management and integrationthrough data entities
OData
NuGet

Recent posts

Dynamics 365 For Operations: GenerateDrillThroughLink/DrillThroughProvider - Hyperlink on SSRS report data fields

The process for embedding custom drill-down navigation links into application forms in Dynamics 365 for Operations differs from solutions in AX2012
Dynamics 365 for Operations Reporting framework does NOT auto-generate hyperlinks based on EDT relations.
How to get hyperlink on SSRS report data field:
In the Precision design, field 'Action' property, you can find the expression like:
=Microsoft.Dynamics.Framework.Reports.BuiltInMethods.GenerateDrillThroughLink(Parameters!AX_ReportContext.Value, Parameters!AX_UserContext.Value, "[MenuItemName]", "[MenuItemType]", "[TableName]", "{Arguments}")
Example: =Microsoft.Dynamics.Framework.Reports.BuiltInMethods.GenerateDrillThroughLink(Parameters!AX_ReportContext.Value, Parameters!AX_UserContext.Value, "ProjTable","Display","ProjTable", "ProjId",fields!ProjId.Value)




Dynamics 365 For Operations: Keyboard shortcuts

Action Shortcuts: 1. Open Action Search: Ctrl + ‘ and Alt + Q
2. Move to the Standard Action Pane: Ctlr + F6
3. To Open a Tab in the Action Pane or a Menu: Enter/Space/Alt+Down Arrow
4. Go to Next/Previous Option in a Menu: Down Arrow/Up Arrow
5. To Close a Tab in the Action Pane/Menu: Esc
6. Simulate a Right-Click: Shift + F10
7. To Open Dynamics 365 for Operations Context Menu: Ctlr + F10
8. To Execute the Default Button on a Form/Dialog: Alt + Enter
9. Click a Button or Tile: Enter/Space
10. View Refresh Information for a Count Tile: Alt + Up Arrow Date Picker Shortcuts: 1. To Open the Date Picker: Alt + Down Arrow
2. Move between Dates in the Date Picker: Ctlr + Arrows
3. Move to Next/Previous Month: Page Down/Page Up
4. Move to the Next/Previous Year: Ctrl + Shift + Page Down/Ctlr + Shift + Page Up FactBox Shortcuts: 1. Open the FactBox Pane: Ctrl + F2
2. Close FactBox Pane: Esc
3. Move to Previous/Next FactBox: Alt + Shift + Down Arrow/Alt + Shift + Up Arrow
4. Move to the th Factbox…

Dynamics 365 for Operations: Class extensions and Chain of Command (COC)-Next keyword

The functionality of extension classes (also known as class augmentation) is being improved to allow developers to wrap logic around methods defined in a base class. This allows extending the logic of public and protected methods without the need to use event handlers. When you wrap a method, you can also access other public and protected methods and variables of the class. This way, you can start transactions and easily manage state variables associated with your class. Class Student
{
    real studentAge(int arg)    {
    …
    }
} It is now possible to extend the functionality of method1 using an extension class by reusing the same name to add pre-and post-logic to it. [ExtensionOf(ClassStr(Student))]
class Student_Extension
{
    real studentAge (int arg)     {
     var s = next studentAge(arg + 4);

      return s;
    }
}
Wrapping studentAge and the required use of the next keyword creates a Chain of Command (CoC) for the method. Here is what happens when the following code executes. …

MS Dynamics 365 for Operations: Class extensions (ExtensionsOf[])

Hello J I would be discussing on how easily classes can be extended in Dynamics 365 for Operations. As we are aware that classes can be easily customizable by writing delegate and subscribing the method in the new extension class. But this could be sometime hectic and cumbersome as it consume lot of time when complex logic (Multiple scenarios or method) needs to be written. So in order to save time and effort, extension of class features can be easily adopted. Below syntax shows you how we can write extensions of for a particular class: Class Student
{
    real studentAge(int arg)    {
    …
    }
}
[ExtensionOf(ClassStr(Student))]
class Student_Extension
{
    real studentAge (int arg)     {
     var s = next studentAge(arg + 4);

      return s;
    }
}
We have observed a new keyword here “next” in the extension class. For the time being I would just say it creates a Chain of Command,  We will learn more about it in my next blog post. J

Dynamics 365 For Operations: Pack your data in ZIP folder

Hello guys,
Today, I would be sharing the code in D365 FO to pack your data (can be Xml, Excel, Word etc.) in ZIP folder.

using System.IO.Compression; classSBSCreateZipFile {       
/// <summary> /// Runs the class with the specified arguments. /// </summary> /// <param name = "_args">The specified arguments.</param> publicstaticvoid main(Args _args)     { SBSCreateZipFile file = newSBSCreateZipFile();         File.createAndDownloadExcelFileViaZip();     }
publicvoid createAndDownloadExcelFileViaZip()     { conststr extensionZIP = '.zip'; conststr extensionExcel =

Dynamics 365 For operations: How can you open table browser in IE?

In order to view the table data, normally from VS(visual studio) we can right click on the table and select the "Open table browser", it open up the table with data. Other way we can view the table data in the IE/Chrome browser by using the below method: https://<AX7URI>/?mi=SysTableBrowser&prt=initial&cmp=<Company>&tablename=<TableName>&limitednav=true AX7 URI :XYZ.cloudax.dynamics.com. Company:"USMF","GBSI" or which company wanted to view the data. TableName: Mention the AX table name i.e. like Customer/Vendors/CustGroup - which table data wanted to be viewed. https://XYZ.cloudax.dynamics.com/?mi=SysTableBrowser&prt=initial&cmp=GBSI&tablename=VendGroup&limitednav=true

Dynamics 365 For Operations [D365FO]: Ledger dimension and Default dimension helper class

Hello guys, I would be posting the important classes which handles the ledger dimension and default dimension logics like merging or replacing in D365FO (Dynamics 365 for operations). Like how we used to have DiemsionDefaultingService class in AX2012, We have the following two classes shown below:
LedgerDimensionFacade : 
This class used for fixed LedgerDimension, we have many static methods here, like Merge Dimension, getdefaultDimension and many more, refer below image.

publicstaticDimensionDisplayValue getDisplayValueForLedgerDimension(DimensionCombinationBase _dimensionCombinationBase)     { DimensionAttributeValueCombination dimensionAttributeValueCombination;
if (_dimensionCombinationBase == 0)         { return"";         }
selectfirstonly DisplayValue from dimensionAttributeValueCombination where dimensionAttributeValueCombination.RecId == _dimensionCombinationBase;
return dimensionAttributeValueCombination.DisplayValue;     }

Dynamics AX7 / D3FO: Code for Excel importing

Now Dynamics AX 365 is running on Web browser so import the data in AX using Excel, CSV, text etc. has been changed. FileName, FilenameOpen extended data type is no more supported to browse the excel file. If we compare Excel file import process between AX 2012 and Dynamics AX 365 then in AX 2012 file was importing from Client (from local system) to AX database directly but now the new AX is running on web server over the IIS so to import file in AX mean first file need to import on server and need to store in File server or SharePoint or Database. And then read the file from stored location may be from File server, SharePoint or Database. So how we can import data in AX using Excel file? The simple way is via using Data entities and if data entity does not exist then need to create new Data entity for table and then we can import data via using the excel file or any other supported file using that Data entity. But sometime required to import the data in AX using dialog in that case Data…

AX7 / D3FO: Table extensions and their method sequence

You can create a table extension to extend a table's design and logic. You can add new fields, field groups, indexes, mappings and relations. You can also add new fields to existing field groups, change the label of a table field, change the Created By, Created Date Time, Modified By, Modified Date Time properties. In Microsoft Dynamics AX 2012, you could override the virtual methods of a table's base class to control the behavior that occurred during table operations, such as when creating, reading, updating, or deleting. In the current version, you instead use extensions to implement event handlers that are called from the base implementations of the table methods. The following table lists each table method and its events.
Published Table method Preceding event Succeeding event validateWrite ValidatingWrite ValidatedWrite validateDelete ValidatingDelete ValidatedDelete validateField ValidatingField ValidatedField