Telerik Forums
Reporting Forum
1 answer
18 views

Hello, we're in the process of migrating from Oracle Reports (since it's no longer supported) and are evaluating Telerik Reporting as a solution. After looking up the the Standalone editor and make a few POC reports, we have a few questions.

For reference :

  • we have ~700 reports that we will migrate over time. They all are "static" reports, meaning that we only want to produce a PDF that will be downloaded by the user at the click of a button.
  • we don't intend to use the Telerik Report Server solution.
  • we want our reports to consume a REST url to get the needed data (which will return a JSON). Which means we probably will have a REST url for each report.

Here are our questions :

  1. What's the difference between the .NET Framework and .NET 6 standalone executables ? Why use one or the other ? Are the report files (.TRDP/.TRDX) produced identical between the two ?
  2. When upgrading Telerik Reporting, we understand that we have to be careful about the version and it's changes. What about the report files ? Do we have to "upgrade" each and every one of them manually each time we upgrade Telerik Reporting ? With ~700 reports, it would be way too much time consuming.
  3. Our development workflow would be the following. Are there any catch we should be aware ? Is it feasible ? 
    1. Create a REST url for the new report
    2. Create the new report with the standalone editor and set it's datasource with the newly created REST url
    3. Push the report on a custom report server
    4. Implement the call to the report in our application

  4. Lastly, what's the best practice for the report versioning ? We'd like to use a GIT to store our report files and show diffs between each revision. I understand I would not be possible with a .TRDP since it's an archive, so should we save and store our report file as .TRDX to achieve this ?

Thanks a lot for your help !

1 answer
13 views
Are there any examples of integrating the reporting web service in .NET Aspire? .NET Core 8 minimal api works fine in this framework but your reporting service project makes mvc api controllers.
Dimitar
Telerik team
 answered on 09 Apr 2024
1 answer
41 views

This may be a dumb question, I apologize in advance.

I was tasked with updating and existing Rest service from .net 4.6.1 to .net 8.

I was going to just create a new one using your template, but it only supports up to .net 4.8.

What am I missing here?

 

Thank you!

Joe

Momchil
Telerik team
 answered on 25 Mar 2024
1 answer
30 views

Hi,

I've created the REST reporting service and that is running. I'm trying to add Web Report Designer to Blazor WASM project but running into errors I can't solve.

https://docs.telerik.com/reporting/designing-reports/report-designer-tools/web-report-designer/how-to-set-up-in-blazor-application#adding-the-blazor-web-report-designer-component

Is there a demo Blazor WASM project that implements the Web Report Designer?

Thanks

Rob

Dimitar
Telerik team
 answered on 11 Mar 2024
1 answer
38 views

Hi,

https://www.telerik.com/blogs/telerik-reporting-modern-ui-report-viewer-demo

I have followed the steps in this example and created a Reporting rest service and added the report viewer to my Blazor app. The rest service is running and I can display a report in the viewer.

I'm struggling though to retrieve the list of reports for the drop down list.  Should the rest service provide a list of files available from the endpoint "files" ?

ReportList = await HttpClient.GetFromJsonAsync<List<string>>("/api/files");

I'm currenly get a 404 error in the on intialazied  method.

Thanks

Rob

 

Momchil
Telerik team
 answered on 29 Feb 2024
2 answers
135 views

While developing an endpoint (.NET 6 API) to export a PDF from a TRDX file ( no problems here ) I decided to publish to the test environment.

I keep getting this error :

 

2024-02-19T06:04:14.518155356Z System.MissingMethodException: Type: Telerik.Reporting.ReportSerialization.Current.ReportSerializable`1[Telerik.Reporting.Report]
2024-02-19T06:04:14.518227356Z ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
2024-02-19T06:04:14.525815894Z ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
2024-02-19T06:04:14.525839694Z ---> System.TypeInitializationException: The type initializer for 'Telerik.Reporting.Drawing.Unit' threw an exception.
2024-02-19T06:04:14.525845694Z ---> Telerik.Drawing.Contract.DrawingFactoryUnavailableException: Cannot load assembly Telerik.Drawing.Skia. Make sure it is accessible in the current application domain.
2024-02-19T06:04:14.525850094Z at Telerik.Drawing.Contract.DrawingFactory.GetFactoryBase(String factoryTypeName, String factoryAssemblyName, Boolean assemblyLoaded)
2024-02-19T06:04:14.525854594Z at Telerik.Drawing.Contract.DrawingFactory.GetSkiaInstance()
2024-02-19T06:04:14.525858494Z at Telerik.Drawing.Contract.DrawingFactory.TryResolveFromRuntime()
2024-02-19T06:04:14.525862394Z at Telerik.Drawing.Contract.DrawingFactory.ResolveDrawingFactory()
2024-02-19T06:04:14.525866094Z at Telerik.Drawing.Contract.DrawingFactory.CreateDrawingFactory()
2024-02-19T06:04:14.525869694Z at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
2024-02-19T06:04:14.525873394Z at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
2024-02-19T06:04:14.525877094Z at System.Lazy`1.CreateValue()
2024-02-19T06:04:14.525880593Z at System.Lazy`1.get_Value()
2024-02-19T06:04:14.525884293Z at Telerik.Drawing.Contract.DrawingFactory.get_Instance()
2024-02-19T06:04:14.525887893Z at Telerik.Reporting.Drawing.Unit.GetDotsPerInch()
2024-02-19T06:04:14.525891493Z at Telerik.Reporting.Drawing.Unit.ResetDpiSettings()
2024-02-19T06:04:14.525895093Z at Telerik.Reporting.Drawing.Unit..cctor()
2024-02-19T06:04:14.525898593Z --- End of inner exception stack trace ---
2024-02-19T06:04:14.525902093Z at Telerik.Reporting.Drawing.Unit.Cm(Int32 value)
2024-02-19T06:04:14.525924393Z at Telerik.Reporting.Report..ctor()
2024-02-19T06:04:14.525929493Z at System.RuntimeType.CreateInstanceOfT()
2024-02-19T06:04:14.525933093Z --- End of inner exception stack trace ---
2024-02-19T06:04:14.525936593Z at System.RuntimeType.CreateInstanceOfT()
2024-02-19T06:04:14.525940093Z at System.Activator.CreateInstance[T]()
2024-02-19T06:04:14.525943593Z at Telerik.Reporting.ReportSerialization.Current.ReportSerializable`1..ctor(IConvertersContainer converters)
2024-02-19T06:04:14.525947293Z --- End of inner exception stack trace ---
2024-02-19T06:04:14.525950893Z at System.RuntimeMethodHandle.InvokeMethod(Object target, Span`1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
2024-02-19T06:04:14.525954893Z at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
2024-02-19T06:04:14.525959993Z at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture)
2024-02-19T06:04:14.525963993Z at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
2024-02-19T06:04:14.564619278Z at System.Activator.CreateInstance(Type type, Object[] args)
2024-02-19T06:04:14.564649677Z at Telerik.Reporting.Serialization.ObjectReader.CreateInstance(Type type, String name)
2024-02-19T06:04:14.564655577Z --- End of inner exception stack trace ---
2024-02-19T06:04:14.564659977Z at Telerik.Reporting.Serialization.ObjectReader.CreateInstance(Type type, String name)
2024-02-19T06:04:14.564663977Z at Telerik.Reporting.Serialization.ObjectReader.CreateInstance(Type type)
2024-02-19T06:04:14.564668077Z at Telerik.Reporting.Serialization.ObjectReader.ReadObject(Type type)
2024-02-19T06:04:14.564672077Z at Telerik.Reporting.Serialization.ObjectReader.ReadXmlElement(String name)
2024-02-19T06:04:14.564675877Z at Telerik.Reporting.Serialization.ObjectReader.Deserialize(IResourceHandler handler)
2024-02-19T06:04:14.564679577Z at Telerik.Reporting.XmlSerialization.XmlSerializerBase.Deserialize(XmlReader reader, IResourceHandler resourceHandler)
2024-02-19T06:04:14.564683477Z at Telerik.Reporting.XmlSerialization.XmlSerializerBase.Deserialize(Stream stream, IResourceHandler resourceHandler)

2024-02-19T06:04:14.564687177Z at Telerik.Reporting.XmlSerialization.ReportXmlSerializer.Deserialize(Stream stream)

 

Is this error related to the Trial version or is there anything else?

Dimitar
Telerik team
 answered on 20 Feb 2024
1 answer
30 views

Hi,

Is there a supported or recommended way to mark/tag a report definition with a version number?

Currently, we use:

  • reports created in the standalone designer, saved to *.trdp
  • ASP.NET Core .NET 6 application, that:
    • hosts the reporting REST service
    • uses EFCore IDefinitionStorage based report storage
    • has functionality to import *.trdp files into the database storage

It will be very useful to be able to automate the report import process on a deployment of the application so that it will only overwrite an existing report in the storage when it is a newer version.

Thanks.

Dimitar
Telerik team
 answered on 09 Feb 2024
1 answer
357 views

 I am using Telerik report in my c# project using their REST service, I am using the R1 2017 version, the parameters are all loading and their respective data from the database is also loading but I am getting this error when I click on preview,

When I analyzed the Telerik DLL with the error it meant that the parameters values list is null, but it can't be because I checked the network log, all the parameters are being passed to the REST API. This is the payload I'm sending

{"report":"Activity/Registered Users Report.trdp/VisionReport","parameterValues":{"CPR":"353464654","EMAIL":"","MOBILE":"","FromDate":"2023-12-31T00:00:00.000Z","ToDate":"2024-01-01T00:00:00.000Z","ChannelId":["006","002","005"]}}

to this telerik URL :

https://localhost:44302/api/reports/clients/aaf42228070/instances

When I run the same code and report in my local environment it runs properly. Still, when I deploy the code to the server, I receive this error, I ran the report on Telerik Designer on the server, there also it loads fine, it only causes issues when I am loading it in the browser on the server. Following is the complete error I'm receiving from Telerik.

 {message: "An error has occurred.", exceptionMessage: "Value cannot be null. ↵Parameter name: source",…}
    exceptionMessage
    : 
    "Value cannot be null.\r\nParameter name: source"
    exceptionType
    : 

"System.ArgumentNullException"
message
: 
"An error has occurred."
stackTrace
: 
"   at System.Linq.Enumerable.Select[TSource,TResult](IEnumerable`1 source, Func`2 selector)\r\n   
at Telerik.Reporting.Services.Engine.PersistableCollection`1.GetEnumerator()\r\n   
at Telerik.Reporting.Services.Engine.KeyItemPersistableCollection`2.ResolveItem(K referredInstanceKey, Boolean& newItem)\r\n   
at Telerik.Reporting.Services.Engine.ReportEngine.CreateReportInstance(String clientID, String report, Dictionary`2 parameterValues)\r\n   
at Telerik.Reporting.Services.WebApi.ReportsControllerBase.CreateInstance(String clientID, ClientReportSource reportSource)\r\n   
at lambda_method(Closure , Object , Object[] )\r\n   
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_1.<GetExecutor>b__3(Object instance, Object[] methodParameters)\r\n  
 at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   
 
 
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   
 at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   
 
 
 
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   
 at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   
 at System.Web.Http.Filters.AuthorizationFilterAttribute.<ExecuteAuthorizationFilterAsyncCore>d__3.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   
 
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n  
 at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__6.MoveNext()
1 answer
26 views

So, what we need to know is if we can add our new Telerik  service into a solution that 4 developers access, but we only allow the reporting dev to work on the reports and not have to pay for 4 licenses. Or does it need to be a stand alone project?

Essentially, would the Telerik reports still work if it's in a Project that is also accessed by multiple developers?

1 answer
47 views
Hi all, We have following requirements: 
1. We have an angular application which is going to load .trdp report from report API hosted inside the web app. 
2. These .trdp file have many controls which needs dynamic and custom binding.
3. Data should be pulled from OData API
4. Data pulled from point 3 should be conditionally bind to the different controls in .trdp file in report rest API.

We are facing the following challenges.
1. How to load .trdp file in a programmatic way at the reporting API.
2. How to bind the data to the controls after loading programmatic instance of .trdp report.
3. How to bind the loaded report object in html way in report viewer in Angular.

There are ways to do same in .NET desktop application but how to do same in Web, please advise.

Top users last month
Mark
Top achievements
Rank 1
Yurii
Top achievements
Rank 1
Leland
Top achievements
Rank 2
Iron
Iron
Iron
Hon
Top achievements
Rank 1
Iron
Deltaohm
Top achievements
Rank 3
Bronze
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?