Apache OFBiz. Axel Eberhard Leistner
Читать онлайн книгу.Damit ist unsere Anbindung zwischen PostgreSQL und OFBiz abgeschlossen.
3 Anpassungen im Quellcode
Prinzipiell wollen wir in diesem Schnellstarterbuch kennenlernen, wie man OFBiz in der Fassung verwenden kann, die im Internet zum Download angeboten wird. Allerdings habe ich in einigen Dateien die deutschen Texte überarbeitet und das Einrichtungspaket leicht verändert. Zudem gibt es weitere Dateien, die ich in einer neuen deutschsprachigen Version im Austausch gegen die Originaldateien eingebunden habe.
In einem Fall, den wir uns hier in einer Übung genauer ansehen werden, ist ein Fehler aufgetreten. Das Problem sehen wir sofort im Fall eines Beschaffungsauftrages bei der Berechnung der Mehrwertsteuer. Die Behebung kann auf folgende Weise stattfinden:
Im Verzeichnis applications\accounting\src\org\accounting\tax\ suchen wir die Datei TaxAuthorityServices.java und darin die Funktion:
private static List<GenericValue> getTaxAdjustments(…)
Im folgenden Textausschnitt soll die Abfrage an die Datenbank aufgebaut werden. Hierbei wird im Original unter anderem der "Laden" als Kriterium der Suche verwendet (storeCond). Da aber bei einem Beschaffungsauftrag dieser "Laden" gar nicht zu den Eingabeparametern gehört, ist der Wert entsprechend leer und die Mehrwertsteuer kann nicht berechnet werden. Mein Vorschlag ist nun der, dass im unten markierten Text storeCond nicht mehr als Kriterium verwendet wird. Die Originalzeile des Quellcodes habe ich als kommentierte Zeile im Text belassen.
Mit dieser Änderung wird dann auch bei einem Beschaffungsauftrag die Mehrwertsteuer berechnet.
Eine weitere Quellcode-Stelle möchte ich gerne abändern, da ich während der Beispiele festgestellt habe, dass eine eigentlich korrekt berechnete Mehrwertsteuer gar nicht auf der Bildschirmseite angezeigt wird. In der Methode createAcctgTransForPurchaseInvoice im Unterverzeichnis applications\accounting\script\org\ofbiz\accounting\ledger\ in der Quellendatei GeneralLedgerService.xml finden wir folgende Passage:
An der ersten markierten Stelle habe ich eine Debug-Meldung eingebaut, die mir beim Testen bestätigt, dass an dieser Stelle noch der richtige Wert berechnet wurde. Die zweite Markierung zeigt eine auskommentierte Passage. Hier wird eindeutig der zuvor richtig berechnete Wert überschrieben. Danach ist taxAmount wieder "0". Schließlich wird die Gesamtsumme mit einem Wert invoiceTaxTotal berechnet, in dem gar kein errechneter Wert gespeichert wurde. Daher habe ich diese Stelle ersetzt mit dem Summanden taxAmount. Damit stimmt die Summe wieder.
Die Ersteinrichtung wird unterstützt durch die Datei SetupEvents.xml im Verzeichnis \applications\commonext\script\org\ofbiz\setup. Die ersten Änderungen für die hier vorgestellte DEUTSCHE Version finden wir in der Methode setupDefaultGeneralLedger. Im Wesentlichen geht es um die Namen des Steuerformulars, die Währung und zwei Stammdatendateien für die Erstellung des Buchhaltungsschemas.
Die nächsten Änderungen für die hier vorgestellte Deutsche Version finden wir in der Methode createProductStoreWithDefaultSetting. In zwei Dateien mit Stammdaten wurden hier die englischen Texte des Originals auf Deutsch übersetzt.
Die letzten Änderungen für die hier vorgestellte Deutsche Version finden wir in der Methode createUpdateProductInCategory. Hier wird die Währung auf EUR umgestellt.
Im Verzeichnis \applications\accounting\data brauchen wir eine Datei mit Namen SKR04Accounts.xml. Diese Datei ist sehr umfangreich, darum beschränke ich mich hier auf einen Auszug, der zur Durchführung der Aufgaben in diesem Schnellstarterbuch ausreichen sollte.
Im Verzeichnis \applications\commonext\data brauchen wir eine Datei mit Namen GlSetupData.xml. Diese Datei ist ebenfalls sehr umfangreich. Darum beschränke ich mich hier auf einen Auszug, der zur Durchführung der Aufgaben in diesem Schnellstarterbuch ausreichen sollte.