SL/DATEV.pm für KNE-Export überarbeitet / Zwischendaten eingeführt
authorG. Richardson <information@kivitendo-premium.de>
Sun, 12 Feb 2017 12:16:25 +0000 (13:16 +0100)
committerG. Richardson <information@kivitendo-premium.de>
Tue, 28 Mar 2017 15:16:00 +0000 (17:16 +0200)
commit8b8570b36cf3ec8f4c541c7caa3850c40472ca7a
treef8b03688614c72287674efc4e6f3cfa83e312e2a
parentb14b17800d3b3afb37b0c11ac558b07d7042f4c4
SL/DATEV.pm für KNE-Export überarbeitet / Zwischendaten eingeführt

_get_transactions war bisher eine interne Funktion von SL::DATEV, die vor dem
DATEV-Export aufgerufen wurde, und die Daten aus der Datenbank ausgelesen und
transformiert hat. In diesem Schritt wurde auch auf DATEV-Fehler geprüft, daher
war diese Funktion prinzipiell schon ausreichend für die DATEV-Checks beim
Buchen, und es muß nicht noch extra eine Datei-Export gestartet werden.

Im ersten Schritt wurde diese Funktion also umbenannt nach generate_datev_data.

Beim Erstellen des KNE-Formats aus den Daten wurde bisher direkt beim
Bearbeiten der Daten die KNE-Datei durch viele add_blocks aufgebaut. Jetzt
werden erst in einem Zwischenschritt alle Daten in einem "neutralen" Array von
Hashes gesammelt, so daß sie von dort in einem Rutsch nach KNE oder z.B. nach
CSV exportiert werden können.

Die so generierten Daten (generate_datev_lines) eignen sich auch gut für Tests.

In diversen Kundenerweiterungen werden auch gerne die zu exportierenden Daten
nochmal modifiziert, z.B. Ersetzen des Sammelkontos durch ein Personenkonto,
dies geschieht am Besten auch bei den neutralen Daten.

Weiterhin gab es beim KNE-Export noch Reste von Code, der die Buchungsdaten auf
mehrere Exportdateien "ED0001, ED0002, ..." verteilen konnte. Aktuell hat das
aber nicht funktioniert, und es wird immer alles nach ED0001 geschrieben, von
daher wurde hier auch Code entfernt. Das Postversendeformat (KNE) von DATEV
wird allerdings sowieso bald eingestellt werden (ab 2018).
SL/DATEV.pm