Mailinglisten-Archive |
Hi an alle ... und aufgrund der Thematik ein spezielles Hallo an Holger! Habs nun endlich geschafft, in PHP über COM mit Crystal Reports zu kommunizieren, was (auf der Kommdaozeile!!!) soweit auch ganz gut funktioniert. Stehe jetzt aber vor dem Problem, dass ich einen Parameter an den Report übergeben muss, was irgendwie nicht funktionieren will ;-( Nachfolgendes Skript sollte theoretisch einen Crystal Reports Report öffnen, den Parameter "pMyPara" befüllen und anschliessend den Report als PDF speichern... klappt aber nicht, weil die Zeile... $rpt_obj->SetReportVariableValue("{?pMyPara}","der Wert"); ... mit folgender Fehlermeldung quitiert wird: PHP Warning: (null)(): Invoke() failed: Ausnahmefehler aufgetreten. Source: Description: This value is write-only. in C:\Programme\PHP\samples\cr-test.php on line xx Eigenartig... "write-only"... wollte doch eigentlich eh den Wert "schreiben". Lass ich hingegen besagte Zeile komplett weg, setz dafür aber EnableParameterPrompting auf TRUE, bekomm ich ein PopUp-Fenster, wo ich den Parameter dann eintippen kann... brauch aber eine automatische Lösung ohne UserInteraktion. Kann mir hier vielleicht jemand helfen? Besten Dank im Voraus & liebe Grüße aus Wien, Andy <?php $crlf = "\r\n"; $app_obj = new COM("CrystalRuntime.Application") or Die ("Did not open"); $app_obj->LogOnServer ("crdb_oracle.dll", "dbserver","dbname","dbuser","dbpass"); $rpt_obj = $app_obj->OpenReport(dirname(__FILE__)."\MyReport.rpt",1); echo "Version: ".dechex($app_obj->GetVersion()).$crlf; echo "ApplicationName: ".$rpt_obj->ApplicationName.$crlf; echo "ReportAuthor: ".$rpt_obj->ReportAuthor.$crlf; echo "ReportComments: ".$rpt_obj->ReportComments.$crlf; echo "ReportSubject: ".$rpt_obj->ReportSubject.$crlf; echo "ReportTitle: ".$rpt_obj->ReportTitle.$crlf; $rpt_obj->EnableParameterPrompting=FALSE; $rpt_obj->DiscardSavedData(); $rpt_obj->SetReportVariableValue("{?pMyPara}","der Wert"); $crystalExportOptions = $rpt_obj->ExportOptions; $crystalExportOptions->DiskFileName = (dirname(__FILE__))."\\".time().".pdf"; $crystalExportOptions->FormatType = 31; $crystalExportOptions->DestinationType = 1; $rpt_obj->Export(FALSE); ?>
php::bar PHP Wiki - Listenarchive