Delphi-PRAXiS
Seite 1 von 12  1 2311     Letzte » 

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   cc.KassenSichV.* - Die Unitsammlung zur Kassensicherungverordnung des BMF (https://www.delphipraxis.net/204986-cc-kassensichv-%2A-die-unitsammlung-zur-kassensicherungverordnung-des-bmf.html)

bernau 20. Jul 2020 21:19


cc.KassenSichV.* - Die Unitsammlung zur Kassensicherungverordnung des BMF
 
Liste der Anhänge anzeigen (Anzahl: 7)
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:

Es wird die Beerware-Lizenz verwendet. https://de.wikipedia.org/wiki/Beerware

Kurz gesagt, mach mit der Unitsammlung was du willst. Wenn es möglich ich, dann sende mir einfach eine Flasche Bier aus deiner Region zu. Vielleicht noch einen zugehörigen Bierdeckel.

Es kann auf einem gemeinsammen Delphi-Event (z.B. die Foren-Tage https://forentage.de) auch gerne ein Bier ausgegeben werden.

Gegen einen Leckeren Single-Malt-Whiskey hätte ich auch nichts einzuwenden ;-)

Grundsätzlich erfolgt die Nutzung dieser Unitsammlung auf eigenes Risiko. Ich weise ausdrücklich darauf hin, dass bei falscher Nutzung die Hardware (TSE) unbrauchbar gemacht werden kann.

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-Funktion

Version 1.0

Neue Funktionen neuerer SDK > 5.7.1

keepalive_configure

LAN-TSE (von Uwe Koch)

Log-Funktionen

Weitere Events

Details stehen in der Datei "cc.KassensichV.ChangeLog.pas"

Erweiterung der SwissbitGui. (Siehe Bilder)

t2000 21. Jul 2020 08:16

AW: cc.KassenSichV.* - Die Unitsammlung zur Kassensicherungverordnung des BMF
 
Ich wäre auch dabei. Auch bei uns ist Eile angesagt.
Ist denn auch geplant, Bundesdruckerei TSE mit dazuzunehmen? An Epson arbeiten wir auch gerade noch.

dummzeuch 21. Jul 2020 08:40

AW: cc.KassenSichV.* - Die Unitsammlung zur Kassensicherungverordnung des BMF
 
Bis auf "Im fertigen Programm muss die Bibliothek nicht erwähnt werden." hört sich die gesuchte Lizenz nach guter alter MPL an.

Meiner Meinung nach sollte jemand, der eine Bibliothek unter einer Open Source Lizenz verwendet, das auch erwähnen. Es tut schließlich nicht weh.

himitsu 21. Jul 2020 10:42

AW: cc.KassenSichV.* - Die Unitsammlung zur Kassensicherungverordnung des BMF
 
"muss nicht" heißt ja nicht, dass man es nicht darf, aber es wäre dann für den Verwendenden nicht "tragisch" falls er es "vergisst".

bernau 21. Jul 2020 13:01

AW: cc.KassenSichV.* - Die Unitsammlung zur Kassensicherungverordnung des BMF
 
Kurzer Hinweis, da ich grade per PM darauf angesprochen wurde.

In der Klasse TccSwissbitTse ist folgendes Event implementiert

Delphi-Quellcode:
Property OnGetDateTime: TccSwisBitTseGetDateTimeEvent read fOnGetDateTime write fOnGetDateTime;
Wenn dieses Event nicht genutzt wird, dann wird zur Einstellung der TSE-Zeit die aktuelle Zeit des Computers verwendet.

Mit diesem Event kann man, wenn man es wünscht, anhand einer anderen Zeitquelle (z.B eines NTP-Zeitservers) die Zeit abfragen und diese wird verwendet.

Im Beispielprogramm habe ich folgendes implementiert:

Delphi-Quellcode:
procedure TFormSwissBitGui.DoGetDatetime(Sender: TObject; var aDateTime: TDatetime);
begin
  aDateTime := now - 500;
end;
Dies habe ich gemacht, weil das Zertifikat meiner Test-TSE am 14.7.2020 abgelaufen ist. Diese TSE funktioniert also nicht mehr mit der aktuelle Zeit. Zum Testen solltet Ihr also dieses Event ändern oder entfernen.

dummzeuch 21. Jul 2020 13:28

AW: cc.KassenSichV.* - Die Unitsammlung zur Kassensicherungverordnung des BMF
 
Zitat:

Zitat von himitsu (Beitrag 1469976)
"muss nicht" heißt ja nicht, dass man es nicht darf, aber es wäre dann für den Verwendenden nicht "tragisch" falls er es "vergisst".

Ist halt nur blöd, dass man dann nicht einfach die MPL als Lizenz verwenden kann.

michaelg 22. Jul 2020 10:57

AW: cc.KassenSichV.* - Die Unitsammlung zur Kassensicherungverordnung des BMF
 
Ich bin auch dabei, bin schon fleissig am Testen. Bisher funktioniert alles aalglatt, ich bin begeistert.

@Bernau: Kann ich bei irgendwas mithelfen? Das Testprogramm um bestimmte Vorfälle erweitern oder ähnliches?


Ich hab da mal eine generelle Frage zu den Abläufen. Für mich ist Gastronomie eher uninteressant. Ich muss Kassen im Einzelhandel bedienen können. Hier wird von Swissbit geschrieben, dass man für "kurze" Geschäftsvorfälle den ProcessType "Beleg" nehmen sollte. Dieser beinhaltet ja nur Bruttobeträge mit Steuersätzen und Zahlungen mit Zahlungsart. Es gibt keinerlei Information, was da verkauft wurde.

Beim Processtype "Bestellung" (langer Geschäftsvorfall), der für Gastro empfohlen ist, kann man (oder muss) die Bestellpositionen angeben. Wenn jemand ein Glas Cola bestellt, wird das Glas Cola im TSE vermerkt.

Und nun die Frage: Wenn ich einen "Beleg" erstelle und alle Positionen haben dieselbe Mehrwertsteuer, macht Ihr dann eine Transaktion mit nur einem Gesamtbruttobetrag des Bons? Oder gebt Ihr jede Position mit ihrem Betrag an? Der Geschäftsvorfall selbst ist ja nur ein Bruttobetrag, alles geht letztlich auf dasselbe Fibukonto.

Und dann noch eine kurze Frage hinterher: Nehmt Ihr bei Barentnahmen/-einlagen den "Sonstigen Vorfall"?

jaenicke 22. Jul 2020 11:01

AW: cc.KassenSichV.* - Die Unitsammlung zur Kassensicherungverordnung des BMF
 
Zitat:

Zitat von michaelg (Beitrag 1470073)
Und nun die Frage: Wenn ich einen "Beleg" erstelle und alle Positionen haben dieselbe Mehrwertsteuer, macht Ihr dann eine Transaktion mit nur einem Gesamtbruttobetrag des Bons?

Ja, so steht es in der Doku soweit ich es verstanden habe.

Auch bei Bestellungen schickt man nicht was konkret bestellt wurde, sondern nur Summen.

Zitat:

Zitat von michaelg (Beitrag 1470073)
Und dann noch eine kurze Frage hinterher: Nehmt Ihr bei Barentnahmen/-einlagen den "Sonstigen Vorfall"?

Einzahlung, Auszahlung, Anfangsbestand, ... hielte ich da für passender.

michaelg 22. Jul 2020 11:22

AW: cc.KassenSichV.* - Die Unitsammlung zur Kassensicherungverordnung des BMF
 
Zitat:

Auch bei Bestellungen schickt man nicht was konkret bestellt wurde, sondern nur Summen.
https://support.gastro-mis.de/suppor...nd-processdata

In dem Link steht: Die Processdata "Bestellung" besteht dann aus einer Liste von <Menge>;”<Bezeichnung>”;<Preis>

Und da stehen Wiener Schnitzel und Himbeereis als Beispiele, was mit in die Transaktion geschrieben wird.

bernau 22. Jul 2020 11:36

AW: cc.KassenSichV.* - Die Unitsammlung zur Kassensicherungverordnung des BMF
 
Zitat:

Zitat von jaenicke (Beitrag 1470074)
Auch bei Bestellungen schickt man nicht was konkret bestellt wurde, sondern nur Summen.

Bei Bestellung wird jeder einzelne Artikel aufgelistet mit Menge, Bezeichnung und Betrag.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:24 Uhr.
Seite 1 von 12  1 2311     Letzte » 

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf