Seitenhistorie
1.1 Kurzbeschreibung
Das DATEV-Nuclet bietet die Möglichkeit, CSV-Importe Exporte zur Weiterverarbeitung in DATEV durchzuführenauszuführen.
Das Nuclet sieht drei Arten von DATEV-Exporten vor (Kundenexporte, Rechnungsexporte und Umsatzexporte), kann jedoch leicht für weitere Exportarten angepasst werden.
Mehr zu Funktionsumfang und implementierten Abläufen dieses Nuclets finden Sie im Abschnitt "2 DATEV: Funktion".
1.2 Nuclet-Bestandteile
Das DATEV-Nuclet umfasst im Rahmen der .nuclet-Datei
sieben Businessobjekte (für DATEV-Exporte und zugehörige Stammdaten, inkl. DATEV-Kontenrahmen),
- drei Aktionen (für die einzelnen Exporttypen)
neun Layouts,
ein Statusmodell (für die DATEV-Exporte),
- eine Attributgruppe,
- drei Report-Datenquellen,
- drei Dynamische Businessobjekte,
diverse Java-Regeln (verteilt auf Packages),
- acht Nuclet-Parameter,
drei Jobsteuerung (zur Steuerung der Import-Jobs),
zwei Strukturdefinitionen (für den Import von Stammdaten) und
eine Nuclet-Abhängigkeit.
Darüberhinaus werden in der ZIP-Datei folgende Komponenten mitgeliefert:
vier zwei CSV-Dateien für Objektimporte.
Typ | Name, englisch | Name, deutsch | Kurzbeschreibung |
---|---|---|---|
Businessobjekt | DATEV Account | DATEV-Konto | repräsentiert ein Konto im DATEV-Kontenrahmen |
DATEV Account Class | DATEV-Kontenklasse | repräsentiert eine Klasse des DATEV-Kontenrahmens |
DATEV Account Type | DATEV-Kontentyp | repräsentiert ein Kontentyp des DATEV-Kontenrahmens |
DATEV Export | DATEV-Export | steuert und repräsentiert jeweils einen DATEV-Export |
DATEV Export Type | DATEV-Exportart | z.B. "Kundenexport", "Rechnungsexport", "Umsatzexport" |
DATEV File Encoding | DATEV-Zeichensatz | Dateizeichensatz, z.B. "ISO-8859-1", "UTF-8" |
DATEV Information | DATEV-Information | Informationsprotokoll für DATEV-Exporte | |
Aktion | DATEV Client Billing Export |
für Rechnungsexporte |
DATEV |
Client Export |
für Kundenexporte |
DATEV Turnover Export |
für Umsatzexporte | ||
Layout | DATEV Account |
Layout für Businessobjekt „DATEV Account“ |
DATEV Account Class |
Layout für Businessobjekt „DATEV Account Class“ |
DATEV Account Type |
Layout für das Businessobjekt "DATEV Account Type“ |
DATEV Client Billing Export |
Layout für Businessobjekt „DATEV Export“, Exporttyp: Kundenrechnungen |
DATEV |
Client Export |
Layout für Businessobjekt „DATEV Export“, Exporttyp: Kunden |
DATEV Export |
allgemeines Layout für Businessobjekt „DATEV Export“ |
DATEV Export Type |
Layout für Businessobjekt „DATEV Export Type“ |
DATEV File Encoding |
Layout für Businessobjekt „DATEV File Encoding“ |
DATEV Turnover Export |
Layout für Businessobjekt „DATEV Export“, Exporttyp: Umsätze | |
Statusmodell | DATEV Export |
Statusmodell für das Businessobjekt „DATEV Export“ | |||
Attributgruppe | DATEV Export |
| |
Report & Formular | DATEV Client Billing |
Export | Vorlage für Rechnungsexporte |
DATEV |
Client Export |
Vorlage für Kundenexporte |
DATEV Turnover Export |
Vorlage für Umsatzexporte | |||
Dynamische Businessobjekte | DATEV Client Billing References | alle Referenzen, bezogen auf einen Rechnungsexport | |
DATEV Client References | alle Referenzen, bezogen auf einen Kundenexport | ||
DATEV Turnover References | alle Referenzen, bezogen auf einen Umsatzexport | ||
Java-Package | org.nuclet.datev.db |
Klassen für Datenbankzugriffe, d.h. für die Ausführung der Report-Datenquellen |
org.nuclet.datev.job |
Java-Regeln zur Steuerung von Jobs („Jobsteuerung“) |
org.nuclet.datev.logic |
Geschäftslogik |
org.nuclet.datev.rule |
Steuerung von Insert-/Update-/Delete-Events | |||
org.nuclet.datev.wrapper | Wrapper-Klassen als Nuclet-Schnittstelle | ||
Parameter | DATEV File Directory |
legt das Ausgangsverzeichnis der CSV-Exportdateien fest |
DATEV File Encoding |
bestimmt den Zeichensatz, der in den CSV-Exportdateien genutzt wird |
DATEV Header Row |
legt fest, ob eine Titelzeile in den Exportdateien erscheinen soll |
DATEV Field Separator |
bestimmt das Standard-Feldtrennzeichen |
DATEV Text Separator |
bestimmt das Standard-Texttrennzeichen |
DATEV Client Billing Export Prefix |
legt den Namensrumpf für DATEV-Rechnungsexporte fest |
DATEV Client Export Prefix |
legt den Namensrumpf für DATEV-Kundenexporte fest |
DATEV Turnover Export Prefix |
legt den Namensrumpf für DATEV-Umsatzexporte fest | |
Jobsteuerung | DATEV Client Billing Export |
Fristenjob für den automatisierten DATEV-Rechnungsexport |
DATEV Client Export |
Fristenjob für den automatisierten DATEV-Kundenexport |
DATEV Turnover Export |
Fristenjob für den automatisierten DATEV-Umsatzexport | ||
Strukturdefinition | DATEV Export Type |
Importstruktur für Businessobjekt „DATEV Export Type“ |
DATEV File Encoding |
Importstruktur für Businessobjekt „DATEV File Encoding“ | |
Nuclet-Abhängigkeit |
allgemeine Helferfunktionalität | |
Objektimporte | DATEV_Export_Type.csv |
Stammdatensätze für Businessobjekt „DATEV Export Type“ |
DATEV_File_Encoding.csv |
Stammdatensätze für Businessobjekt „DATEV File Encoding“ |
Tabelle 1: Nuclet-Bestandteile
Hinweis |
---|
Java-Package-Struktur
Die Java-Regeln sind in drei Packages unterteilt:
Regeln zur Steuerung von System-Jobs (org.nuclet.datev.job)
- Regeln zur Steuerung von Insert-, Update-, Delete-Events und Statuswechsel
Regeln für die Geschäftslogik (org.nuclet.datev.logic)
- unterstützende Regeln für Datenbankzugriffe über Report-Datenquellen (org.nuclet.datev.db)
- Wrapper-Klassen als Nuclet-Schnittstelle für Businessobjekte (org.nuclet.datev.wrapper)
Bei der Geschäftslogik stellt eine abstrakte Java-Klasse (AbstractDATEVLogic) die Basisfunktionalität über die deklarierten und (größtenteils) definierten Methoden. Die Export-Prozesse sind entlang der vordeklarierten Methoden dieser abstrakten Klasse festgelegt und bedürfen für den normalen Anwendungsfall keiner weiteren Anpassung. Ergänzungen sind in konkreten Ausprägungen dieser Klasse zulässig (z.B. in der mitgelieferten Klasse DATEVLogic oder einer eigenen Implementierung).
Die Klassen in den Paketen für Datenbankzugriffe (org.nuclet.datev.db) und für die Jobsteuerung (org.nuclet.datev.job) sind derartig implementiert, dass sie im Normalfall keinerlei Anpassung bedürfen.
Java-Package | abstrakte Klassen | konkrete Implementierungen | sonstige Klassen |
org.nucket.datev.db |
| |||
org.nuclet.datev.job | AbstractCreateDATEVExport |
| |
org.nuclet.datev.logic | AbstractDATEVLogic |
|
|
org.nuclet.datev.rule |
| |||
org.nuclet.datev.wrapper | AbstractReferenceWrapper |
|
Tabelle 2: Java-Package-Struktur
...
Anwendungsspezifische Anpassungen sollten --wie zuvor erwähnt-- nur umgesetzt werden, entweder
...
Der Java-Sourcecode ist mit @replace!-Tags an all jenen Stellen markiert, wo anwendungsspezifisches Verhalten hinzugefügt werden kann. Dazu mehr im in Abschnitt " 4 DATEV: Integration".