AGB  ·  Datenschutz  ·  Impressum  







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

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

Ein Thema von bernau · begonnen am 20. Jul 2020 · letzter Beitrag vom 30. Nov 2023
Antwort Antwort
Seite 10 von 14   « Erste     8910 1112     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, 149x aufgerufen)
Dateityp: zip cc.KassenSichV.1.0.zip (66,3 KB, 219x aufgerufen)
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de

Geändert von bernau (27. Jan 2021 um 22:15 Uhr)
 
Benutzerbild von DeddyH
DeddyH

 
Delphi 11 Alexandria
 
#91
  Alt 29. Jan 2021, 14:47
Sry, habe den Export mit der Übergabe an die TSE verwechselt.
Detlef
  Mit Zitat antworten Zitat
noisy_master

 
Delphi XE5 Professional
 
#92
  Alt 29. Jan 2021, 16:40
Hallo zusammen,

zu meinen bisherigen unbeantworteten 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?
sind mir gerade noch folgende Fragen eingefallen;

- Plain ASCII, oder irgendein Encodig (e.g. UTF-8)?
- welches Dezimaltrennzeichen?
- Tausendertrennzeichen?

Vielleicht weiss ja doch jemand Rat

Gruß
Dirk
  Mit Zitat antworten Zitat
Frickler

 
Delphi XE6 Enterprise
 
#93
  Alt 1. Feb 2021, 17:34
Die CSV-Dateien stellen das Exportformat für die IDEA Software der Prüfer dar. Beschrieben werden die Daten in der offiziellen INDEX.XML Datei. Habe ich mal angehängt.

Code:
<UTF8 />
<DecimalSymbol>,</DecimalSymbol>
<DigitGroupingSymbol>.</DigitGroupingSymbol>
<ColumnDelimiter>;</ColumnDelimiter>
<RecordDelimiter>&#xD;&#xA;</RecordDelimiter>
<TextEncapsulator>"</TextEncapsulator>
Angehängte Dateien
Dateityp: xml index.xml (55,6 KB, 24x aufgerufen)
  Mit Zitat antworten Zitat
noisy_master

 
Delphi XE5 Professional
 
#94
  Alt 2. Feb 2021, 12:56
Ah, das ist toll! VIELEN DANK!!!!

Das klärt ja schon FAST alle Fragen.

Dann bleiben noch die folgenden:
- leere Dateien anlegen?
- alle Felder Quoten, oder nur die alphanumerischen?
- wie muss denn das Feld TAXONOMIE_VERSION aussehen? 2.2? "2.2"?, V2.2...
- HeaderZeile mit Feldnamen in .csv einfügen?

Danke und Gruß
Dirk
  Mit Zitat antworten Zitat
LikeMike
 
#95
  Alt 10. Feb 2021, 08:54
Zitat von bernau (aus dem Quelltext):
Leider habe ich die vereinfachte Regel der DsFinV-K-Doku
falsch interpretiert und gedacht, dass nach dem Kassiervorgang "transaction_start" und "transaction_finish"
unmittelbar nacheinander aufgerufen werden können. Dem ist nicht so.
Hallo!
Gibt es eine Quelle für die neue Erkenntnis. Ich habe nämlich nichts gefunden, was die zeitliche Trennung vorschreibt.

Danke im Voraus
Mike
  Mit Zitat antworten Zitat
ODee68

 
Delphi XE7 Professional
 
#96
  Alt 10. Feb 2021, 09:48
Zitat von bernau (aus dem Quelltext):
Leider habe ich die vereinfachte Regel der DsFinV-K-Doku
falsch interpretiert und gedacht, dass nach dem Kassiervorgang "transaction_start" und "transaction_finish"
unmittelbar nacheinander aufgerufen werden können. Dem ist nicht so.
Hallo!
Gibt es eine Quelle für die neue Erkenntnis. Ich habe nämlich nichts gefunden, was die zeitliche Trennung vorschreibt.

Danke im Voraus
Mike
Die DsFinVK ist wirklich nicht gut beschrieben, ich habe es hier gefunden:
https://support.gastro-mis.de/suppor...rg%C3%A4nge-ab
Oliver
  Mit Zitat antworten Zitat
ODee68

 
Delphi XE7 Professional
 
#97
  Alt 17. Feb 2021, 11:06
Moin,

ich bekomme die Version 1.0 nicht kompiliert.

Delphi-Quellcode:
function TccSwissbitTse.AddFunctionCallToLog(const aFunctionName: String; const aFunctionResult: TWormError; const aParams: TccSwissBitLogItemParamValueArray): TccSwissBitLogItemFunctionCall;
begin
  Result := TccSwissBitLogItemFunctionCall.create;
  Result.FunctionName := aFunctionName;
  Result.FunctionResult := aFunctionResult;
  Result.Params := aParams;
  AddFunctionCallToLog(Result, True);
end;

Delphi-Quellcode:
  AddFunctionCallToLog('worm_tse_setup', Result, [
    TccSwissBitLogItemParamValue.create('CredentialSeed', CredentialSeed),
    TccSwissBitLogItemParamValue.create('AdminPuk', IfThen(PinToLogEnabled, aAdminPuk, '???')),
    TccSwissBitLogItemParamValue.create('AdminPin', IfThen(PinToLogEnabled, aAdminPin, '???')),
    TccSwissBitLogItemParamValue.create('TimeAdminPin', IfThen(PinToLogEnabled, aTimeAdminPin, '???')),
    TccSwissBitLogItemParamValue.create('ClientId', aClientId)
    ]);
[dcc32 Fehler] cc.KassenSichV.Swissbit.classes.pas(1860): E2250 Es gibt keine überladene Version von 'AddFunctionCallToLog', die man mit diesen Argumenten aufrufen kann.

Leider weiß ich nicht, woran das liegt, hat da jemand ne Ahnung oder Idee?



LG Oliver
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

 
Delphi 11 Alexandria
 
#98
  Alt 17. Feb 2021, 12:16
ich bekomme die Version 1.0 nicht kompiliert.
Ich verwende gerne die neuen Sprachfeatures von Delphi 10.3 Kann sein, dass dein XE7 diese noch nicht kennt und deshalb die Fehlermeldung kommt.

noisy_master hat die Unitsammlung für Delphi 2006 angepasst, vielleicht verwendest du diese.




Gerd
  Mit Zitat antworten Zitat
ODee68

 
Delphi XE7 Professional
 
#99
  Alt 17. Feb 2021, 12:34
Danke für die schnelle Rückmeldung.
Leider ist das der Stand der Version 0.4, die ich ja laufen hab.
Ich hätte eben Interesse an den vielen Zusatzfunktionen der TSE in der neuen GUI gehabt

LG Oliver
Oliver
  Mit Zitat antworten Zitat
noisy_master

 
Delphi XE5 Professional
 
#100
  Alt 17. Feb 2021, 23:19
Hallo zusammen,

die komplette 1.0 habe ich leider auch nicht zurückportiert bekommen(insbesondere das schöne neue logging). ich stelle aber morgen noch mal eine Version ein, wo ich zumindest das neue "Bestellungsfeature" aus der 1.0 in die 0.4 mit reingebastelt habe.

@Bernau: ich weiss, dass du die vielen neuen Sprachfeatures magst, aber es wäre schon toll, wenn du die fürderhin nicht allzu intensiv nutzt

Gruß
Dirk
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 10 von 14   « Erste     8910 1112     Letzte »    


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 10:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz