Difference between revisions of "De/Berichte"

From GnuCash
Jump to: navigation, search
(Guile/Scheme/Lisp: Guile-Handbuch)
(Anpassungen der Quelldatei: Dateinamenserweiterung)
 
(22 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
[[De/GnuCash | Zurück zur Hauptseite]]
 
[[De/GnuCash | Zurück zur Hauptseite]]
  
Auf dieser Seite soll gezeigt werden, wie man Berichte, aber auch '''Rechnungsformulare''', an seine Bedürfnisse anpaßt.
+
Auf dieser Seite soll gezeigt werden, wie man Berichte, aber auch '''Rechnungsformulare''', an seine Bedürfnisse anpasst.
  
 
== Allgemeine Anpassungen ==
 
== Allgemeine Anpassungen ==
Einige Punkte wurden bereits in [[De/Konfiguration#Anpassungen_am_Rechnungsformular_.22invoice.scm.22 | Anpassungen am Rechnungsformular "invoice.scm"]] erwähnt. Wenn die entsprechenden Punkte hier eingearbeitet sind, kann dieser Hinweis entfernt werden.
+
Es gibt zwei grundsätzlich verschiedene Varianten um Anpassungen vorzunehmen:
  
=== Allgemein in GnuCash ===
+
# Zum einen enthalten die vorhandenen Berichte bereits unter ''Optionen'' viele Anpassungsmöglichkeiten direkt über die Benutzeroberfläche. Diese Variante stellt für die meisten Benutzer den richtigen Ort für eigenen Anpassungen dar.
 +
# Zum anderen lassen sich komplett neue Berichte erstellen, indem man die Quelldatei vorhandener Berichte kopiert und anpasst. Achtung: unsachgemäßer Umgang kann dazu führen, dass GnuCash nicht mehr startet. Daher unbedingt vorher eine Sicherheitkopie anlegen, aus der dann notfalls eine funktionierende Umgebung wiederhergestellt werden kann. Diese Variante ist also nicht ohne Risiko, erlaubt aber viel weitreichendere Anpassungen.
 +
 
 +
Einige Punkte wurden bereits beispielhaft in [[De/Konfiguration#Anpassungen_am_Rechnungsformular_.22invoice.scm.22 | Anpassungen am Rechnungsformular "invoice.scm"]] erwähnt. Wenn die entsprechenden Punkte hier eingearbeitet sind, kann dieser Hinweis entfernt werden.
 +
 
 +
== Anpassungen über die Benutzeroberfläche ==
  
 
=== Dateispezifisch ===
 
=== Dateispezifisch ===
 +
 +
Unter '''Datei->Eigenschaften''' können verschiedenen Stammdaten erfasst werden, die in Berichten verwendet werden. Dabei ist es auch möglich, in begrenztem Umfang [[#HTML-Tags]] zu verwenden, z.B.:
 +
<pre> <H1>Firmenname Rechtsform</H1><H5>Ich Inhaber</H5></pre>
  
 
=== Berichtsspezifisch ===
 
=== Berichtsspezifisch ===
  
=== Vorlagen verwenden ===
+
=== Stilvorlagen verwenden ===
In vielen Berichten läßt sich unter Optionen eine Vorlage auswählen. Die verschiedenen Vorlagen unterscheiden sich durch verschiedene Merkmale - auch der Anzahl der Optionen. Am Besten einfach mal ausprobieren - und "Bericht neu laden" nicht vergessen.
+
In vielen Berichten lässt sich in den Optionen eine Stilvorlage auswählen, welche das äußere Erscheinungsbild des Berichts beeinflußt. Die verschiedenen Vorlagen unterscheiden sich durch verschiedene Merkmale - auch der Anzahl der Optionen.  
 +
 
 +
Die einzelnen '''Optionen''' der verschiedenen Stilvorlagen wie ''Schrifttype'' und ''-größe'' lassen sich unter Bearbeiten->Stilvorlagen den eigenen Bedürfnissen anpassen.
 +
 
 +
Am Besten einfach mal ausprobieren - und "Bericht neu laden" nicht vergessen. Und natürlich muss der Bericht auch die passende Stilvorlage verwenden.
  
 
Details: [http://svn.gnucash.org/trac/browser/gnucash/trunk/src/report/report-system/doc/report-html.txt]
 
Details: [http://svn.gnucash.org/trac/browser/gnucash/trunk/src/report/report-system/doc/report-html.txt]
 +
 
=== Berichtsoptionen ===
 
=== Berichtsoptionen ===
  
 
=== HTML-Tags ===
 
=== HTML-Tags ===
An vielen Stellen kann man seinen Text mit HTML-Tags garnieren. Welche im einzelnen wie gut verstanden werden, ist davon abhängig, welche Bibliothek zur Darstellung verwendet wird. In der 2.2-Serie ist das noch GTKHTML, ab 2.3 kann das Programm vor der Kompilation auch zur Verwendung von Webkit konfiguriert werden.
+
An vielen Stellen kann man seinen Text mit [http://www.linuxwiki.de/HTML HTML]-Tags garnieren. Welche im einzelnen wie gut verstanden werden, ist davon abhängig, welche Bibliothek zur Darstellung verwendet wird.
 +
 
 +
==== HTML-Interpreter ====
 +
In aktuellen Versionen (>=2.4[?]) wird [http://de.wikipedia.org/wiki/WebKit Webkit] verwendet, bis zur 2.2-Serie war das noch [http://de.wikipedia.org/wiki/GtkHTML GtkHTML], ab 2.3 kann das Programm vor der Kompilation für eine von beiden konfiguriert werden.
 +
 
 +
==== Warnung ====
 +
Nach Möglichkeit sollten aber Elemente, die das Erscheinungsbild verändern, in den Stilvorlagen untergebracht werden. Zur Trennung von Inhalt und Form siehe die Erläuterungen in [http://de.wikipedia.org/wiki/Cascading_Style_Sheets Cascading Style Sheets].
 +
 
 +
== Anpassungen der Quelldatei ==
 +
 
 +
;Hinweis:Seit Guile3 werden die Dateien kompiliert. Welche Version verwendet wird, hängt davon ab, ob sie auf der jeweiligen Plattform verfügbar ist.
 +
Die vorhandenen Berichte finden sich in folgendem Verzeichnis:
 +
 
 +
;macOS: <tt>/Applications/GnuCash.app/Contents/Resources/share/gnucash/scm/gnucash/report</tt>, falls GnuCash, wie üblich, in /Applications (deutsch: /Programme) installiert wurde.
 +
:Die Berichts''optionen'' werden in <tt>~/Library/Application Support/GnuCash/</tt>  als Datei <tt>saved-reports-x.y</tt> (x.y ist dabei die Versionsnummer, z. Bsp. 2.4) gespeichert.
 +
 
 +
;Windows: <tt>C:\Users\*Benutzername*\AppData\Roaming\GnuCash\</tt> mit dem Dateinamen saved-reports-x.y
 +
 
 +
;Linux:
 +
:;ab Guile3:
 +
::;Quelltexte *.scm: <tt>/usr/[local/]share/guile/site/3.0/gnucash/reports</tt>
 +
::;Binäre Dateien *.go: <tt>/usr/[local/]lib64/guile/3.0/site-ccache/gnucash/reports/</tt>
 +
:;bis Guile2: (bitte ergänzen)
 +
 
 +
Werden in diesem Verzeichnis neue Dateien, die Berichte enthalten, angelegt, so werden diese beim Start von GnuCash eingelesen und lassen sich dann normal über die Benutzeroberfläche starten. Fehlerhafte Berichte oder Berichte, deren ID doppelt verwendet werden, können zu Abstürzen von GnuCash führen oder dazu das GnuCash gar nicht erst startet. Daher bitte diese Anleitung erst vollständig durchlesen, um böse Überraschungen zu vermeiden.
 +
 
 +
Wie immer ist es sinnvoll, vor dem Beginn Sicherheitskopie der Software und er Daten zu erstellen um ggf. alles wieder in den ursprünglichen Zustand zu versetzen.
 +
'''Außerdem gilt natürlich: Alles auf eigene Gefahr.'''
 +
 
 +
=== Bericht speichern unter ... ===
 +
 
 +
In neueren Versionen, ist es wichtig, daß man dem neuen Bericht vor dem Start von GnuCash eine neue, ''eindeutige'' '''report-guid''' - diese steht meist ziemlich am Ende der Datei - gibt, damit das Progamm ihn von den anderen Berichten unterscheiden kann. Bei älteren Versionen mußte stattdessen der ''Name des Berichts'' eindeutig sein.
 +
 
 +
Normalerweise sind, wie oben bereits erwähnt, vom Benutzer erstellte Berichte Standardberichte, die durch Optionen angepasst werden. Das Muster des Standardberichts steht im oben genannten Verzeichnis (z. Bsp. auf einem Mac unter "/Applications/GnuCash.app/Contents/Resources/share/gnucash/scm/gnucash/report") und die Optionen im Benutzerverzeichnis (z. Bsp. auf einem Mac unter "~/Library/Application Support/GnuCash/saved-reports-x.y". Sie werden zum Ausgabezeitpunkt zusammengeführt.
 +
Wer andere Berichte will, muss sie selber schreiben und unter .../report/ ablegen. Das bedeutet dann auch, dass man das Programm GnuCash modifiziert (und das bei jeder Versionsänderung wiederholen muss, wenn man sie nicht in die Distribution einbringt).
  
 
=== Guile/Scheme/Lisp ===
 
=== Guile/Scheme/Lisp ===
Wenn man sich nicht dadurch abschrecken läßt, daß diese Programmiersprache etwas anders aussieht als BASIC, kann man sich ja mal die Beispielberichte "im Quelltext" anschauen. Wie in anderen Programmiersprachen auch ist der "Hello World"-Bericht extra für Einsteiger geschrieben und demonstriert die wichtigsten Datentypen.
+
Die Standardberichte sind in [{{URL:wp-de}}Guile Guile] geschrieben. '''Guile''' ist der ''Scheme''-Interpreter des Gnome-Projekts. [{{URL:wp-de}}Scheme Scheme] widerum ist ein [{{URL:wp-de}}Lisp LISP]-("Listenverarbeitung"-)Dialekt. Wenn man sich nicht dadurch abschrecken lässt, dass diese Programmiersprache etwas anders aussieht als BASIC, kann man sich ja mal die Beispielberichte "im Quelltext" anschauen. Wie in anderen Programmiersprachen auch ist der "Hello World"-Bericht extra für Einsteiger geschrieben und demonstriert für die grundlegenden Datentypen, wie man eine Berichtsoption erstellt und im Bericht ausgibt.
  
 
Wer sich bereits mit Programmiersprachen auskennt, bekommt vielleicht mit den [http://www.math.ucdavis.edu/~mkoeppe/guile/guile-vortrag-linuxtag2001.pdf Guile - Die Erweiterungssprache des GNU-Projekts; Folien vom Linux-Tag 2001] einen ersten Überblick über die Vorzüge dieser Sprache.
 
Wer sich bereits mit Programmiersprachen auskennt, bekommt vielleicht mit den [http://www.math.ucdavis.edu/~mkoeppe/guile/guile-vortrag-linuxtag2001.pdf Guile - Die Erweiterungssprache des GNU-Projekts; Folien vom Linux-Tag 2001] einen ersten Überblick über die Vorzüge dieser Sprache.
  
Das offizielle  [http://www.gnu.org/software/guile/manual/html_node/index.html Guile-Handbuch] ist, wie so oft, auf englisch.
+
Das offizielle  [http://www.gnu.org/software/guile/manual/html_node/index.html Guile-Handbuch] ist, wie so oft, auf englisch. Kapitel 2 und 3 sind hier für den Einstieg wichtig. Eine [http://schemers.org/Tutorials/ Übersicht weiterer Anleitungen]  gibt es bei schemers.org.
  
=== Bericht speichern unter ... ===
+
==== Entwanzen ====
 +
 
 +
Wahrscheinlich wird der erste eigene Bericht nicht gleich auf Anhieb fehlerfrei sein. An einem Beispiel wird in [https://lists.gnucash.org/pipermail/gnucash-de/2010-November/007602.html diesem Thread] gezeigt, wie man einen Fehler lokalisiert.
  
 
=== Bericht laden aus Benutzerverzeichnis ===
 
=== Bericht laden aus Benutzerverzeichnis ===
Line 40: Line 89:
 
|[[De/Konfiguration#Anpassungen_am_Rechnungsformular_.22invoice.scm.22 | Zurück zur Anpassungen_am_Rechnungsformular]]
 
|[[De/Konfiguration#Anpassungen_am_Rechnungsformular_.22invoice.scm.22 | Zurück zur Anpassungen_am_Rechnungsformular]]
 
|}
 
|}
[[Category:De]]
+
[[Category:De|Berichte]]

Latest revision as of 09:23, 14 January 2021

Zurück zur Hauptseite

Auf dieser Seite soll gezeigt werden, wie man Berichte, aber auch Rechnungsformulare, an seine Bedürfnisse anpasst.

Allgemeine Anpassungen

Es gibt zwei grundsätzlich verschiedene Varianten um Anpassungen vorzunehmen:

  1. Zum einen enthalten die vorhandenen Berichte bereits unter Optionen viele Anpassungsmöglichkeiten direkt über die Benutzeroberfläche. Diese Variante stellt für die meisten Benutzer den richtigen Ort für eigenen Anpassungen dar.
  2. Zum anderen lassen sich komplett neue Berichte erstellen, indem man die Quelldatei vorhandener Berichte kopiert und anpasst. Achtung: unsachgemäßer Umgang kann dazu führen, dass GnuCash nicht mehr startet. Daher unbedingt vorher eine Sicherheitkopie anlegen, aus der dann notfalls eine funktionierende Umgebung wiederhergestellt werden kann. Diese Variante ist also nicht ohne Risiko, erlaubt aber viel weitreichendere Anpassungen.

Einige Punkte wurden bereits beispielhaft in Anpassungen am Rechnungsformular "invoice.scm" erwähnt. Wenn die entsprechenden Punkte hier eingearbeitet sind, kann dieser Hinweis entfernt werden.

Anpassungen über die Benutzeroberfläche

Dateispezifisch

Unter Datei->Eigenschaften können verschiedenen Stammdaten erfasst werden, die in Berichten verwendet werden. Dabei ist es auch möglich, in begrenztem Umfang #HTML-Tags zu verwenden, z.B.:

 <H1>Firmenname Rechtsform</H1><H5>Ich Inhaber</H5>

Berichtsspezifisch

Stilvorlagen verwenden

In vielen Berichten lässt sich in den Optionen eine Stilvorlage auswählen, welche das äußere Erscheinungsbild des Berichts beeinflußt. Die verschiedenen Vorlagen unterscheiden sich durch verschiedene Merkmale - auch der Anzahl der Optionen.

Die einzelnen Optionen der verschiedenen Stilvorlagen wie Schrifttype und -größe lassen sich unter Bearbeiten->Stilvorlagen den eigenen Bedürfnissen anpassen.

Am Besten einfach mal ausprobieren - und "Bericht neu laden" nicht vergessen. Und natürlich muss der Bericht auch die passende Stilvorlage verwenden.

Details: [1]

Berichtsoptionen

HTML-Tags

An vielen Stellen kann man seinen Text mit HTML-Tags garnieren. Welche im einzelnen wie gut verstanden werden, ist davon abhängig, welche Bibliothek zur Darstellung verwendet wird.

HTML-Interpreter

In aktuellen Versionen (>=2.4[?]) wird Webkit verwendet, bis zur 2.2-Serie war das noch GtkHTML, ab 2.3 kann das Programm vor der Kompilation für eine von beiden konfiguriert werden.

Warnung

Nach Möglichkeit sollten aber Elemente, die das Erscheinungsbild verändern, in den Stilvorlagen untergebracht werden. Zur Trennung von Inhalt und Form siehe die Erläuterungen in Cascading Style Sheets.

Anpassungen der Quelldatei

Hinweis
Seit Guile3 werden die Dateien kompiliert. Welche Version verwendet wird, hängt davon ab, ob sie auf der jeweiligen Plattform verfügbar ist.

Die vorhandenen Berichte finden sich in folgendem Verzeichnis:

macOS
/Applications/GnuCash.app/Contents/Resources/share/gnucash/scm/gnucash/report, falls GnuCash, wie üblich, in /Applications (deutsch: /Programme) installiert wurde.
Die Berichtsoptionen werden in ~/Library/Application Support/GnuCash/ als Datei saved-reports-x.y (x.y ist dabei die Versionsnummer, z. Bsp. 2.4) gespeichert.
Windows
C:\Users\*Benutzername*\AppData\Roaming\GnuCash\ mit dem Dateinamen saved-reports-x.y
Linux
ab Guile3
Quelltexte *.scm
/usr/[local/]share/guile/site/3.0/gnucash/reports
Binäre Dateien *.go
/usr/[local/]lib64/guile/3.0/site-ccache/gnucash/reports/
bis Guile2
(bitte ergänzen)

Werden in diesem Verzeichnis neue Dateien, die Berichte enthalten, angelegt, so werden diese beim Start von GnuCash eingelesen und lassen sich dann normal über die Benutzeroberfläche starten. Fehlerhafte Berichte oder Berichte, deren ID doppelt verwendet werden, können zu Abstürzen von GnuCash führen oder dazu das GnuCash gar nicht erst startet. Daher bitte diese Anleitung erst vollständig durchlesen, um böse Überraschungen zu vermeiden.

Wie immer ist es sinnvoll, vor dem Beginn Sicherheitskopie der Software und er Daten zu erstellen um ggf. alles wieder in den ursprünglichen Zustand zu versetzen. Außerdem gilt natürlich: Alles auf eigene Gefahr.

Bericht speichern unter ...

In neueren Versionen, ist es wichtig, daß man dem neuen Bericht vor dem Start von GnuCash eine neue, eindeutige report-guid - diese steht meist ziemlich am Ende der Datei - gibt, damit das Progamm ihn von den anderen Berichten unterscheiden kann. Bei älteren Versionen mußte stattdessen der Name des Berichts eindeutig sein.

Normalerweise sind, wie oben bereits erwähnt, vom Benutzer erstellte Berichte Standardberichte, die durch Optionen angepasst werden. Das Muster des Standardberichts steht im oben genannten Verzeichnis (z. Bsp. auf einem Mac unter "/Applications/GnuCash.app/Contents/Resources/share/gnucash/scm/gnucash/report") und die Optionen im Benutzerverzeichnis (z. Bsp. auf einem Mac unter "~/Library/Application Support/GnuCash/saved-reports-x.y". Sie werden zum Ausgabezeitpunkt zusammengeführt. Wer andere Berichte will, muss sie selber schreiben und unter .../report/ ablegen. Das bedeutet dann auch, dass man das Programm GnuCash modifiziert (und das bei jeder Versionsänderung wiederholen muss, wenn man sie nicht in die Distribution einbringt).

Guile/Scheme/Lisp

Die Standardberichte sind in Guile geschrieben. Guile ist der Scheme-Interpreter des Gnome-Projekts. Scheme widerum ist ein LISP-("Listenverarbeitung"-)Dialekt. Wenn man sich nicht dadurch abschrecken lässt, dass diese Programmiersprache etwas anders aussieht als BASIC, kann man sich ja mal die Beispielberichte "im Quelltext" anschauen. Wie in anderen Programmiersprachen auch ist der "Hello World"-Bericht extra für Einsteiger geschrieben und demonstriert für die grundlegenden Datentypen, wie man eine Berichtsoption erstellt und im Bericht ausgibt.

Wer sich bereits mit Programmiersprachen auskennt, bekommt vielleicht mit den Guile - Die Erweiterungssprache des GNU-Projekts; Folien vom Linux-Tag 2001 einen ersten Überblick über die Vorzüge dieser Sprache.

Das offizielle Guile-Handbuch ist, wie so oft, auf englisch. Kapitel 2 und 3 sind hier für den Einstieg wichtig. Eine Übersicht weiterer Anleitungen gibt es bei schemers.org.

Entwanzen

Wahrscheinlich wird der erste eigene Bericht nicht gleich auf Anhieb fehlerfrei sein. An einem Beispiel wird in diesem Thread gezeigt, wie man einen Fehler lokalisiert.

Bericht laden aus Benutzerverzeichnis

Weitergehende Literatur


Zurück zur Hauptseite Zurück zur Anpassungen_am_Rechnungsformular