RDL Sandboxing
    • 11 Nov 2024
    • 1 Minute to read
    • Contributors
    • PDF

    RDL Sandboxing

    • PDF

    Article summary

    Enabling RDL sandboxing for a DEV/1Box environment does not exactly simulate a self-service environment because the self-service environment uses ‘fabric hosting’ and multiple reporting servers. An attempt to enable RDL sandboxing has caused issues similar to those in a self-service environment. These issues are caused by some discontinued features (reflection) in the Reporting Server (SSRS). It should not be an issue for a newer version of Lasernet FO Connector, as the discontinued reflection should be ‘re-added’ into SSRS/FO.

    The following error is displayed:

    Error

    System.Web.Services.Protocols.SoapException: The report server has RDLSandboxing enabled and the Value expression for the text box 'textbox79' contains a reference to a type, namespace, or member 'GetType' that is not allowed.

    While validating the report within Lasernet FO Connector, the following warning is shown:

    Warning

    Fixed report LAC_Fix_SalesConfirm.Report RDL definition contains reflection (Globals("RenderFormat").GetType().GetProperty("Name").GetValue(Globals("RenderFormat"), Nothing)), which will not be supported in upcoming versions of SSRS. Remove fixed report version and re-run report fix wizard on your development environment. This will require re-deploy of reports.

    This is an issue only when using SSRS as the origin for Lasernet and not when replacement reports (Query reports). It requires re-fixing the reports within a DEV/1Box environment and re-deploying the reports in Lasernet FO Connector after installing version 6.2.0 or newer.

    Technical Perspective

    A ‘fixed report’ is previously supposed to contain the following expression for the placeholder within SSRS. This reflection is discontinued in some versions of Dynamics 365 Finance and Operations, but it should be ‘re-added’ in the newer versions.

    =IIF(Globals("RenderFormat").GetType().GetProperty("Name").GetValue(Globals("RenderFormat"), Nothing)="XML","#LACRecId#"+CStr(Fields!RecId.Value)+"#LACRecId#","")

    After re-fixing the reports in version 6.2.0, this expression is modified as follows:

    ="#LACRecId#"+CStr(Fields!RecId.Value)+"#LACRecId#"

    For any additional information, visit: https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/analytics/reporting-experience-iias-environments


    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.