Hallo zusammen
ich bin neu in diesem Forum und auch neu in Delphi (habe erst Delphi Rio angefangen.
@Bernau: Vielen Dank für dein Testprogramm.
Für das korrekte erzeugen des QR-Codes musste ich in deinem Testprogramm ein paar Änderungen vornehmen:
Unit: cc.KassenSichV.DsFinVK.ProcessTypeData.types;
Code:
Function TDsFinVKFormatProcs.ProcessDataBetragAsString(const aBetrag: Double): string;
begin
...
// Result := FloatToStrF(aBetrag, ffGeneral, 15, 2, lFormatSettings);
Result := FloatToStrF(aBetrag, ffFixed, 15, 2, lFormatSettings); // Udo 31.07.2020 ffGeneral durch ffFixed ersetzt
end;
Function TDsFinVKFormatProcs.TransactionDateTimeAsString(const aDateTime: TDatetime): string;
begin
//Result := FormatDateTime('YYYY-MM-DDThh:mm:ss:fffZ', aDateTime);
Result := FormatDateTime('yyyy-mm-dd"T"hh:nn:ss.zzz"Z"', aDateTime); // udo 31.07.2020
end;
function TccDsFinVkTransactionData.QrCode: string;
begin
Result :=
'V0;' + // qr-code-version
KassenSeriennummer + ';' +
TccDsFinVkProcessTypeProc.EnumAsString(ProcessType) + ';' +
ProcessData + ';' +
IntToStr(TransaktionsNummer) + ';' +
IntToStr(SignaturZaehler) + ';' +
//IntToStr(TransaktionsNummer) + ';' + // udo 31.07.2020 <--- diese Zeile muss raus
TDsFinVKFormatProcs.TransactionDateTimeAsString(StartZeit) + ';' +
TDsFinVKFormatProcs.TransactionDateTimeAsString(LogTime) + ';' +
SigAlg + ';' +
LogTimeFormat + ';' +
Signatur + ';' +
PublicKey;
end;
Nach diesen Änderungen war die Prüfung des QR-Code OK.
Gruß
Udo