Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   .NET-Framework (managed code) (https://www.delphipraxis.net/79-net-framework-managed-code/)
-   -   C# Interaktive Reports (https://www.delphipraxis.net/169723-interaktive-reports.html)

Morphie 7. Aug 2012 20:30

Interaktive Reports
 
Hi,

ich bin auf der Suche nach einer guten ReportEngine für C#, WPF.
Ich habe eine beliebige generische Liste meiner Klasse. z.B. List<Position>
Die Klasse Position hat diverse Properties wie z.B. eine Positionsnummer, Menge, Positionstext usw.
Diese Liste möchte ich jetzt an die gesuchte ReportEngine binden / übergeben.

soweit kann das ja quasi jede ReportEngine.
Das besondere: der Report soll teilweise veränderbar sein. Ich muss diverse Properties verändern können, z.B. soll der Anwender den Positionstext noch mal korrigieren dürfen.
Außerdem soll es möglich sein, weitere Positionen per Interaktion hinzuzufügen.

Diese Funktionalität existiert momentan in einem DataGrid (genauer gesagt in dem GridControl von DevExpress). Dort sieht der Anwender allerdings nicht, wie die Positionen im Ausdruck aussehen. Er muss also immer zwischen Grid und Report hin -und herschalten... Dazu kommt noch, dass die Datenmenge relativ groß sein kann (mehrere Tausend Positionen), so dass das hin -und herswitchen relativ viel Zeit in Anspruch nehmen könnte, wenn der Report immer neu generiert werden muss.

Ich brauche also eigentlich ein WYSIWYG-printable-DataGrid ;-)

Habt ihr eine Idee, wie ich das realisieren könnte? Kennt ihr eine ReportEngine, in der man Daten im Report bearbeiten kann und interaktiv Datensätze hinzufügen / löschen kann?
Oder muss ich das Reporting wirklich komplett selbst programmieren?

Furtbichler 8. Aug 2012 06:51

AW: Interaktive Reports
 
Wieso bleibst Du nicht bei DevExpress und verwendest deren Printing Library?

Morphie 8. Aug 2012 07:10

AW: Interaktive Reports
 
In der kann man den Report interaktiv weiterbearbeiten?
Habe nichts dazu gefunden...

Es geht mir also darum, dass unsere Kunden ihre Rechnungen im WYSIWYG-Verfahren erstellen können. Sie sollen direkt sehen, nach welcher Position eine neue Seite anfängt und wie die Fließtextumbrüche aussehen usw.
Zusätzlich sollen halt Änderungen / weitere Eingaben möglich sein.

Die DevExpress Printing Library kann meiner Meinung nach lediglich readonly Reports erstellen...?

Lemmy 8. Aug 2012 07:59

AW: Interaktive Reports
 
Hi,

zumindest in der VCL-Variante von FastReport kann man interaktive Reports bauen, d.h. zumindest Feldinhalte verändern. Ob auch Zeilen hinzufügen geht, müsste man probieren, ebenso ob das in der .NET Variante ebenso geht... Zumindest die Screenshots sehen nicht schlecht aus.

GRüße

Iwo Asnet 8. Aug 2012 10:40

AW: Interaktive Reports
 
Zitat:

Zitat von Morphie (Beitrag 1177262)
Ich brauche also eigentlich ein WYSIWYG-printable-DataGrid ;-)

Das geht mit DevExpress, aber die Reports sind nicht mehr vom Inhalt her veränderbar.

Grundsätzlich halte ich es für gefährlich, Rechnungen vor dem Druck zu verändern. Das Gedruckte ist dann so nicht mehr in den zugrundeliegenden Daten enthalten (oder doch?)

Desweiteren finde ich, das zu viel wert auf das Rechnungslayout gelegt wird. Dies mag ein Kundenwunsch sein, aber er wird offensichtlich teuer erkauft, denn mir sind keine Reportingengines bekannt, die man im Designermodus beliebig verändern kann. Meines Erachtens müsstest Du das selbst implementieren.

Aber wieso erzeugst Du nicht einfach ein Word-Dokument und lässt das dann vom Kunden nach Belieben verändern?

Ich kann mir vorstellen, das der Kunde diese Feature relativ schnell wieder vergisst, denn wer hat schon die Zeit, seine Rechnungen zu pimpen?

p80286 8. Aug 2012 11:23

AW: Interaktive Reports
 
Zitat:

Zitat von Iwo Asnet (Beitrag 1177313)
Aber wieso erzeugst Du nicht einfach ein Word-Dokument und lässt das dann vom Kunden nach Belieben verändern?

Hale ich für eine gute Idee, vor allem, da das Layout vom Kunden beeinflußt werden kann.
ggf. sogar Datenabhängig.

Zitat:

Zitat von Iwo Asnet (Beitrag 1177313)
Ich kann mir vorstellen, das der Kunde diese Feature relativ schnell wieder vergisst, denn wer hat schon die Zeit, seine Rechnungen zu pimpen?

Es soll Gelegenheiten geben, bei denen das Layout wichtiger ist, als der Inhalt, und das kann auch bei Rechnungen passieren.

Gruß
K-H

Iwo Asnet 8. Aug 2012 11:33

AW: Interaktive Reports
 
Zitat:

Zitat von p80286 (Beitrag 1177321)
Halte ich für eine gute Idee, vor allem, da das Layout vom Kunden beeinflußt werden kann.
ggf. sogar Datenabhängig.

nun ja, wenn er Rechnungspositionen entfernt... aua. I.a. werden Rechnungen elektronisch an die Finanzbuchhaltung übermittelt. Wenn man Rechnungen im Designer noch verändern kann, steht bald das Finanzamt vor der Tür.

Zitat:

Zitat von Iwo Asnet (Beitrag 1177313)
Es soll Gelegenheiten geben, bei denen das Layout wichtiger ist, als der Inhalt, und das kann auch bei Rechnungen passieren.

Hatte mal so einen Kunden, der hat wirklich einen MM dafür ausgegeben, das die Rechnung schön schick aussah, weil er meinte, das wäre wichtig. Es ging so weit, das die einzelnen (unterschiedlich hohen) Rechnungspositionen so auf die Seiten verteilt werden sollten, das sie auch vertikal bündig ausgerichtet waren (0/1 Knapsack-Problem, NP-komplett :mrgreen: ).

Zwei Banalitäten sollte man in dem Zusammenhang nicht unerwähnt lassen:
1. Neukunden kann man naturgemäß nicht mit hübschem Rechnungslayout aquirieren. Hier wären Angebote zielführender.
2. Bestandskunden werden nicht abspringen, bloß weil eine Rechnung nicht perfekt gelayouted ist.

Aber das ist OT.

Morphie 8. Aug 2012 12:07

AW: Interaktive Reports
 
Zitat:

Zitat von Iwo Asnet (Beitrag 1177313)
Grundsätzlich halte ich es für gefährlich, Rechnungen vor dem Druck zu verändern. Das Gedruckte ist dann so nicht mehr in den zugrundeliegenden Daten enthalten (oder doch?)?

Doch, das ist es ja... sonst würde ich wirklich einfach alles in einen Word-Container pumpen...

Zitat:

Zitat von Iwo Asnet (Beitrag 1177313)
Desweiteren finde ich, das zu viel wert auf das Rechnungslayout gelegt wird.

Naja, es ist halt ein hundertfach gewünschtes Feature, dass man während der Eingabe bereits so sieht, wie es am ende gedruckt wird.
Beispiel dafür wäre Word. Hier schreibt man einen Text, sieht wo die Seitenumbrüche sind und am ende sieht der Text auf dem Ausdruck exakt so aus wie auf dem Monitor.
Ein Kundenwunsch, den ich schon seit Jahren immer wieder höre.

Zitat:

Zitat von Iwo Asnet (Beitrag 1177325)
Zitat:

Zitat von p80286 (Beitrag 1177321)
Halte ich für eine gute Idee, vor allem, da das Layout vom Kunden beeinflußt werden kann.
ggf. sogar Datenabhängig.

nun ja, wenn er Rechnungspositionen entfernt... aua. I.a. werden Rechnungen elektronisch an die Finanzbuchhaltung übermittelt. Wenn man Rechnungen im Designer noch verändern kann, steht bald das Finanzamt vor der Tür.

Wie gesagt, ich will das ganze Binden. Die Daten im Ausdruck müssen also exakt die Daten in der Datenbank sein.

Zitat:

Zitat von Iwo Asnet (Beitrag 1177325)
Zwei Banalitäten sollte man in dem Zusammenhang nicht unerwähnt lassen:
1. Neukunden kann man naturgemäß nicht mit hübschem Rechnungslayout aquirieren. Hier wären Angebote zielführender.
2. Bestandskunden werden nicht abspringen, bloß weil eine Rechnung nicht perfekt gelayouted ist.

Aus sicht unserer Anwender / Kunden richtig. Meistens ist es egal, wie die Rechnung aussieht... Hauptsache das Geld kommt an

Aus unserer Sicht (Softwareentwickler):
1. Ich kenne Mitbewerber, die nennen das als Kaufsargument. Und das zieht bei den Kunden ziemlich gut. Klar, große Ausschreibungen kann man so nicht abrechnen. Aber für Kleinstrechnungen ist sowas echt praktisch... Es lässt sich ja auch für mehrere Belegarten (z.B. Angebote) umsetzen
2. Es geht wie gesagt nicht unbedingt ums Layout, sondern darum, wie man die Positionen erfasst. Und da bietet sich eine WYSIWYG-Methode an manchen Stellen schon an. Viele Softwarehersteller sehen das mittlerweile ein und bauen solche Features in ihre Produkte ein. Wie gesagt, Verkaufsargument für kleinere Betriebe die "schnell mal" ne Kundendienstrechnung oder so schreiben.



Bislang habe ich noch nix gefunden, die alle meine (vielleicht zum Teil speziellen) Wünsche abdeckt... Aber vielleicht findet sich ja noch was ;)

Iwo Asnet 8. Aug 2012 12:14

AW: Interaktive Reports
 
Alles klar, verstanden.

Ich würde trotzdem die Filterung von der Layoutkorrektur trennen. Ich kenne das Problem der individuellen Rechnungslegung sehr gut und habe das eben so gelöst, das die Rechnungen in ihren Daten noch bearbeitet werden konnten, zumal das dann nichts mit dem Layout zu tun hat. Irgendwann sind sie fertig und werden mit dem Druck versiegelt. Anschließend geht dann nix mehr.

Die Bearbeitung des Rechnungslayouts muss bzw. sollte strikt von der Datenauswahl getrennt werden.

Mit FastReport kann man auf Klicks reagieren, d.h. du könntest gezielt steuern, wie das Layout aussehen soll.

Allerdings ist FastReport, obwohl wirklich 'fast' beim Rendern von 1000 Positionen auch nicht einsfixdrei fertig, d.h. du wirst bei diesen Spielereien (Seitenumbruch auf der 1.Seite verändern) schnell merken, das die Handhabung nicht optimal ist.

Wenn du dennoch Daten- und Layoutkorrektur in einem Abwasch erledigen willst, dann fällt mir nur eine Panel ein (das so lang wie die Rechnung ist), in der du deine TcxGrids reinrenderst und in der Du deine Edit-Möglichkeiten umsetzt. Dieses Panel druckst Du dann pixelgenau auf den Drucker... Viel Spass, das ist ein Haufen Arbeit, vor allen Dingen, um es immer Pixelgenau hinzubekommen.

Morphie 8. Aug 2012 13:02

AW: Interaktive Reports
 
Habe ich mir schon fast gedacht... Vielleicht gibts es da aber schon was im .NET-Framework, das wir ein wenig die Arbeit abnimmt... (ich programmiere ja in C#)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:16 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz