Prototyp

Bei unseren Prototypen haben wir uns für eine Schnittstelle zu Datev entschieden. Dabei haben wir uns sowohl mit Datev als auch mit Horilla HR auseinander gesetzt. Anschließend haben wir versucht einen weg zu finden die beiden Anwendungen miteinander zu verbinden sind dabei eine Möglichkeit durchgegeangen. Dafür sind wir soweit wie möglich durch den Code beider Anwendungen gegangen und haben versucht einen sinnigen Prototypen zu modellieren.


Möglichkeiten von Horilla

response = HttpResponse(content_type="application/ms-excel") response["Content-Disposition"] = f'attachment; filename="{file_name}"' writer = pd.ExcelWriter(response, engine="xlsxwriter") styled_data_frame.to_excel(writer, index=False, sheet_name="Sheet1") worksheet = writer.sheets["Sheet1"] worksheet.set_column("A:Z", 30) writer.close()

Hier zu sehen ist ein Excelwriter. Mit dessen Hilfe wird hier ein Excel-sheet erstellt und dann später an den Nutzer weitergegeben, da wir allerdings noch nicht wirklich mit Python gearbeitet haben konnten wir nur schwer Nachvollziehen wie genau dieser Funktioniert.


Möglichkeiten von Datev

Public Abwesenheitsantrag as Object Private Sub Stamdatenimport_starten_click() Set Abwesenheitsantrag = CreateObject("Datev.Abwesenheitsantrag") Dim check as Boolean Abewensenheitsantrag.Mitarbeiter.Protokolart lang check = Abwesenheitsantrag.Mitarbeiter.Select(cells(1,2)) If check True Then *do something with data* End If

Als Schnittstelle haben wir uns wie oben beschrieben Datev ausgesucht. Datev ist in COBOL geschrieben und ist ebenso eine Sprache mit der wir uns bis jetzt nich wirklich auseinder gesetzt haben. Wir haben allerdings eine gut Dokumentierte beschreibung gefunden in der erklärt wird wie auf eine Tabelle zugegriffen wird. Aus dieser Dokumentation haben wir den oben gezeigten Code entwickelt der simmuliert wie auf eine Tabelle zugegriffen wird.



Hier haben wir die Schnittstelle skizziert um die Kommunikation zwischen den beiden Programmen darzustellen. Die beiden Programme Kommunizieren per Http-Protokoll miteinander und Tauschen Daten aus. Auf der Horilla Seite wird also mit Python ein Excel-sheet erstellt, welches dann an Datev übermittelt wird. Datev liest dann die daten mit dem oben simulierten Code aus und Stellt ihm den Nutzer zur verfügung.