Crystal Reports and CSLA Business Objects

Crystal Reports and CSLA Business Objects

Old forum URL: forums.lhotka.net/forums/t/254.aspx


BillG posted on Friday, June 02, 2006

At the risk of starting a flood of negative comments has anyone looked at the packaged Crystal Reports from within VS 2005?

After using the reporting Services and finding it quite "quirky" when it came to printing I have been working with it and have found it to be very "friendly" and easy to use.  Alot easier then Active Reports was with Net 1.x  and without the cost of Active Reports V 2.0

Granted, I haven't done much with fancy reports but have created a number of reports with multiple sub reports and so far so good.

The issue I see is in the startup time of the first report to be run. After that they load quick. Setting the datasource to a collection or object just takes one short line of code.

Creating an Install package, again using VS2005, allows you to package Crystal Runtime as part of the process.  After installing once, any updates do not need to include the Crystal Runtime.

I was just wondering what others think

ajj3085 replied on Thursday, June 08, 2006

Has anyone used Crystal with VS2005 and Csla (besidse BillG)?

I'm going to need to do reporting soon and was exploring this as an option.  If anyone has other options I'd be open to hearing them as well.  One thought I had would be to embed the browser control and have some 'reporting' objects which can spit out XML and my report can use Xslt to tranform them to Html.

Reports will not be just standard 'what did we sell this month', but would also include a printable invoice for an order, RMA, etc.

So, what has everyone done for these kinds of requirements?

One final requirement for my project; the solution must be deployable via ClickOnce.

Andy

xal replied on Thursday, June 08, 2006

Andy,

You know I've been toying with that idea in my mind for months... I'm glad to see I'm not the only one thinking about that. My experience with crystal reports makes me want to stay away from it because of implementation issues. Besides, if we're going to have a dataportal in IIS, we might as well add a couple of pages for reporting purposes, right? Or just return the xml and have a web control of some sort. The only "issue" is that you can't export to word, excel, pdf directly, but it can be worked around. My only concern is that I don't want to reinvent the wheel on the way... It's no good if it takes three months of work

Let me know if you ever get around to implement it...

Andrés

ajj3085 replied on Thursday, June 08, 2006

xal:
You know I've been toying with that idea in my mind for months... I'm glad to see I'm not the only one thinking about that.


I assume you're talking about the Xml + Xslt -> Html report?

xal:
My experience with crystal reports makes me want to stay away from it because of implementation issues.


What were your experiences with Crystal, and which version?  The one bundled with VS.Net?  I used Crystal before, but it was back in the day.. version 3 or 4 I think.  This was 1998 and 1999.  I remember it being a pretty good tool, but it talked to the DB directly.  Today this is something I'd like to avoid... but it does seem Crystal can handle talking to objects.  Indeed, a Crystal report (at least what i've seen so far) looks much like a Windows Form class.  But I haven't dug in much yet.

xal:
Besides, if we're going to have a dataportal in IIS, we might as well add a couple of pages for reporting purposes, right? Or just return the xml and have a web control of some sort.


My plan wasn't to use a web server at all; just have the app end up generating a local html file and load the browser with that.  Mainly because I don't have an application server, the client talks directly to the DB. 

My other thought would be to look into Reporting Services on Sql.  It looks like you can build a report and embed it in the binary (much like Crystal seems to do) and preform much the same task (ie, use BOs as a report source).

xal:
The only "issue" is that you can't export to word, excel, pdf directly, but it can be worked around. My only concern is that I don't want to reinvent the wheel on the way... It's no good if it takes three months of work


This may or may not be an issue for me.. I'm starting requirements gathering next week, but I wanted to look into the reporting since I know for sure I'll need to output stuff to the printer.

xal:
Let me know if you ever get around to implement it...


I'll post back my solution when I finally come up with one.

Andy

ajj3085 replied on Thursday, June 08, 2006

Hey guys,

Looking into it, I think the ReportViewer control and creating a Report (an rdlc file) from within VS is the way to go.  It doesn't have any dependancies except the framework itself, and it allows exporting to Excel or Pdf.

There's a site dedicated to the control: http://www.gotreportviewer.com/

Happy reporting!

I'll continue to play with this over the next few days and post back on any problems I find.

Andy

BillG replied on Thursday, June 08, 2006

I tried the report Viewer and found issues with printing (from the user side) sometimes they have to hit the print button more then once to print (the old forum had some issues noted with this)

As far as the ease

I create the report in the same project a s the business object is, this lets Crystaql see it.
Once I have the basic fields I can move the report files and access them from the Windows or web  application.(My apps are all using windows but a new one I am about to start leverages off what I have done and puts it onto the web

Deployment is only an issue on the initial install and you can include the required files in the setup.  This is much like the process for Report Viewer.

I am finding Crystal quite good for the reports I need in a number of deployed applications

Business Objects may have heard the .NET and Object Developers and this attempt seems to be headed in the right direction

 

 

ajj3085 replied on Friday, June 09, 2006

BillG:
I tried the report Viewer and found issues with printing (from the user side) sometimes they have to hit the print button more then once to print (the old forum had some issues noted with this)


Was this the only issue you found?  Do you know if there was a solution from MS (or anyone else)?

BillG:
I create the report in the same project a s the business object is, this lets Crystaql see it.

I'll probably put them in the UI application for now; down the road we may do a web UI for the same application, but its not determined for sure yet, and its pretty easy to move that kind of stuff around.

BillG:
Deployment is only an issue on the initial install and you can include the required files in the setup.  This is much like the process for Report Viewer.

So I take it you can't use ClickOnce to deploy the needed Crystal files?

BillG:
I am finding Crystal quite good for the reports I need in a number of deployed applications

From my invesitage so far, it seems they both offer pretty much the same functionality (aside from the printing issue, I'll do some testing on that here).  Is this your experience?  If not, what features do they not have in common?  (If you wouldn't mind sharing your experience here).

BillG:
Business Objects may have heard the .NET and Object Developers and this attempt seems to be headed in the right direction

I was certainly impressed that they supported business objects, since it has been so long since I last checked out Crystal.

Thanks for the info!
Andy

xal replied on Thursday, June 08, 2006

Andy,
Well yes, I kind of reached the same conclusion... A report control that's part of .net should be the solution to my problems. I did some testing and it was decided that we should use that (although we didn't actually start doing any reports yet), but reading your post reminded me of my original idea. That's why I asked...

In the end I'll probably end up using that, but I wanted to know how your xml + xslt venture went to see if it was a possibility.


Andrés

pfeds replied on Friday, June 09, 2006

I've found Crystal Reports in 2005 to be really easy.  All I did CSLA wise was:

ReportList & ReportInfo - the list would simply recurse a folder to find all RPT files and get some basic information that's displayed on a grid.

Report object - this will load in an RPT file when the report is selected in the grid and provides the parameter collection etc. Then I just display the report in the CrystalReportViewer control.

Job done.

 

ajj3085 replied on Friday, June 09, 2006

Andrés,

I have done the report via Xml and Xslt before, although this was in a web application.  I did something similar for a windows application, but more as a proof of concept than anything else.  One problem is that you don't really have any control over printing;  you end up with the Url at the bottom of the pages, etc.

I wanted to look into ReportViewer and Crystal because of the added features, such as Export to Xls and Pdf.. also because we could install Report Server (Sql Server 2k5) and utilize that as well, which would make management happy since we're getting more value for the money we spent on the server.  It seems like it'd be pretty easy to move from client reports to server reports down the road if we wanted.

Andy

kdubious replied on Tuesday, June 13, 2006

I've been putting the Crystal Report files in the BO Library, so I can use them on the web or a desktop app.  You get Drag-N-Drop design (unlike having BO's spit out HTML/XML) and some other decent features.  I deploy Crystal with Click-Once (2005, of course).

The problem I have relates to filters.  Parameters in reports are painful to me, so I typically do in-memory filters / sorts, or make a DB trip with the appropriate filters.

Kevin

Copyright (c) Marimer LLC