2008-08-21 10 views
12

Wenn Sie zwei Versionen des gleichen Berichts (.rpt) haben und feststellen möchten, was die genauen Unterschiede sind, was ist der beste Weg, dies zu tun? Ich habe einige kommerzielle Werkzeuge gesehen, um das zu tun, aber ich bin nicht so interessiert daran, Geld für etwas auszugeben, das relativ einfach sein sollte. Kann ich mich in die Crystal-API einklinken und einfach alle Eigenschaften jedes Felds auflisten? Bitte jemand sagt mir, dass es irgendwo ein Open Source Projekt gibt ... @ :-)Was ist der beste Weg, Crystal Reports zu verbreiten?

@Kogus, würde die Ausgaben als Text nicht diffundieren irgendwelche Formatierungsunterschiede zu verbergen?

@ladoucep, ich bin nicht in der Lage, den Bericht ohne Daten zu exportieren.

+1

Wurde einfach über einen anderen Weg zu diff, speziell nach Codeänderungen in allen Eigenschaften der verschiedenen Berichtsobjekte versteckt - exportieren Sie die Berichte mit dem Format 'Report Definition (TXT)' – SQLFox

Antwort

8

Kann ich in die API-Kristall Haken und einfach alle Eigenschaften von jedes Feld oder etwas Liste? Bitte mir jemand sagen, dass es ein Open-Source-Projekt irgendwo, dass dies tut ... @ :-)

Es ist in der Tat, eine solche API. Ich habe eine VB6-Anwendung geschrieben, um genau das zu tun, was Sie gefragt haben und mehr. Ich denke, ich habe es sogar auf VB.Net migriert. Wie es für mich war, habe ich nicht viel Zeit damit verbracht es "poliert" zu machen. Ich habe vorgehabt, es zu veröffentlichen, aber ich hatte nicht die Zeit ...

Ein anderer Ansatz, den ich in der Vergangenheit verwendet habe, besteht darin, eine Access-Anwendung zu erstellen, mit der große Projekte mit Berichtsentwicklung verwaltet werden können. Eine der vielen Funktionen umfasst die Möglichkeit, die Tabellen zu extrahieren, die vom Bericht verwendet werden, sowie die SQL-Anweisungen, die von den Befehlen und SQL-Anweisungen verwendet werden. Es ist eine globale Perspektive, welche Berichte welche Tabellen verwenden. Ich es wahrscheinlich immer noch irgendwo ...

** bearbeiten 1 **

Businessobjects Enterprise XI (R?) Eine Funktion 'Meta-Manager' genannt hat. Es wird den Inhalt des Repository regelmäßig überprüfen und die Ergebnisse in einer Datenbank speichern. Es verwendet den Report-Application Service (RAS), um die Metadaten zu generieren. Es ist natürlich eine zusätzliche 5-stellige Lizenz.

** bearbeiten 2 **

Betrachten Powershell mit der Arbeit zu tun: PsCrystal.

+1

Wenn Sie der Meinung sind, dass Ihr Code Crystal Reports 11 unterstützt, würde ich gerne Zugang zu beiden Programmen erhalten, die Sie beschreiben. – LeBleu

+0

klingt das ziemlich praktisch, ist es etwas, das Sie gerne in einem GitHub-Repository oder so etwas aufstellen würden? – ninesided

+5

Hinzugefügt zu code.google.com. Projektname ist 'RptToXml'. – craig

1

Eine hilfreiche Technik besteht darin, beide Versionen des Berichts als Nur-Text auszugeben und diese Ausgaben dann zu differentieren.

Sie könnten mit der Crystal Report-Komponente schreiben, um jede Eigenschaft des Berichts zu beschreiben, wie Sie beschrieben haben. Dann könnten Sie , dass zu Text und diese ausgeben. Ich kenne kein Open-Source-Tool, das es für Sie tut, aber es wäre nicht sehr schwer, es zu schreiben.

@question im Beitrag: Diffing die Ausgänge würden nur Formatierungsänderungen zeigen, wenn die relativ Positionen geändert hatte. wenn ich dies hatte zum Beispiel:

vor: Vorname, Nachname, addresss

nach: Nachname, Vorname, Anschrift

Dann, dass als Differenz auftauchen würde.

Aber wenn ich gerade die Adresse Spalte über ein paar Pixel stieß, oder änderte es von Klartext zu fett, dann haben Sie Recht, das würde nicht angezeigt werden.

+0

Exportieren Sie jeden Bericht in Report Definition Format (a Text-basierte Datei) und Verwenden Sie alle Text-Vergleichstools wie Vergleichen Sie es oder darüber hinaus Vergleichen Sie die Berichte – marak

1

Eine Technik, die ich in der Vergangenheit sehr erfolgreich eingesetzt habe, ist das Drucken von Berichten aus beiden Versionen basierend auf den gleichen Daten. Ich nehme dann die erste Seite von jeder Version, lege sie übereinander (es ist wichtig, sie nicht zu verwechseln) und halte sie an ein Fenster. Es ist im Allgemeinen ziemlich einfach, irgendwelche Unterschiede zu sehen, und diese Unterschiede können manuell mit einem geeigneten Schreibgerät, wie einem Bleistift, kommentiert werden. Wiederholen Sie dies für jede Seite im Bericht.

Zugegeben, für große Berichte kann das recht zeitraubend und fehleranfällig sein, aber diese Grenzen können mit Geduld und Sorgfalt überwunden werden.

+2

ha, schön - die Low-Tech (oder keine Tech) Wege sind oft die besten! – ninesided