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 25. Jun 2021
Antwort Antwort
Seite 9 von 13   « Erste     789 1011     Letzte » 
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:

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)
Miniaturansicht angehängter Grafiken
swissbitgui1.png   swissbitgui2.png   swissbitgui3.png   swissbitgui4.png   swissbitgui5.png  

Angehängte Dateien
Dateityp: zip cc.KassenSichV.0.4.zip (39,0 KB, 124x aufgerufen)
Dateityp: zip cc.KassenSichV.1.0.zip (66,3 KB, 127x aufgerufen)
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de

Geändert von bernau (27. Jan 2021 um 23:15 Uhr)
 
ODee68

 
Delphi XE7 Professional
 
#81
  Alt 10. Jan 2021, 16:55
Brauche hier schon die erste Hilfe

Delphi-Quellcode:
function TccSwissBitTseByteData.asHexString: String;
var
  a: Integer;
begin
  Result := '';
  for a := 0 to Length(Bytes) - 1 do
    begin
      Result := Result + IntToHex(Bytes[a]);
    end;
end;
Beim Compilieren bekomme ich folgende Fehlermeldung
Code:
[dcc32 Fehler] cc.KassenSichV.Swissbit.classes.pas(367): E2250 Es gibt keine überladene Version von 'IntToHex', die man mit diesen Argumenten aufrufen kann
kommentiere ich die Zeile aus, läßt sich die SwissbitGui auch starten, aber dann stimmen sicherlich einige Werte nicht mehr, weil die Funktion ja nur noch einen leeren String zurück gibt.
Habe die Funktion mal einen festen Wert zurückgeben lassen, siehe 2. Bild.

Gruß Oliver
Miniaturansicht angehängter Grafiken
sb1.png   sb2.png  
Oliver

Geändert von ODee68 (10. Jan 2021 um 17:00 Uhr)
  Mit Zitat antworten Zitat
Poelser

 
Delphi 10.2 Tokyo Professional
 
#82
  Alt 10. Jan 2021, 18:39
IntToHex() braucht 2 Parameter, da gehört noch die Anzahl Stellen dazu, z.B. IntToHex(123, 2).
  Mit Zitat antworten Zitat
ODee68

 
Delphi XE7 Professional
 
#83
  Alt 11. Jan 2021, 08:48
Das ist schon richtig, so wäre die die Standardfunktion, diese ist aber aus einer eigene Klasse und hat diesen 2. Parameter nicht.
Welchen Größe müsste ich dahinter setzen? Macht das einen Unterschied für das Ergenbnis, ob 2 oder 3, etc.?

Gruß Oliver
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

 
Delphi 10.4 Sydney
 
#84
  Alt 11. Jan 2021, 09:18
IntToHex() braucht 2 Parameter, da gehört noch die Anzahl Stellen dazu, z.B. IntToHex(123, 2).
In alten Delphiversionen war das mal so, ja. Heute wird ohne den zweiten Parameter schlicht die Größe des Datentyps als Standard verwendet.

Beim Datentyp Byte wird so per Compiler Magic aus IntToHex(ByteValue) einfach IntToHex(ByteValue, 2). Ich gehe mal bei Bytes[a] davon aus, dass auch hier die 2 als zweiter Parameter korrekt ist und diese dann bei älteren Delphiversionen angegeben werden muss.
Sebastian Jänicke
  Mit Zitat antworten Zitat
ODee68

 
Delphi XE7 Professional
 
#85
  Alt 11. Jan 2021, 10:21
IntToHex() braucht 2 Parameter, da gehört noch die Anzahl Stellen dazu, z.B. IntToHex(123, 2).
In alten Delphiversionen war das mal so, ja. Heute wird ohne den zweiten Parameter schlicht die Größe des Datentyps als Standard verwendet.

Beim Datentyp Byte wird so per Compiler Magic aus IntToHex(ByteValue) einfach IntToHex(ByteValue, 2). Ich gehe mal bei Bytes[a] davon aus, dass auch hier die 2 als zweiter Parameter korrekt ist und diese dann bei älteren Delphiversionen angegeben werden muss.
Vielen Dank Sebastian!
Oliver
  Mit Zitat antworten Zitat
noisy_master

 
Delphi XE5 Professional
 
#86
  Alt 11. Jan 2021, 16:13
Hallo zusammen,

hier die Version für Delphi 2006 etc. Bitte bei den höheren Versionen in den Projektoptionen die Unit Scopes angeben....

bei Fragen einfach melden.

Gruß
Angehängte Dateien
Dateityp: zip SwissbitGui_2006_XE5.zip (237,8 KB, 22x aufgerufen)
Dirk
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

 
Delphi 10.3 Rio
 
#87
  Alt 27. Jan 2021, 23:10
Es gibt eine neue Version (Siehe erster Beitrag)
  Mit Zitat antworten Zitat
noisy_master

 
Delphi XE5 Professional
 
#88
  Alt 29. Jan 2021, 15:04
Hallo zusammen,

vielen Dank erstmal an Bernau für die neue Variante(auch wenn diesmal das Backporting auf die alten Delphi Versionen noch schwieriger geworden ist).

Nun bin ich langsam beim DSFinV-K Export angelangt, und dort stellen sich mir einige Fragen:

- Welches ist das Trennzeichen, was bei den .csv Dateien zu nutzen ist?
- Müssen die einzelnen Felder "gequotet" sein, oder nicht?
- wenn "gequoted": welches Zeichen ? " ?
- was passiert mit Feldern, die nicht gefüllt werden(müssen)? bleiben die leer, oder werden die mit der entsprechenden Feldlänge an Leerzeichen gefüllt?
- wie muss denn das Feld TAXONOMIE_VERSION aussehen? 2.2? "2.2"?, V2.2...
- müssen .csv Dateien erzeugt werden,die leer sind, oder können die weg bleiben?
- sollen in den csv Dateien Headerzeilen mit den Feldern eingefügt werden?

Vielleicht nur dumme Fragen weil ich habe was essentielles in der Dokumentation übersehen habe, oder es steht wirklich nicht drin.
Aber vielleicht findet sich ja hier jemand(bin ich mir fast sicher), der meine Fragen beantworten kann, bzw mir einen entsprechenden Link verpassen kann.

Danke euch wieder vielmals im Voraus!

Gruß
Dirk
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

 
Delphi 10.4 Sydney
 
#89
  Alt 29. Jan 2021, 15:30
Schau doch mal auf https://www.bzst.de/DE/Unternehmen/A...finv_node.html und dort unter Downloads.
Detlef
  Mit Zitat antworten Zitat
noisy_master

 
Delphi XE5 Professional
 
#90
  Alt 29. Jan 2021, 15:35
Ja, dort steht die DSFinV_ in der Version 2.2 zum download. Aber die beantwortet meine gestellten Fragen nicht(oder ich habe es dort übersehen. Wenn enthalten: wo konkret stehen die Antworten zu meinen Fragen?)
Dirk
  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 +2. Es ist jetzt 05:38 Uhr.
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