Fehlende Steuerschlüssel

Bisher wurde beim Anlegen eines neuen Kontos nicht unbedingt auch
ein Steuerschlüssel gespeichert. Jetzt kommt eine Fehlermeldung,
wenn man keinen Steuerschlüssel angibt, bzw. versucht alle Steuer-
schlüssel aus einem bestehenden Konto zu löschen.

Siehe auch Bug #2128, #2129 und #2115.
Update-Script für fehlende Steuerschlüssel

Bisher gab es noch sehr viele Konten, für die kein Eintrag in der
Tabelle taxkeys und damit kein Steuerschlüssel vorhanden war.
Dieses Update erstellt für jedes Konto ohne Steuerschlüssel einen
in der taxkeys, s.d. solche Konten den Steuerschlüssel 0 haben.

Hierfür ist unbedingt erforderlich, dass der Steuerschlüssel 0
existiert (also in tax vorhanden ist) und dieser Eintrag den
Steuersatz 0% hat. Existiert der Steuerschlüssel 0 nicht, so
wird er angelegt. Existiert ein Steuerschlüssel 0 mit mehr als 0%
Steuern, so wird das Update mit Fehlermeldung abgebrochen.

Siehe hierzu auch die Tickets #2028, #2029.
tax_id in acc_trans

Dieser Commit enthält das Update-Script um eine neue Spalte Namens
'tax_id' in die Tabelle 'acc_trans' einzufügen. Diese Spalte hat
Constrait NOT NULL und einen Fremdschlüssel auf die id von tax.

Das Pflichtfeld wird jetzt immer geschrieben bei:

-VK-Rechnungen (auch automatisch erzeugten)
-EK-Rechnungen
-Kreditorenbuchungen
-Debitorenbuchungen
-Dialogbuchungen

Durch das Feld 'tax_id' können in der Tabelle tax der
Steuerschlüssel und der Steuersatz ausgelesen werden.

In diesem Commit wird allerdings der Wert in tax_id nur geschrieben,
im Moment wird er noch nirgendwo ausgelesen.
Sonderbehandlung im template

Dieser Commit ist eine Verbesserung zu Commit
9eb59a91db1758fd98d0eff8b081e442ddae5cb3

Im template gab es noch für das Startdatum eines Steuerschlüssels
eine Sonderbehandlung, die prüft, ob ein Konto bereits existiert
oder nicht.
HTML Enteties entfernen

Durch Commit 9c39cd67ed6cfb811df8bb20e93a68e0b56a881c sind einige
HTML Enteties reingekommen, die durch diesen Commit entfernt werden.
Bessere Formatierung

Verbessert die Formatierung von Commit 5c5e92bc37819dd9df952068b9e58b47dd0b0de2
(Großschreibung von SQL-Befehlen, Zeilenumbrüche bei langen Sub-Queries)
tax_id ist nicht zwingend 0

Bei Dialogbuchungen war bisher die tax_id für keine Steuern hartcodiert
0. Das muss allerdings nicht so sein und führt zu Problemen, wenn
der Steuerschlüssel 0 unter einer anderen id gespeichert wurde.
charset in Upgrade-Script

In diesem SQL-Update hat noch die Angabe charset gefehlt.