Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Using PrintReport over the web

Posted on 2003-12-02
6
Medium Priority
?
2,541 Views
Last Modified: 2007-12-19
I am using the following code in a web page to send the report directly to the printer.  The code works on some machines but not on others.  I get the error "ActiveX component can't create object 'WebReportBroker.WebReportBroker'" on the machines that it doesn't work.  

Viewing the report with the activeX viewer works fine.  The difference is that it uses WebReportBroker9 and WebReportSource9.  If I try to use that code in my print page, the page loads but the printer dialog never shows.

I am using Crystal Reports 9 on my web server with IIS 5 on Windows 2000.

Any help would be appreciated.
Thanks

<HTML>
<HEAD>
<TITLE>Please Select a Printer</TITLE>
</HEAD>
<BODY BGCOLOR=C6C6C6>

<OBJECT ID="CRViewer"
      CLASSID="CLSID:2DEF4530-8CE6-41c9-84B6-A54536C90213"
      WIDTH=1% HEIGHT=1%
      CODEBASE="/crystalreportviewers/activeXViewer/activexviewer.cab#Version=9,2,0,528" VIEWASTEXT>
<PARAM NAME="EnableRefreshButton" VALUE=0>
<PARAM NAME="EnableGroupTree" VALUE=0>
<PARAM NAME="DisplayGroupTree" VALUE=0>
<PARAM NAME="EnablePrintButton" VALUE=1>
<PARAM NAME="EnableExportButton" VALUE=0>
<PARAM NAME="EnableDrillDown" VALUE=0>
<PARAM NAME="EnableSearchControl" VALUE=0>
<PARAM NAME="EnableAnimationControl" VALUE=0>
<PARAM NAME="EnableZoomControl" VALUE=0>
</OBJECT>

<SCRIPT LANGUAGE="VBScript">
<!--
dim timer
dim printerTimer
dim pageOne
PageOne = True
Sub window_onLoad()
      Page_Initialize()
End Sub

Sub Page_Initialize
      Dim webBroker
      Set webBroker = CreateObject("WebReportBroker.WebReportBroker")
      if ScriptEngineMajorVersion < 2 then
            window.alert "IE 3.02 users on NT4 need to get the latest version of VBScript or install IE 4.01 SP1. IE 3.02 users on Win95 need DCOM95 and latest version of VBScript, or install IE 4.01 SP1. These files are available at Microsoft's web site."
            CRViewer.ReportName = Location.Href
      else
            Dim webSource
            Set webSource = CreateObject("WebReportSource.WebReportSource")
            webSource.ReportSource = webBroker
            webSource.URL = "rptserver.asp"
            webSource.PromptOnRefresh = True
            CRViewer.ReportSource = webSource
      end if
      CRViewer.ViewReport
End Sub

Sub CRViewer_DownloadFinished(byval downloadType)
      if downloadType = 1 and PageOne then
            PageOne = False
            timer = window.settimeout("OnMyTimeOut",1000)
      end if
end sub

Sub OnMyTimeOut()      
      if not CRViewer.IsBusy then
            window.ClearTimeout(timer)
            'window.alert "My timeout"'
            CRViewer.PrintReport
            printerTimer = window.SetTimeOut("OnPrinterTimeOut", 1000)

      end if
end sub

Sub OnPrinterTimeOut()
      if not CRViewer.IsBusy then
            window.ClearTimeOut(printerTimer)
'            window.History.Back'
      end if
end sub
-->
</SCRIPT>
</BODY>
</HTML>
0
Comment
Question by:u8semaj
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
6 Comments
 
LVL 101

Expert Comment

by:mlmcc
ID: 9859965
0
 

Author Comment

by:u8semaj
ID: 9860881
I saw that article.  It applies to VB not VBScript, but if you try to use the code as they provide it the code will fail. There is no ReportWebBroker object or method available.  Same thing for ReportWebSource.  The code I have works on some computers but not others.  I think the problem may be in configuration but I do not know anything for certain.  The PCs that I am testing on all have the same version of the activex dll installed.
0
 
LVL 101

Accepted Solution

by:
mlmcc earned 2000 total points
ID: 9863748
I don't know since I don't use VBScript.  Is that closer to ASP?  If so I can provide examples from ASP.

Which edition of CR9 did you buy?

mlmcc
0
New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

 

Author Comment

by:u8semaj
ID: 9866377
VBscript is one of the languages that you can use with ASP.   If you have examples in ASP I would like to see them.

We purchased Crystal Reports 9 Developer Edition.
0
 

Author Comment

by:u8semaj
ID: 9870514
I figured it out.  Ultimately my problem was two things:

1.  Set webBroker = CreateObject("WebReportBroker.WebReportBroker") and
     Set webSource = CreateObject("WebReportSource.WebReportSource")
     Needed to be changed to
     Set webBroker = CreateObject("WebReportBroker9.WebReportBroker") and
     Set webSource = CreateObject("WebReportSource9.WebReportSource")

2.  The above code was being loaded into a frameset.  So while the reference to webSource.URL = "rptserver.asp"
      was fine for the viewer for the frameset it needed to reference the directory the pages were being called from. (webSource.URL = "reports/rptserver.asp")

The reason that it worked on some computers was that those computers had at one time had an earlier version of Crystal Reports installed.  I still don't know how the location of rptserver.asp was resolved on those computers.


0
 
LVL 101

Expert Comment

by:mlmcc
ID: 9870980
Glad you found it.

mlmcc
0

Featured Post

[Webinar] Lessons on Recovering from Petya

Skyport is working hard to help customers recover from recent attacks, like the Petya worm. This work has brought to light some important lessons. New malware attacks like this can take down your entire environment. Learn from others mistakes on how to prevent Petya like worms.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Hot fix for .Net Crystal Reports 10.2.3600.0 to fix problems with sub reports running on 64 bit operating systems ISSUE: Reports which contain subreports fail with error "Missing Parameter Value" DEPLOYMENT SERVER OS: Windows 2008 with 64 bi…
Hello everyone, Hope you find this as helpful as we did. We have on the company I work for an application built in Delphi V with Crystal Reports 8. We all know that Crystal & Delphi can be temperamental sometimes and the worst thing is, nearly…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…

715 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question