Einzelnen Beitrag anzeigen

Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
679 Beiträge
 
FreePascal / Lazarus
 
#30

AW: Software zur Rechnungserstellung (Rechnungsformular)

  Alt 1. Apr 2015, 10:09
es kommt mit Sicherheit nicht auf eine Entscheidung entweder oder an, also entweder Reportdesigner eingebaut und durch den Endkunden benutzbar oder gar nichts eingebaut, mit dem der Kunde was anpassen kann. Meiner Erfahrung nach sind die meisten Kunden sehrwohl daran interessiert, die Report Vorlagen selbst anzupassen und wenn das nur in kryptischen Text- oder XML Formaten machbar ist, dann kommt da nicht immer Freude auf.

Eine GUI Version, in der ich schon mal sehen kann, wie es aussieht, wo ich Schriften anpassen kann, Felder und Spalten da einsetze, wo die hin sollen, der verbringt auch wenig Zeit, falls er mal als Softwarehersteller in einer Diskussion mit dem Kunden interaktiv das Formular so anpassen soll, wie er es denn haben möchte.

Wer aber seine Report Vorlagen mit kompletter Business Logik umsetzt, der scheitert da auch ganz schnell. Wer sich mal in der Software AvERP mit der Anpassung eines Reports beschäftigt hat, weiß wovon ich rede.

Ich bevorzuge eine Kombination der Techniken. Ich erstelle in unserer brp Software für Kunden die Reportdaten in Form von Firebird Stored Procedures (könnte ggf. aber auch jede andere Art von Prozedur im Delphi oder Lazarus Code sein). In diesen Prozeduren sind dann die alle anzuzeigenden Daten bereits enthalten, d.h. auch so was wie Zwischensummen bei Gruppenwechsel o.ä. berechne ich in dieser Prozedur, den sehr oft sind zum Beispiel in Angeboten Alternativpositionen enthalten und wenn man die einfach in die Endsumme reinrechnet, sieht das nicht nur blöd aus, sondern ist auch faktisch falsch, weil abschreckend für den Kunden, der das Angebot nur über die Endsumme vergleicht.

Die Logik, wie man nun Alternativpositionen im Code des Reports auseinandernimmt, brauch ich in der Datenbank sowieso, will die also nicht ncoh mal im Report Generator umsetzen, der meistens keinen Debugger hat und daher viel Arbeit doppelt macht.

Aus diesem Grund erzeuge ich für jeden Report eben in der Datenbank Prozeduren, die ich da auch debuggen kann und wo ich eigene Rundungsvarianten umsetzen kann und vieles mehr (ich mach auf dem weg auch die mehrsprachigkeit, da alle Labels auch aus einer Prozedur gefüllt passend zur Kundensprache werden, das geht auf dem Weg ggf auch mit Fremdwärungen etc.).

Im Reportdesigner stelle ich nun einen rudimentären Report für den Kunden als Vorlage auf Basis der SP Daten zusammen. Diesen kann der Kunde auf Basis der verfügbaren Daten dann selbst so lange optisch verfeinern, wie er das möchte. Kostet nur seine Zeit, die Logik der Daten kann er damit aber nicht unterwandern. Wenn also irgendwas in der Ausgabe nicht passt, dann muss ich nicht lange suchen, wo der Kunde wohl versehentlich mal ein berechnetes Objekt im Reportdesigner verbessert hat ...

Ob man das nun technisch wie wir mit Lazarus und Lazreport macht oder mit anderen Datenbanken und Delphi und Fastreport oder anderen Reporttools macht, ist dabei fast egal. Lass einfach keine unbeteilgten an der Business Logik rumschrauben, sondern ziehe klare Grenzen, das er das gerne bunt anmalen darf oder so wie das ein Kunde auch schon geschafft hat, die Schriftfarbe veränder. Der hatte nämlich für das Reportformular eine Schriftfarbe weiss eingestellt, die dann an alle Objekt auf dem Deignerformular vererbt wurde, dort aber dann trotzdem in schwarz angezeigt wurde, so das man nicht auf Anhieb erkennen konnte, warum da immer nur weisse Seiten rauskommen. Das war entweder Quickreport oder Reportsmith ....

Ja auch das war mal in Delphi drin. Ganz im Sinne des o.a. Posts ist aber weder Alter noch Jugend irgendeine Art der Qualifikation. Erfahrung hilft in diesem Job erheblich, birgt aber auch die Gefahr, die eigene Technik als das Non Plus Ultra zu sehen.
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat