Friday, 30 November 2012

How to: Add a Drill Through Action on a Report [AX 2012]

MSDN does document how to add a drill through action on a report.

http://msdn.microsoft.com/EN-US/library/cc582049.aspx

However I feel it is quite invasive and it could be done a lot cleaner without touching too many standard objects.

Open up the SRSDrillThroughCommon class.

Change the method GetDrillThroughUrl from a protected method to a public method.

2012-11-30_1743Drill

Then from the business logic class write a drill through method like so.

    [DataMethod(), PermissionSet(SecurityAction.Assert, Name = "FullTrust")]
    public static string ToTermOfPayment(string reportContext, string termOfPayment)
    {
        const string PaymTermMenuItem = "PaymTerm";
        const string PaymentTable = "Payment";
        const string PaymTermIdField = "PaymTermId";
 
        return DrillThroughCommonHelper.GetDrillthroughUrl(reportContext, PaymTermMenuItem, string.Empty, PaymentTable, PaymTermIdField, termOfPayment);
    }

No comments: