Es ist möglich, bestehende Berichte zu ändern oder eigene Berichte zu schreiben, wenn die
vorhandenen nicht Ihren Ansprüchen genügen. Dazu müssen Sie
Guile
kennen, die GNOME-Implementierung von
Scheme, welches eine LISP-ähnliche Programmiersprache
ist. Weiterhin ist es sinnvoll, eine Kopie des GnuCash-Quellcodes zur Verfügung zu haben.
Einleitende Dateien im Quellcode
gnucash/report/doc/report-html.txt beschreibt die Berichtsschnittstelle.
gnucash/report/reports/example/sample-report.scm ist ein Beispiel, das verschiedene Arten von Optionen zeigt.
Um Informationen aus Ihrem GnuCash
Buch für Ihren Bericht zu erhalten, ist es auch notwendig, auf
Daten aus der GnuCash
Engine zugreifen. Diese Bindung wird von Swig
erzeugt und basiert auf einer Reihe von Scheme-Wrapper-Funktionen in
bindings/guile
.
[11]
Tipp | |
---|---|
Sehen Sie sich einige der anderen Berichte in
Einige Anwender haben im Wiki unter https://wiki.gnucash.org/wiki/Custom-Report Ihre Erfahrungen zusammengetragen. |
Da die obige Datei nur die Syntax der Funktion enthält, können Sie die nächtliche
Doxygen
-generierte API Online-Dokumentation
für den stable branch verwenden,
[12]
um weitere Informationen über die Funktionen zu erhalten.
Nachdem Sie eine Build-Umgebung eingerichtet haben, können Sie sie auch lokal erzeugen, indem Sie
# make users: make doc # ninja users: ninja doc
in Ihrem Build-Verzeichnis ausführen und dann
mit
Ihrem bevorzugten Browser öffnen.
BUILDDIR
/libgnucash/doc/html/index.html
Gegenwärtig werden Berichte durch den Aufruf einer HTML-Generierungs-API erstellt, die einen HTML-Dialekt erzeugt und diesen mit einem HTML-Widget anzeigt. Dies hat seine Grenzen, insbesondere wenn es darum geht, Objekte genau auszurichten, wie es z. B. für den Druck auf vorgedruckte Rechnungen erforderlich sein könnte.
Bitte lesen Sie auch Abschnitt 9.4, „Drucken und Exportieren von Berichten“.
[11] Bis zur Version 2.0.5 wurde G-Wrap
verwendet und die
Datei zur Bindung war src/g-wrap/gnc.html
.
[12] Nach der Implementierung des ersten Features der nächsten größeren Release wird auch ein future Zweig erscheinen.