locked
Generic Error when downloading Quote Sub Report RRS feed

  • Question

  • I have tried to download the Quote Sub Report in CRM 2011 and get a generic error message.  Also, the download file button is grayed out to get further details on the error.

    The Quote Sub Report was customized and uploaded by a consultant prior to my arrival.  The sub report runs properly when the Quote report is ran.  My initial guess is that the consultant may have uploaded the quote sub report directly into SSRS itself instead of through the CRM UI, and somehow broke the existing link CRM had for downloading it.  The parent Quote report downloads without a problem.

    Has anyone seen something like this before or any ideas? I can download this sub report from SSRS, but I want to get an understanding of what is broken before I start modifying this report and attempt to upload it again.

    Below is the error from the event viewer on the CRM server when this happens.

    Thanks.

    The Web Service plug-in failed in OrganizationId: 91f9b650-30f3-4c7e-ba1c-33d81378003e; SdkMessageProcessingStepId: a871fc85-36fb-401f-9b28-f3b95bf63aa3; EntityName: report; Stage: 30; MessageName: DownloadReportDefinition; AssemblyName: Microsoft.Crm.Extensibility.InternalOperationPlugin, Microsoft.Crm.ObjectModel, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; ClassName: Microsoft.Crm.Extensibility.InternalOperationPlugin; Exception: Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
       at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
       at System.Web.Services.Protocols.LogicalMethodInfo.Invoke(Object target, Object[] values)
       at Microsoft.Crm.Extensibility.InternalOperationPlugin.Execute(IServiceProvider serviceProvider)
       at Microsoft.Crm.Extensibility.V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context)
       at Microsoft.Crm.Extensibility.VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)
    Inner Exception: System.NullReferenceException: Object reference not set to an instance of an object.
       at Microsoft.Crm.Reporting.SRSReport.ConvertDatasetBack(XmlNode dataset, Hashtable commandTextHash)
       at Microsoft.Crm.Reporting.SRSReport.ConvertReportBack(BusinessEntity report, Boolean saveFilterAsCustomProperty, ExecutionContext context)
       at Microsoft.Crm.ObjectModel.ReportServiceInternal`1.DownloadReportEntityDefinition(BusinessEntity report, Boolean includeFilters, ExecutionContext context)
       at Microsoft.Crm.ObjectModel.ReportServiceInternal`1.DownloadReportDefinition(Guid reportId, ExecutionContext context)
    .


    Jason Peterson

    Wednesday, October 8, 2014 4:48 PM

Answers

  • Hi Jason,

    you could try to import the rdl downloaded from ssrs through CRM and see if it fixes the issue.

    you can also try to enable trace to see if it helps to get finer exception details.

    regards

    Jithesh

    Thursday, October 9, 2014 9:06 PM

All replies

  • Bump

    Jason Peterson

    Thursday, October 9, 2014 12:54 PM
  • Hi Jason,

    you could try to import the rdl downloaded from ssrs through CRM and see if it fixes the issue.

    you can also try to enable trace to see if it helps to get finer exception details.

    regards

    Jithesh

    Thursday, October 9, 2014 9:06 PM
  • Thanks.  Looks like you are on the right track.  I did some testing in a VM to see what they likely did.

    It looks like they created a completely new Quote Sub-report (using Visual Studio or BIDS), and then used the CRM UI, edited and uploaded their custom report in an attempt to replace the existing Quote Sub-report and keep using the existing name instead of just going through the CRM UI and creating a new parent and child report with a different name.

    When you create a new report and choose to edit the existing report through CRM and upload your new report, it breaks a link somewhere and you are no longer able to download the report from the CRM UI at a later date if you need to edit it.  You have to download the report from SSRS report manager.

    But from testing, it also looks like if you go through the CRM UI and edit and upload the report you download from a vanilla environment, you can restore that broken link and you can then download the report again from the CRM UI.

    In short, it looks like the consultant should have just created a new parent Quote and child Quote Sub-report and uploaded them using new names.  Then trained the users to run that new Quote report with the new name.  It would have saved a lot of aggravation.


    Jason Peterson

    Monday, October 13, 2014 2:26 PM