How To: Add deep links to reports (SSRS)
OVERVIEW
The process for embedding custom drill-down navigation links into application forms in Dynamics 365 for Operations differs from solutions in AX2012. The public APIs for the Application Suite backed by C# assemblies continue to be supported in D365 for Operations. However, to offer improved performance, Dynamics 365 for Operations Reporting framework does NOT auto-generate hyperlinks based on EDT relations.
The hosted Reporting Service only supports the deployment of signed C# assemblies. For advanced operations, the modern developer tooling supports embedded custom code defined using VB. See Expression Examples article for a collection of commonly used functions.
Here are some key benefits…
- There’s no longer a need for custom C# handlers to introduce user navigations to new application forms
- Improves performance of the report execution. C# methods incur a higher number of service calls
- Ability to send a variable number of context parameters
How To: Add deep links into application forms
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 #1 (Single parameter):
=Microsoft.Dynamics.Framework.Reports.BuiltInMethods.GenerateDrillThroughLink(Parameters!AX_ReportContext.Value, Parameters!AX_UserContext.Value, "BIR_RptDrillThruMenuItem", "Display", "BIR_QueryReportExecutionTable", "CustName", "George")
Example #2 (Multi-parameter):
=Microsoft.Dynamics.Framework.Reports.BuiltInMethods.GenerateDrillThroughLink(Parameters!AX_ReportContext.Value, Parameters!AX_UserContext.Value, "BIR_RptDrillThruMenuItem", "Display", "BIR_QueryReportExecutionTable", "CustName", "George", "CustGroup", "60")
GenerateDrillThroughLink API
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=Microsoft.Dynamics.Framework.Reports.BuiltInMethods.GenerateDrillThroughLink(
Parameters!AX_ReportContext.Value,
Parameters!AX_UserContext.Value,
<drill target menu item>,
<drill target menu item type>,
<table name>,
<field name>,
<field value>
[, <field name>, <field value>])
<drill target menu item>
The name of the menu item target for the hyperlink
<drill target menu item type>
The type of the menu item target for the hyperlink (e.g. “Display”)
<table name>
The name of the table referenced by the target menu item
<field name>
The name of the field in the table to restrict
<field value>
The value of the field in the table to restrict
Optional
Additional <table name> and <field name> pairs as needed
Comments
- Anonymous
June 03, 2018
If you run into below error during code upgrade from 2012, Please remove the method and related references and redeploy."Designs/Report/Expression]:Report: Unidentifiable substring 'DrillSourceDocument' in expression. The parser reported error message: Unrecognized identifier."Also, please consider using our utility method documented in this blog for replacement. - Anonymous
March 19, 2019
The comment has been removed