Exemplo n.º 1
0
        internal static bool InitializeSubReport(Microsoft.ReportingServices.ReportIntermediateFormat.SubReport subReport)
        {
            bool result = false;
            OnDemandProcessingContext onDemandProcessingContext = null;

            try
            {
                onDemandProcessingContext = subReport.OdpContext;
                result = new Merge(subReport.Report, onDemandProcessingContext).InitAndSetupSubReport(subReport);
                if (onDemandProcessingContext.ErrorContext.Messages != null)
                {
                    if (0 < onDemandProcessingContext.ErrorContext.Messages.Count)
                    {
                        onDemandProcessingContext.TopLevelContext.ErrorContext.Register(ProcessingErrorCode.rsWarningExecutingSubreport, Severity.Warning, subReport.ObjectType, subReport.Name, null, onDemandProcessingContext.ErrorContext.Messages);
                        return(result);
                    }
                    return(result);
                }
                return(result);
            }
            catch (Exception e)
            {
                Microsoft.ReportingServices.ReportProcessing.ReportProcessing.HandleSubReportProcessingError(onDemandProcessingContext.TopLevelContext.ErrorContext, subReport, InstancePathItem.GenerateInstancePathString(subReport.InstancePath), onDemandProcessingContext.ErrorContext, e);
                return(result);
            }
        }
Exemplo n.º 2
0
        private bool IsTextboxInScope()
        {
            OnDemandProcessingContext odpContext      = m_reportRT.ReportObjectModel.OdpContext;
            IRIFReportScope           iRIFReportScope = null;

            if (odpContext.IsTablixProcessingMode)
            {
                iRIFReportScope = odpContext.LastTablixProcessingReportScope;
                if (iRIFReportScope == null)
                {
                    iRIFReportScope = odpContext.ReportDefinition;
                }
            }
            else if (odpContext.IsTopLevelSubReportProcessing)
            {
                Microsoft.ReportingServices.ReportIntermediateFormat.SubReport subReport = odpContext.LastRIFObject as Microsoft.ReportingServices.ReportIntermediateFormat.SubReport;
                Global.Tracer.Assert(subReport != null, "Missing reference to subreport object");
                iRIFReportScope = subReport.GetContainingSection(odpContext);
            }
            else
            {
                IReportScope currentReportScope = odpContext.CurrentReportScope;
                iRIFReportScope = ((currentReportScope == null) ? odpContext.ReportDefinition : currentReportScope.RIFReportScope);
            }
            if (iRIFReportScope == null || !iRIFReportScope.TextboxInScope(m_textBox.SequenceID))
            {
                return(false);
            }
            return(true);
        }
Exemplo n.º 3
0
        internal bool FetchSubReportData(Microsoft.ReportingServices.ReportIntermediateFormat.SubReport subReport, Microsoft.ReportingServices.ReportIntermediateFormat.SubReportInstance subReportInstance)
        {
            Microsoft.ReportingServices.ReportIntermediateFormat.ReportInstance reportInstance = subReportInstance.ReportInstance.Value();
            reportInstance.ResetReportVariables(subReport.OdpContext);
            bool flag;

            try
            {
                FetchData(reportInstance, subReport.MergeTransactions);
                if (subReport.OdpContext.ReprocessSnapshot && reportInstance.IsMissingExpectedDataChunk(subReport.OdpContext))
                {
                    flag = false;
                }
                else
                {
                    if (subReport.OdpContext.ReprocessSnapshot && !subReport.InDataRegion)
                    {
                        PreProcessTablixes(subReport.Report, subReport.OdpContext, onlyWithSubReports: false);
                    }
                    flag = true;
                }
            }
            catch (ProcessingAbortedException)
            {
                flag = false;
            }
            if (flag)
            {
                reportInstance.CalculateAndStoreReportVariables(subReport.OdpContext);
            }
            return(flag);
        }
Exemplo n.º 4
0
        private void CheckRetrievalStatus(Microsoft.ReportingServices.ReportIntermediateFormat.SubReport.Status status)
        {
            Microsoft.ReportingServices.ReportIntermediateFormat.SubReport subReport = (Microsoft.ReportingServices.ReportIntermediateFormat.SubReport)m_reportItemDef;
            switch (status)
            {
            case Microsoft.ReportingServices.ReportIntermediateFormat.SubReport.Status.NotRetrieved:
            case Microsoft.ReportingServices.ReportIntermediateFormat.SubReport.Status.DefinitionRetrieveFailed:
                m_errorCode    = SubReportErrorCodes.MissingSubReport;
                m_errorMessage = RPRes.rsMissingSubReport(subReport.Name, subReport.OriginalCatalogPath);
                break;

            case Microsoft.ReportingServices.ReportIntermediateFormat.SubReport.Status.DataRetrieveFailed:
                m_errorCode    = SubReportErrorCodes.DataRetrievalFailed;
                m_errorMessage = RPRes.rsSubReportDataRetrievalFailed(subReport.Name, subReport.OriginalCatalogPath);
                break;

            case Microsoft.ReportingServices.ReportIntermediateFormat.SubReport.Status.DataNotRetrieved:
                m_errorCode    = SubReportErrorCodes.DataNotRetrieved;
                m_errorMessage = RPRes.rsSubReportDataNotRetrieved(subReport.Name, subReport.OriginalCatalogPath);
                break;

            case Microsoft.ReportingServices.ReportIntermediateFormat.SubReport.Status.ParametersNotSpecified:
                m_errorCode    = SubReportErrorCodes.ParametersNotSpecified;
                m_errorMessage = RPRes.rsSubReportParametersNotSpecified(subReport.Name, subReport.OriginalCatalogPath);
                break;

            default:
                m_errorCode    = SubReportErrorCodes.Success;
                m_errorMessage = null;
                break;
            }
            FinalizeErrorMessageAndThrow();
        }
 internal UserSortFilterContext(UserSortFilterContext parentContext, Microsoft.ReportingServices.ReportIntermediateFormat.SubReport subReport)
 {
     m_runtimeSortFilterInfo  = parentContext.RuntimeSortFilterInfo;
     m_dataSetGlobalID        = parentContext.DataSetGlobalId;
     m_inProcessUserSortPhase = parentContext.m_inProcessUserSortPhase;
     subReport.UpdateSubReportScopes(parentContext);
     m_containingScopes      = subReport.ContainingScopes;
     m_detailScopeSubReports = subReport.DetailScopeSubReports;
 }
Exemplo n.º 6
0
        internal bool InitAndSetupSubReport(Microsoft.ReportingServices.ReportIntermediateFormat.SubReport subReport)
        {
            IReference <Microsoft.ReportingServices.ReportIntermediateFormat.SubReportInstance> currentSubReportInstance = subReport.CurrentSubReportInstance;
            bool num = InitSubReport(subReport, currentSubReportInstance);

            if (num)
            {
                Microsoft.ReportingServices.ReportIntermediateFormat.ReportInstance reportInstance = currentSubReportInstance.Value().ReportInstance.Value();
                m_odpContext.SetupEnvironment(reportInstance);
                m_odpContext.ReportObjectModel.UserImpl.UpdateUserProfileLocationWithoutLocking(UserProfileState.OnDemandExpressions);
                m_odpContext.IsUnrestrictedRenderFormatReferenceMode = true;
            }
            currentSubReportInstance.Value().Initialized = true;
            return(num);
        }
Exemplo n.º 7
0
        private RenderingContext GetOrCreateRenderingContext(Microsoft.ReportingServices.ReportIntermediateFormat.SubReport subReport, Microsoft.ReportingServices.ReportIntermediateFormat.ReportInstance reportInstance)
        {
            RenderingContext renderingContext = null;

            if (m_report == null)
            {
                renderingContext = new RenderingContext(m_renderingContext, subReport.OdpContext);
                m_report         = new Report(this, subReport.Report, reportInstance, renderingContext, subReport.ReportName, subReport.Description, m_inSubtotal);
            }
            else
            {
                renderingContext = m_report.RenderingContext;
                m_report.SetNewContext(reportInstance);
            }
            return(renderingContext);
        }
        private void CreateSubReportInstance(Microsoft.ReportingServices.ReportIntermediateFormat.SubReport subReport, ScopeInstance parentInstance, OnDemandProcessingContext odpContext, IReference <IScope> owner)
        {
            if (subReport.ExceededMaxLevel)
            {
                return;
            }
            IReference <Microsoft.ReportingServices.ReportIntermediateFormat.SubReportInstance> reference2 = subReport.CurrentSubReportInstance = Microsoft.ReportingServices.ReportIntermediateFormat.SubReportInstance.CreateInstance(parentInstance, subReport, odpContext.OdpMetadata);

            subReport.OdpContext.UserSortFilterContext.CurrentContainingScope = owner;
            odpContext.LastTablixProcessingReportScope = parentInstance.RIFReportScope;
            if (SubReportInitializer.InitializeSubReport(subReport))
            {
                IReference <Microsoft.ReportingServices.ReportIntermediateFormat.ReportInstance> reportInstance = reference2.Value().ReportInstance;
                Merge.PreProcessTablixes(subReport.Report, subReport.OdpContext, !odpContext.ReprocessSnapshot);
                if (subReport.Report.HasSubReports)
                {
                    SubReportInitializer.InitializeSubReports(subReport.Report, reportInstance.Value(), subReport.OdpContext, inDataRegion: false, fromCreateSubReportInstance: true);
                }
            }
            reference2?.Value().InstanceComplete();
            odpContext.EnsureCultureIsSetOnCurrentThread();
        }
Exemplo n.º 9
0
        internal override object PublishClone(AutomaticSubtotalContext context)
        {
            SubReport subReport = (SubReport)base.PublishClone(context);

            context.AddSubReport(subReport);
            if (m_reportPath != null)
            {
                subReport.m_reportPath = (string)m_reportPath.Clone();
            }
            if (m_parameters != null)
            {
                subReport.m_parameters = new List <ParameterValue>(m_parameters.Count);
                foreach (ParameterValue parameter in m_parameters)
                {
                    subReport.m_parameters.Add((ParameterValue)parameter.PublishClone(context));
                }
            }
            if (m_noRowsMessage != null)
            {
                subReport.m_noRowsMessage = (ExpressionInfo)m_noRowsMessage.PublishClone(context);
            }
            return(subReport);
        }
 internal void AddSubReport(Microsoft.ReportingServices.ReportIntermediateFormat.SubReport subReport)
 {
     m_report.SubReports.Add(subReport);
 }
Exemplo n.º 11
0
 private static OnDemandProcessingContext InitializeSubReport(OnDemandProcessingContext parentOdpContext, Microsoft.ReportingServices.ReportIntermediateFormat.SubReport subReport, Microsoft.ReportingServices.ReportIntermediateFormat.ReportInstance reportInstance, bool inDataRegion, bool fromCreateSubReportInstance, out bool prefetchSuccess)
 {
     Global.Tracer.Assert(subReport.OdpContext != null, "(null != subReport.OdpContext)");
     prefetchSuccess = true;
     if (!inDataRegion)
     {
         IReference <Microsoft.ReportingServices.ReportIntermediateFormat.SubReportInstance> reference2 = subReport.CurrentSubReportInstance = ((subReport.OdpContext.SnapshotProcessing && !subReport.OdpContext.ReprocessSnapshot) ? reportInstance.SubreportInstances[subReport.IndexInCollection] : Microsoft.ReportingServices.ReportIntermediateFormat.SubReportInstance.CreateInstance(reportInstance, subReport, parentOdpContext.OdpMetadata));
         if (!fromCreateSubReportInstance)
         {
             ReportSection containingSection = subReport.GetContainingSection(parentOdpContext);
             parentOdpContext.SetupContext(containingSection, null);
         }
         Merge merge = new Merge(subReport.Report, subReport.OdpContext);
         prefetchSuccess = merge.InitAndSetupSubReport(subReport);
     }
     return(subReport.OdpContext);
 }
Exemplo n.º 12
0
        public override void Deserialize(IntermediateFormatReader reader)
        {
            reader.RegisterDeclaration(m_Declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.SubReport:
                    m_subReportDef = reader.ReadGlobalReference <SubReport>();
                    break;

                case MemberName.Parameters:
                {
                    ParametersImplWrapper parametersImplWrapper = (ParametersImplWrapper)reader.ReadRIFObject();
                    if (parametersImplWrapper != null)
                    {
                        m_parameters = parametersImplWrapper.WrappedParametersImpl;
                    }
                    break;
                }

                case MemberName.ReportInstance:
                    m_reportInstance = (IReference <ReportInstance>)reader.ReadRIFObject();
                    break;

                case MemberName.DataSetUniqueName:
                    m_instanceUniqueName = reader.ReadString();
                    break;

                case MemberName.ThreadCulture:
                    m_threadCulture = reader.ReadCultureInfo();
                    break;

                case MemberName.Status:
                    m_status = (SubReport.Status)reader.ReadEnum();
                    break;

                case MemberName.ProcessedWithError:
                    m_processedWithError = reader.ReadBoolean();
                    break;

                case MemberName.IsInstanceShared:
                {
                    object obj2 = reader.ReadVariant();
                    if (obj2 != null)
                    {
                        m_isInstanceShared = (bool)obj2;
                    }
                    break;
                }

                case MemberName.DataChunkNameModifier:
                {
                    object obj = reader.ReadVariant();
                    if (obj != null)
                    {
                        m_dataChunkNameModifier = (int)obj;
                    }
                    break;
                }

                default:
                    Global.Tracer.Assert(condition: false);
                    break;
                }
            }
        }
Exemplo n.º 13
0
        internal static IReference <SubReportInstance> CreateInstance(ScopeInstance parentInstance, SubReport subReport, OnDemandMetadata odpMetadata)
        {
            SubReportInstance subReportInstance      = new SubReportInstance(subReport, odpMetadata);
            IReference <SubReportInstance> reference = odpMetadata.GroupTreeScalabilityCache.AllocateAndPin(subReportInstance, 0);

            subReportInstance.m_cleanupRef = (IDisposable)reference;
            parentInstance.AddChildScope((IReference <ScopeInstance>)reference, subReport.IndexInCollection);
            return(reference);
        }
Exemplo n.º 14
0
 private SubReportInstance(SubReport subreport, OnDemandMetadata odpMetadata)
 {
     m_subReportDef   = subreport;
     m_reportInstance = odpMetadata.GroupTreeScalabilityCache.AllocateEmptyTreePartition <ReportInstance>(Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType.ReportInstanceReference);
 }
Exemplo n.º 15
0
 internal SubReport(IReportScope reportScope, IDefinitionPath parentDefinitionPath, int indexIntoParentCollectionDef, Microsoft.ReportingServices.ReportIntermediateFormat.SubReport reportItemDef, RenderingContext renderingContext)
     : base(reportScope, parentDefinitionPath, indexIntoParentCollectionDef, reportItemDef, renderingContext)
 {
 }
Exemplo n.º 16
0
        private bool InitSubReport(Microsoft.ReportingServices.ReportIntermediateFormat.SubReport subReport, IReference <Microsoft.ReportingServices.ReportIntermediateFormat.SubReportInstance> subReportInstanceRef)
        {
            bool flag = true;

            Microsoft.ReportingServices.ReportIntermediateFormat.SubReportInstance subReportInstance = subReportInstanceRef.Value();
            if (m_odpContext.SnapshotProcessing && subReportInstance.ProcessedWithError)
            {
                return(false);
            }
            try
            {
                if (!m_odpContext.SnapshotProcessing)
                {
                    subReportInstance.RetrievalStatus = subReport.RetrievalStatus;
                }
                if (subReportInstance.RetrievalStatus == Microsoft.ReportingServices.ReportIntermediateFormat.SubReport.Status.DefinitionRetrieveFailed)
                {
                    subReportInstance.ProcessedWithError = true;
                    return(false);
                }
                if (m_odpContext.CurrentReportInstance == null && subReport.Report != null)
                {
                    if (!m_odpContext.SnapshotProcessing)
                    {
                        subReport.OdpSubReportInfo.UserSortDataSetGlobalId = m_odpContext.ParentContext.UserSortFilterContext.DataSetGlobalId;
                    }
                    m_odpContext.UserSortFilterContext.UpdateContextForFirstSubreportInstance(m_odpContext.ParentContext.UserSortFilterContext);
                }
                if (!m_odpContext.SnapshotProcessing || m_odpContext.ReprocessSnapshot)
                {
                    Microsoft.ReportingServices.ReportIntermediateFormat.ReportInstance reportInstance = PrepareReportInstance(subReportInstance);
                    m_odpContext.CurrentReportInstance = reportInstance;
                    Init(includeParameters: true, parametersOnly: false);
                    subReportInstance.InstanceUniqueName = m_odpContext.CreateUniqueID().ToString(CultureInfo.InvariantCulture);
                    m_odpContext.SetSubReportContext(subReportInstance, setupReportOM: false);
                    SetupReport(reportInstance);
                    m_parameters = OnDemandProcessingContext.EvaluateSubReportParameters(m_odpContext.ParentContext, subReport);
                    bool hasMissingValidValue;
                    if (!m_odpContext.SnapshotProcessing && !m_odpContext.ProcessWithCachedData)
                    {
                        try
                        {
                            m_odpContext.ProcessReportParameters = true;
                            m_odpContext.ReportObjectModel.ParametersImpl.Clear();
                            Microsoft.ReportingServices.ReportProcessing.ReportProcessing.ProcessReportParameters(subReport.Report, m_odpContext, m_parameters);
                        }
                        finally
                        {
                            m_odpContext.ProcessReportParameters = false;
                        }
                        if (!m_parameters.ValuesAreValid())
                        {
                            subReportInstance.RetrievalStatus = Microsoft.ReportingServices.ReportIntermediateFormat.SubReport.Status.ParametersNotSpecified;
                            throw new ReportProcessingException(ErrorCode.rsParametersNotSpecified);
                        }
                        m_odpContext.ReportParameters = m_parameters;
                    }
                    else if (!m_parameters.ValuesAreValid(out hasMissingValidValue) && hasMissingValidValue)
                    {
                        subReportInstance.RetrievalStatus = Microsoft.ReportingServices.ReportIntermediateFormat.SubReport.Status.ParametersNotSpecified;
                        throw new ReportProcessingException(ErrorCode.rsParametersNotSpecified);
                    }
                    Init(m_parameters);
                    subReportInstance.Parameters = new ParametersImpl(m_odpContext.ReportObjectModel.ParametersImpl);
                    m_odpContext.SetSubReportNameModifierAndParameters(subReportInstance, !m_odpContext.SnapshotProcessing);
                    if (m_odpContext.ReprocessSnapshot)
                    {
                        reportInstance.InitializeFromSnapshot(m_odpContext);
                    }
                    EvaluateReportLanguage(reportInstance, null);
                    subReportInstance.ThreadCulture = m_odpContext.ThreadCulture;
                    if (!m_odpContext.SnapshotProcessing || m_odpContext.FoundExistingSubReportInstance)
                    {
                        flag = FetchSubReportData(subReport, subReportInstance);
                        if (flag)
                        {
                            subReportInstance.RetrievalStatus = Microsoft.ReportingServices.ReportIntermediateFormat.SubReport.Status.DataRetrieved;
                        }
                        else
                        {
                            subReportInstance.RetrievalStatus    = Microsoft.ReportingServices.ReportIntermediateFormat.SubReport.Status.DataRetrieveFailed;
                            subReportInstance.ProcessedWithError = true;
                        }
                    }
                    else
                    {
                        subReportInstance.RetrievalStatus    = Microsoft.ReportingServices.ReportIntermediateFormat.SubReport.Status.DataNotRetrieved;
                        subReportInstance.ProcessedWithError = true;
                    }
                    m_odpContext.ReportParameters = null;
                    return(flag);
                }
                Microsoft.ReportingServices.ReportIntermediateFormat.ReportInstance reportInstance2 = subReportInstance.ReportInstance.Value();
                m_odpContext.CurrentReportInstance = reportInstance2;
                m_odpContext.LoadExistingSubReportDataChunkNameModifier(subReportInstance);
                reportInstance2.InitializeFromSnapshot(m_odpContext);
                Init(includeParameters: true, parametersOnly: false);
                m_odpContext.ThreadCulture = subReportInstance.ThreadCulture;
                SetupReport(reportInstance2);
                m_odpContext.SetSubReportContext(subReportInstance, setupReportOM: true);
                m_odpContext.ReportRuntime.CustomCodeOnInit(m_odpContext.ReportDefinition);
                m_odpContext.OdpMetadata.SetUpdatedVariableValues(m_odpContext, reportInstance2);
                return(flag);
            }
            catch (Microsoft.ReportingServices.ReportProcessing.ReportProcessing.DataCacheUnavailableException)
            {
                throw;
            }
            catch (Exception ex2)
            {
                flag = false;
                subReportInstance.ProcessedWithError = true;
                if (subReportInstance.ReportInstance != null)
                {
                    subReportInstance.ReportInstance.Value().NoRows = false;
                }
                if (ex2 is RSException)
                {
                    m_odpContext.ErrorContext.Register((RSException)ex2, subReport.ObjectType);
                    return(flag);
                }
                return(flag);
            }
        }
Exemplo n.º 17
0
 internal void RetrieveSubreport()
 {
     if (!m_isNewContext)
     {
         return;
     }
     if (m_isOldSnapshot)
     {
         Microsoft.ReportingServices.ReportRendering.SubReport subReport = (Microsoft.ReportingServices.ReportRendering.SubReport)m_renderReportItem;
         if (subReport.Report != null)
         {
             if (m_report == null)
             {
                 m_report = new Report(this, m_inSubtotal, subReport, m_renderingContext);
             }
             else
             {
                 m_report.UpdateSubReportContents(this, subReport);
             }
         }
         m_noRows             = subReport.NoRows;
         m_processedWithError = subReport.ProcessedWithError;
     }
     else
     {
         Microsoft.ReportingServices.ReportIntermediateFormat.SubReport subReport2 = (Microsoft.ReportingServices.ReportIntermediateFormat.SubReport)m_reportItemDef;
         RenderingContext renderingContext = null;
         try
         {
             if (subReport2.ExceededMaxLevel)
             {
                 m_errorCode    = SubReportErrorCodes.ExceededMaxRecursionLevel;
                 m_errorMessage = RPRes.rsExceededMaxRecursionLevel(subReport2.Name);
                 FinalizeErrorMessageAndThrow();
             }
             else
             {
                 CheckRetrievalStatus(subReport2.RetrievalStatus);
             }
             if (m_renderingContext.InstanceAccessDisallowed)
             {
                 renderingContext = GetOrCreateRenderingContext(subReport2, null);
                 renderingContext.SubReportHasNoInstance = true;
             }
             else
             {
                 m_renderingContext.OdpContext.SetupContext(subReport2, base.Instance.ReportScopeInstance);
                 if (subReport2.CurrentSubReportInstance == null)
                 {
                     renderingContext = GetOrCreateRenderingContext(subReport2, null);
                     renderingContext.SubReportHasNoInstance = true;
                 }
                 else
                 {
                     Microsoft.ReportingServices.ReportIntermediateFormat.SubReportInstance subReportInstance = subReport2.CurrentSubReportInstance.Value();
                     m_noRows             = subReportInstance.NoRows;
                     m_processedWithError = subReportInstance.ProcessedWithError;
                     if (m_processedWithError)
                     {
                         CheckRetrievalStatus(subReportInstance.RetrievalStatus);
                     }
                     Microsoft.ReportingServices.ReportIntermediateFormat.ReportInstance reportInstance = subReportInstance.ReportInstance.Value();
                     renderingContext = GetOrCreateRenderingContext(subReport2, reportInstance);
                     renderingContext.OdpContext.LoadExistingSubReportDataChunkNameModifier(subReportInstance);
                     renderingContext.OdpContext.SetSubReportContext(subReportInstance, setupReportOM: true);
                     reportInstance.SetupEnvironment(renderingContext.OdpContext);
                 }
             }
         }
         catch (Exception e)
         {
             m_processedWithError = true;
             ErrorContext subReportErrorContext = null;
             if (subReport2.OdpContext != null)
             {
                 subReportErrorContext = subReport2.OdpContext.ErrorContext;
             }
             if (renderingContext == null && m_report != null)
             {
                 renderingContext = m_report.RenderingContext;
             }
             Microsoft.ReportingServices.ReportProcessing.ReportProcessing.HandleSubReportProcessingError(m_renderingContext.OdpContext.TopLevelContext.ErrorContext, subReport2, subReport2.UniqueName, subReportErrorContext, e);
         }
         if (renderingContext != null)
         {
             renderingContext.SubReportProcessedWithError = m_processedWithError;
         }
     }
     if (m_processedWithError)
     {
         m_noRows = false;
         if (m_errorCode == SubReportErrorCodes.Success)
         {
             m_errorCode    = SubReportErrorCodes.ProcessingError;
             m_errorMessage = RPRes.rsRenderSubreportError;
         }
     }
     m_isNewContext = false;
 }