Hello
I have a problem with report generating. We use HTML5 report viewer and basic implementation of ReportsControllerBase on server.
I've noticed that we have the CPU/memory recourse consumption after immediately pressing Stop Rendering button. The time of consumption recourses is the same as time without cancelling(about 18-20 second in my example)
There is log with calls of report generating. Last one with cancelling, previous without.
(see
*** ReportProcessor.ProcessReport DONE in 00:00:16.1918150 ***
and
*** ReportProcessor.ProcessReport DONE in 00:00:16.8522950 ***)
I've investigated how cancelation is working.
The Stop Rendering button send DELETE request to ReportsControllerBase.DeleteReport endpoint. It does something and set IsDeleted flag for document.
Then DocumentCancellationController.ThrowIfCancellationRequested() is called in some specific places in app. You can see that method in log.txt, so it was called after pushing the button.
I've profiled the hot path of generation of report. See hotpath.png.
The most CPU intensive work happens in ReportProcessor.ProcessRepourtSource()...
Pay attention to rendering calls.png - the first red dot here - ReportProcessor.ProcessRepourtSource() call.
The second - where the exception and actual cancelation happens.
I'm expecting it should happen much earlier and cancellation of generation of document(and resources consumption) will finish ASAP.
By the way, I see some cancelation checks in ReportProcessor.ProcessRepourtSource() as well - see throwIfCancellation.png
But cancelation request came after these check and most intensive CPU works already started.
Is it possible to fix that?
I display the WPF Report Viewer control in a closable tab. To free the resources I invoke DisposeViewerResources on tab close as described here: https://docs.telerik.com/reporting/embedding-reports/display-reports-in-applications/wpf-application/disposing-the-report-viewer-resources
However, I see the following dialog every time. There is no way to capture this error or suppress the dialog.
I am currently investigating including the Telerik Reports in our products but when I load the Web Report Designer it loads a theme which is overwriting our custom theme.
Is there any way to prevent this so that we keep our custom theme?
Hi,
It would be necessary to have a way to export a sub-report to a trdx file with the designer. Also, the same tool could be used to import a sub-report into an XML source. Currently, it takes a lot of acrobatics to be able to do this work.
Thank you for your help!
Please add DropDownTree and/or TreeView as single- and multi-value parameter editors to accommodate Hierarchical data. It would be nice to have them out-of-the-box when available values come from a hierarchical/self-referencing table(s), but I would be happy if they could be integrated as Custom Parameter Editors. I was able to render and populate the dropdowntree with checkboxes, pass the correct selected values, but the 'Preview' button would never enable upon selection. Also, the dropdowntree's AutoClose(false) was not recognized. I know this can be achieved outside of the report viewer, but sometimes that method disrupts the layout and flow of the reporting view.
I am using the stand alone report designer, connected to a report server.
In the report I am designing, I have several cross tabs. We now want to create the same crosstabs, with additional filtering for the data.
- I copy the existing crosstab, then paste it.
Both cross tabs now reference the SAME row groups. Because of this, when I edit the filters, it just doesn't work. Looks like there are reference issues when the copy / paste is done, not all the objects within the cross tab are getting a new copy.
Original crosstab - it has a row group called "groupName1" :
Copied crosstab - same "groupName1" row group - it shouldn't be the same row group object.
I would like to be able to access the report template layout using the ref so that I can save the report template outside of the designer. Similar to this:
<button type="button"class="btn btn-light btn-sm" @onclick="Save">Save</button>
<WebReportDesigner @ref="designer1"
DesignerId="wrd1"
ServiceUrl="/api/reportdesigner"
Report="Dashboard.trdp"
ToolboxArea="new ToolboxAreaOptions() { Layout = ToolboxAreaLayout.Grid }"
PropertiesArea="new PropertiesAreaOptions() { Layout = PropertiesAreaLayout.Categorized }" />
@code {
WebReportDesigner designer1;
void Test()
{
var layout = (byte)designer1.Report.Layout;
}
}
Hello
I have problem with visual studio auto close when I'm working in reporting designer.
When I'm working in reporting designer and do about 5 changes, Visual studio freezes and after few monents is restarted and I loose all my work.
It is really frequented problem and I can hardly work with reporting designer.
In Windows Event Viewer I everytime find this exception that referes to problem in GetAggregateFunctions().
Application: devenv.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.NullReferenceException
Server stack trace:
at Telerik.Reporting.Processing.AggregateFunctionHelper.GetAggregateFunctions(IServiceProvider provider)
at Telerik.Reporting.Design.Common.ExpressionBuilder.CategoryAdapter.<GetAggregates>d__1b.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at Telerik.Reporting.Design.Common.ExpressionBuilder.CategoryAdapter.FillAggregates(Category funcCategory, IServiceProvider provider)
at Telerik.Reporting.Design.Common.ExpressionBuilder.CategoryAdapter.CreateHierarchy(IServiceProvider provider, Boolean isFieldsTreeVisible)
at Telerik.Reporting.Design.Common.ExpressionBuilder.ExpressionBuilderDialog.LoadCategories(IServiceProvider provider)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)
at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(System.Runtime.Remoting.Messaging.Message, Boolean)
at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(System.Object, System.Runtime.Remoting.Proxies.MessageData ByRef)
at Telerik.Reporting.Design.Common.ExpressionBuilder.ExpressionBuilderDialog+LoadCategoriesDelegate.EndInvoke(System.IAsyncResult)
at Telerik.Reporting.Design.Common.ExpressionBuilder.ExpressionBuilderDialog.OnLoadCategoriesComplete(System.IAsyncResult)
at System.Runtime.Remoting.Messaging.AsyncResult.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage)
at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessageSink)
at System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.DoAsyncCall()
at System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.ThreadPoolCallBack(System.Object)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
Hi Telerik Team,
I am using telerik reporting watermark to put some "design" in our report template for all the pages, but a small image with a size of 50kb as watermark generates additional 200-300MB of memory usage during the rendering of the report.
Please reduce the memory consumption since this behavior limits the number of user that can access the report simultaneously
Thanks
Dear Telerik,
We use Azure App Services to host the reporting engine API.
Azure App Services validate all incoming requests to ensure they come in with valid Bearer JWT tokens. Your suggested workaround of validating the tokens only on some requests in the application would require us to turn off built-in Azure validation, which elevates security risks.
Can you please ensure [authenticationToken] is added to ALL requests from the Angular tr-viewer to the API, not just some requests?
Please redesign the viewer to authenticate all its requests to the backend service. Including but not limited to the requests report viewer makes to download generated report documents as attachments by performing get document requests through window.open() or any other methods.
We appreciate your efforts to obfuscate such requests; however, these efforts need to be in addition and not instead of industry standard security practices.
Thank you very much,
Sergey Nosov
Sr. Integrator/Developer,
Calpine Energy Solutions
I have a requirement for my report book to feature a title page and *THEN* a table of contents for the report book, followed by the report book's content. Currently, the TOC for a report book can only go at the beginning or the end of the book. My requirement required the ability to specify the TOC position more generally. Here are two possible approaches: 1. Implement the requirement as it is stated by allowing the report book's TOC to be positioned after such and such a report - the nth, or some other means of identification. 2. Honour the TOC for a report book that is nested inside another. I created a 'sub book' with the TOC as its first page and then added this an outer book. Unfortunately, the inner book's TOC was not honoured and the report was skipped. To my mind, the second suggestion above feels easier to implement (but I am guessing, of course). It certainly would allow just about any combination.
I am currently using Reporting 13.2.19.1030.
The following error occurred while using Reporting.
'Non-Error promise rejection captured with value: Error shown. Throwing promises chain stop error.'
I looked up the cause of this error, and I was able to confirm the following article.
As explained in the above article, the error in Report Server (5.1.19.618) has been corrected to appear to be a significant error.
So I looked up the release note to see if this error was fixed in the Reporting product, but I couldn't find any related information.
Is this error corrected on the Report Server only and not corrected in Reporting? If so, when can it be revised?
The SearchDialog is placed based upon a parent window of type "Window". However, when I use other types like "RadRibbonWindow" as my main window the placement does not work correct. As a result the SearchDialog is shown in the upper right corner of the desktop. This is the code (in SearchDialogController.cs):
Window GetParentWindow()
{
return (this.model.PageScrollViewer == null)
? null
: this.model.PageScrollViewer.FirstParentOfType<Window>();
}
At least this method should also take RadRibbonWindow in account (this is certainly not used that rarely since we all use Telerik components!) or for a more generic solution look for types that are derived from Window.
We display data inside an HtmlTextBox that was entered using the RadEditor. It would be great if the Reporting HtmlTextBox could be brought much closer or even in line with tag support as the editor. We are frequently running into issues with uncommon tags (that we strip out for the HtmlTextBox) and also with spacing being different. We work around the issues we have, but continuing increased tag support or auto stripping of unsupported tags would be very appreciated.
The Telerik.ReportViewer.Wpf NuGet package does not contain all the dependent UI for WPF assemblies. I cannot use the UI for WPF NuGet packages without also having a license.
It would be nice if the WPF Report Viewer NuGet package included all the dependent UI for WPF assemblies.
When the Report is shown in the HTML5 Interactive viewer, you can move the mouse over the cells in the Hyperlink column. When a cell has the mouse cursor hovering over it, a gray border is drawn around the cell.
The problem is that this gray border is partially covered by the Background color of the next cell.