AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte cc.KassenSichV.* - Die Unitsammlung zur Kassensicherungverordnung des BMF

cc.KassenSichV.* - Die Unitsammlung zur Kassensicherungverordnung des BMF

Ein Thema von bernau · begonnen am 20. Jul 2020 · letzter Beitrag vom 24. Nov 2020
Antwort Antwort
Seite 7 von 8   « Erste     567 8   
Benutzerbild von bernau
bernau
Registriert seit: 1. Dez 2004
In einen anderen Thread hier in der Delphi-Praxis hatte ich wegen einem Gemeinschaftsprojekt zur Ansteuerung der SwissBit-TSE angefragt. Da es nicht wirklich ein bestehendes Projekt gab, habe ich einfach mal angefangen. Ist stehe etwas unter Zeitdruck, deshalb wollte ich nicht erst ein Gemeinschaftsprojekt organisieren. Zwischenzeitlich habe ich einige Anfragen von Personen erhalten, die auch noch am Anfang der Entwicklung stehen. Die KassenSichV ist ein heikles Thema und ich denke mehrere Augen sehen mehr als Zwei. Deshalb möchte ich hiermit meine Unit-Sammlung, die ich in den letzten Tagen geschrieben habe, der Allgemeinheit zur Verfügung stellen.

Etwas zur Lizenz:
Finanzielles Interesse habe ich keines. Aber eine anständige Lizenzregelung sollte schon sein. Vielleicht kann hier jemand helfen. Jeder soll den Quelltext kostenlos nutzen können. Im fertigen Programm muss die Bibliothek nicht erwähnt werden. Wenn jemand die Bibliothek erweitert und den Quellcode weiter gibt, dann sollte der ursprüngliche Copyright-Hinweis nicht verändert werden und der weitergegebene Quellcode muss weiter kostenlos bleiben. Ich würde auch gerne wissen, wer die Bibliothek produktiv einsetzt. Am liebsten wäre mir das als Antwort auf diesen Thread. Dies möchte ich auch, damit sehe ich, ob ich Erweiterungen hier veröffentlichen werde.

SwissBit-TSE / DsFinV-K

Ursprünglich wollte ich nur einen kleinen Wrapper für die DLL der SwissBit-TSE. Nun ist noch eine Klasse hinzugekommen, mit der die DLL noch etwas komfortabler angesprochen werden kann. Eine Kassenbeleg in mit wenigen Zeilen Quellcode erstellt und die benötigten Rückgabewerte für den Kassenbon werden in einem einfachen Record inkl. dem Inhalt des QR-Codes zurückgegeben. Da aber auch vieles davon in die DsFinV-K übergeht, werde ich ziemlich zügig noch weitere Klassen erstellen, die einen ordentlichen Export für die DsFinV-K ermöglicht. Die entsprechenden Units werde ich nachreichen.

Demo-Programm

Damit die Units von Interessenten einfach getestet werden können, habe ich ein kleines VCL-Programm beigefügt. Nichts besonderes. Soll nur zeigen, wie Funktionen angesprochen werden. Hier zwei Screenshots:

Version 0.2

Die DLL kann nun dynamisch geladen werden. Informationen dazu stehen in der Datei "cc.KassenSichV.License"

Diverse Fehler behoben.

Version 0.4

Event OnSelftestNotify zugefügt.

Automatisch Steuersatzzuordnung.

Kontrolle ob Bruttoumsatz und Zahlungen stimmig sind.

Compilerdirective WORMAPIDLL_STATIC zugefügt.

Verschiedene Hilfsfunktionen

Singleton-Funkion
Miniaturansicht angehängter Grafiken
cc.kassensichv.1.png   cc.kassensichv.2.png  
Angehängte Dateien
Dateityp: zip cc.KassenSichV.zip (72,0 KB, 105x aufgerufen)
Dateityp: zip cc.KassenSichV.0.4.zip (39,0 KB, 61x aufgerufen)
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de

Geändert von bernau ( 9. Sep 2020 um 01:51 Uhr)
 
noisy_master

 
Delphi XE5 Professional
 
#61
  Alt 7. Sep 2020, 11:17
Nur so zur Info:
hier gibt es eine wesentlich umfangreichere Aufstellung zu den länderspezifischen Verlängerungen der Nichtbeanstandungsregelung:

https://www.zdh.de/fileadmin/user_up...ung_Kassen.pdf

Ich hoffe es hilft dem Einen oder Anderen weiter....
Gruß
Dirk
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

 
Delphi 10.3 Rio
 
#62
  Alt 9. Sep 2020, 01:41
Hab ne neue Version hochgeladen.

Version 0.4
  Mit Zitat antworten Zitat
LHSoft2

 
Delphi 10.3 Rio
 
#63
  Alt 1. Okt 2020, 02:13
Hallo,
Ich bin neu hier und habe gerade einen ersten Blick über Eure V04 geworfen und die mal getestet.
Erst mal zur Info: Habe gestern nagelneue Swissbit TSEs unters Volk gebracht, microSD, mit
TSE FirmwareVersion: 1.0.3
TSE HardwareVersion: 1.0.4

Dabei ist mir aufgefallen, dass nach einem Selftest der Zeitsync weg war, die TSE war also tot.
Ich habe dann heute nach dem Selftest einen Zeitsync reingeschrieben und schon liefs wieder. Bei meiner Entwickler-TSE ist das nicht so (TSE FirmwareVersion: 0.7.1, TSE HardwareVersion: 0.6.0).

Habt Ihr das auch so? In Eurer V04 scheint mir kein Zeitsync nach dem Selftest zu sein. Kann das Problem noch jemand bestätigen?

Grüße, Hans
Hans Lackermeier
  Mit Zitat antworten Zitat
LHSoft2

 
Delphi 10.3 Rio
 
#64
  Alt 2. Okt 2020, 03:32
Zu Deiner Frage wegen der DSFinVK:
Meine DSFinVK ist eigentlich fertig, aber momentan zerlege ich sie wieder. Ursache ist, dass Amadeus meldet, meine Signaturen sind nicht gültig (aber zumindest richtig formatiert). Sonst ist in Amadeus alles grün. Da überlege ich schon seit Tagen und spiele mit Zertifikat, PublicKey, den Zeiten etc, habe aber keine Ahnung was das sein kann.
Der Support hat folgende Meldung gegeben:
Zitat:
das Problem an der starken Kryptographie ist, dass man diese nicht zurückrechnen kann. Wir können mit AV also nur feststellen, ob alles stimmt, sprich die Signaturen Byte für Byte richtig sind, oder eben nicht. Es ist unmöglich Fehler genau zu identifizieren.
Hat Hier im Forum jemand eine Idee?

Insgesamt ist mir beim Vergleich aufgefallen, dass wir eigentlich schon die Funktionen alle prinzipiell gleich definiert haben, aber Du selten Pointer benutzt. Liegt mein Problem vielleicht daran?

Ein Vergleich:

Deine
worm_transaction_finish(const aWormContext: TWormContextHandle; const aClientId: PWormChar; atransactionNumber: worm_uint; const aProcessData: PWormChar; aProcessDataLength: worm_uint; const aprocessType: PWormChar; const aresponse: TWormTransactionResponseHandle): TWormError; cdecl; external SwissbitWormApiDll;

Meine
worm_transaction_finish(context: PIntPtr; const clientId: PAnsiChar; transactionNumber: Worm_UInt; const processData: PBytes; processDataLength: Worm_UInt; const processType: PAnsiChar; response: PIntPtr): WormError; cdecl; external WormDLL;

eine / Meine
Context: IntPtr gegen PIntPtr
ClientID: Identisch: PAnsiChar
transactionNumber: Identisch UInt64
Prozessdata PansiChar gegen Pointer auf TBytes
processDataLength: identisch
processType: identisch
response: IntPtr gegen PIntPtr

Diese worm-transaction-finish ist der eigentliche Knackpunkt auch für die DSFinVK wegen den Signaturen. Alles andere läuft fein.
Was mir bei Dir noch aufgefallen ist: Du benutzt anscheinend UTC für die Rückgabe der Zeiten einer Transaktion aus der UnixTime. Die müssen ja in die DSFinVK und anhand derer wird auch die Gültigkeit der Signatur geprüft. Ist das bewusst oder zufällig.

Grüße
Hans
Hans Lackermeier
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

 
Delphi 10.4 Sydney
 
#65
  Alt 2. Okt 2020, 10:44
Zu Deiner Frage der Lizenz, Du könntest den Quelltext unter der LGPL-2.1 License veröffentlichen. Das ist meiner Meinung nach die gerechteste Lizenz und kommerzielle Nutzung ist erlaubt.
Sven
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

 
Delphi 10.3 Rio
 
#66
  Alt 3. Okt 2020, 10:14
Zu Deiner Frage der Lizenz, Du könntest den Quelltext unter der LGPL-2.1 License veröffentlichen. Das ist meiner Meinung nach die gerechteste Lizenz und kommerzielle Nutzung ist erlaubt.
Ich habe mir aus Zeitmangel nicht wirklich Gedanken über die Lizenz gemacht.
Redeemer hatte in seiner QR-Code Komponente die Lizenz WTFPL angesprochen. Fand ich ganz Witzig.

Vielleicht erfinde ich die BeerWare-Lizenz. Jeder, der den Source verwendet aktiviert automatisch die WTFPL, sobald er mir eine Flasche Bier aus seiner Region zusendet. So ähnlich wie Postcardware.


Edit: BeerWare gibt es schon.
  Mit Zitat antworten Zitat
LikeMike
 
#67
  Alt 8. Okt 2020, 11:08
-----

Geändert von LikeMike (30. Okt 2020 um 15:20 Uhr)
  Mit Zitat antworten Zitat
LikeMike
 
#68
  Alt 8. Okt 2020, 13:08
-----

Geändert von LikeMike (30. Okt 2020 um 15:20 Uhr)
  Mit Zitat antworten Zitat
schotte77
 
#69
  Alt 16. Nov 2020, 15:26
Hallo,

hat schon jemend den "DSFinV-K" export geschrieben?

Habe das hier gefunden. https://www.aitc.at/dsfinvk-bibliothek/

mdf

Schotte
  Mit Zitat antworten Zitat
arnof

 
Delphi 10.1 Berlin Enterprise
 
#70
  Alt 17. Nov 2020, 09:07
der Export ist eigentlich gleich dem bisherigen GDPdU Export nur halt vorgegebene Dateien und Spalten.

Hier ist es nur Fleißarbeit das Umzusetzen, es gibt ausreichende Beschreibungstexte, hier ist es manchmal nur schwer, diese mit deinen Daten zu füllen. Das Problem hat man aber auch mit einer "fertigen" Schnittstelle.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf