barverkauf, etc.

This commit is contained in:
2026-07-31 15:28:27 +02:00
parent 90fffa9572
commit 3f54bba380
10 changed files with 249 additions and 158 deletions

View File

@@ -282,6 +282,9 @@ Public Class EABeleg
Property ECZahlungsPerAPI As Boolean = False Property ECZahlungsPerAPI As Boolean = False
Property ECTerminalreturnCode As Object = Nothing Property ECTerminalreturnCode As Object = Nothing
Property EC_daid As Integer = 0 Property EC_daid As Integer = 0
Property FT_ReceiptReference As Object = Nothing
Property FT_ReceiptReference_Storno As Object = Nothing
Property POS As New List(Of EABelegPositionen) Property POS As New List(Of EABelegPositionen)
@@ -362,6 +365,8 @@ Public Class EABeleg
Me.ECZahlungsPerAPI = cSqlDb.checkNullReturnValue(dr.Item("ECZahlungsPerAPI"), Nothing) Me.ECZahlungsPerAPI = cSqlDb.checkNullReturnValue(dr.Item("ECZahlungsPerAPI"), Nothing)
Me.ECTerminalreturnCode = cSqlDb.checkNullReturnValue(dr.Item("ECTerminalreturnCode"), Nothing) Me.ECTerminalreturnCode = cSqlDb.checkNullReturnValue(dr.Item("ECTerminalreturnCode"), Nothing)
Me.EC_daid = cSqlDb.checkNullReturnValue(dr.Item("EC_daid"), Nothing) Me.EC_daid = cSqlDb.checkNullReturnValue(dr.Item("EC_daid"), Nothing)
Me.FT_ReceiptReference = cSqlDb.checkNullReturnValue(dr.Item("FT_ReceiptReference"), Nothing)
Me.FT_ReceiptReference_Storno = cSqlDb.checkNullReturnValue(dr.Item("FT_ReceiptReference_Storno"), Nothing)
If loadPosAswell Then POS = LOAD_POS_List(Mandant, Niederlassung, Benutzer, BelegNr, BelegDat) If loadPosAswell Then POS = LOAD_POS_List(Mandant, Niederlassung, Benutzer, BelegNr, BelegDat)
' MsgBox(POS.Count) ' MsgBox(POS.Count)
@@ -547,6 +552,8 @@ Public Class EABeleg
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("ECZahlungsPerAPI", ECZahlungsPerAPI)) list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("ECZahlungsPerAPI", ECZahlungsPerAPI))
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("ECTerminalreturnCode", ECTerminalreturnCode)) list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("ECTerminalreturnCode", ECTerminalreturnCode))
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("EC_daid", EC_daid)) list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("EC_daid", EC_daid))
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("FT_ReceiptReference", FT_ReceiptReference))
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("FT_ReceiptReference_Storno", FT_ReceiptReference_Storno))
'For Each p As System.Reflection.PropertyInfo In Me.GetType().GetProperties() 'For Each p As System.Reflection.PropertyInfo In Me.GetType().GetProperties()
'If p.CanRead Then 'If p.CanRead Then

View File

@@ -1,9 +1,13 @@
 
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports System.IO
Imports System.Reflection Imports System.Reflection
Imports Chilkat Imports Chilkat
Imports Gma.QrCodeNet.Encoding
Imports GrapeCity.DataVisualization.Chart Imports GrapeCity.DataVisualization.Chart
Imports itextsharp.text.pdf.qrcode
Imports Newtonsoft.Json Imports Newtonsoft.Json
Imports QRCoder
Public Class FtReceiptCases Public Class FtReceiptCases
@@ -257,71 +261,71 @@ Public Class cFiskaltrustClient_chilkat
json.UpdateString("cbReceiptMoment", DateTime.UtcNow.ToString("o")) json.UpdateString("cbReceiptMoment", DateTime.UtcNow.ToString("o"))
Dim receipCase As Long Dim receipCase As Long
Select Case _receiptCase Select Case _receiptCase
Case "Storno" Case "Storno"
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.ImplicitTransaction 'Storno receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.ImplicitTransaction 'Storno
Case Else Case Else
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ImplicitTransaction 'Verkauf receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ImplicitTransaction 'Verkauf
End Select End Select
json.UpdateString("ftReceiptCase", receipCase) json.UpdateString("ftReceiptCase", receipCase)
Dim chargeItems = json.AppendArray("cbChargeItems") Dim chargeItems = json.AppendArray("cbChargeItems")
For Each p In POS For Each p In POS
If chargeItems.AddObjectAt(-1) Then If chargeItems.AddObjectAt(-1) Then
Dim item As Chilkat.JsonObject = chargeItems.ObjectAt(chargeItems.Size - 1) Dim item As Chilkat.JsonObject = chargeItems.ObjectAt(chargeItems.Size - 1)
item.UpdateInt("Quantity", p.Anzahl) item.UpdateInt("Quantity", p.Anzahl)
item.UpdateNumber("Amount", p.Preis.ToString().Replace(",", ".")) item.UpdateNumber("Amount", p.Preis.ToString().Replace(",", "."))
item.UpdateNumber("VATRate", vat.ToString().Replace(",", ".")) item.UpdateNumber("VATRate", vat.ToString().Replace(",", "."))
item.UpdateString("Description", p.LeistungsBez) item.UpdateString("Description", p.LeistungsBez)
Dim ChargeItemCase As Long Dim ChargeItemCase As Long
Select Case vat Select Case vat
Case 19D Case 19D
ChargeItemCase = FtChargeItemCase.RevenueNormal ChargeItemCase = FtChargeItemCase.RevenueNormal
Case 7D Case 7D
ChargeItemCase = FtChargeItemCase.RevenueReduced ChargeItemCase = FtChargeItemCase.RevenueReduced
Case 0D Case 0D
ChargeItemCase = FtChargeItemCase.RevenueTaxFree ChargeItemCase = FtChargeItemCase.RevenueTaxFree
Case Else Case Else
Throw New Exception("Unbekannter Steuersatz") Throw New Exception("Unbekannter Steuersatz")
End Select End Select
item.UpdateString("ftChargeItemCase", ChargeItemCase) item.UpdateString("ftChargeItemCase", ChargeItemCase)
End If End If
Next Next
Dim payItems = json.AppendArray("cbPayItems") Dim payItems = json.AppendArray("cbPayItems")
payItems.AddObjectAt(-1) payItems.AddObjectAt(-1)
Dim pay As Chilkat.JsonObject = payItems.ObjectAt(payItems.Size - 1) Dim pay As Chilkat.JsonObject = payItems.ObjectAt(payItems.Size - 1)
pay.UpdateInt("Quantity", 1) pay.UpdateInt("Quantity", 1)
pay.UpdateNumber("Amount", amount.ToString().Replace(",", ".")) pay.UpdateNumber("Amount", amount.ToString().Replace(",", "."))
pay.UpdateString("Description", kindOfPayment) pay.UpdateString("Description", kindOfPayment)
Select Case kindOfPayment Select Case kindOfPayment
Case "Cash" Case "Cash"
pay.UpdateString("ftPayItemCase", FtPayItemCases.Cash) pay.UpdateString("ftPayItemCase", FtPayItemCases.Cash)
Case "Card" Case "Card"
pay.UpdateString("ftPayItemCase", FtPayItemCases.DebitCard) pay.UpdateString("ftPayItemCase", FtPayItemCases.DebitCard)
End Select End Select
Return json Return json
End Function End Function
@@ -460,7 +464,7 @@ Public Class cFiskaltrustClient_chilkat
Return Terminal_ID & "_" & Application.ProductVersion Return Terminal_ID & "_" & Application.ProductVersion
End Function End Function
Public Function saveRKSV_FT(ByRef result_zahlung As String, ByRef QR_CodeString As String) As Boolean Public Function saveRKSV_FT(ByRef result_zahlung As String, ByRef QR_CodeString As String, ByRef beleg_temp As EABeleg, ByRef isStorno As Boolean) As Boolean
If result_zahlung <> "" Then If result_zahlung <> "" Then
Dim json As New Chilkat.JsonObject Dim json As New Chilkat.JsonObject
@@ -498,6 +502,18 @@ Public Class cFiskaltrustClient_chilkat
.ftState = json.StringOf("ftState") .ftState = json.StringOf("ftState")
saved = .SAVE() saved = .SAVE()
If saved AndAlso beleg_temp IsNot Nothing Then
If isStorno Then
beleg_temp.FT_ReceiptReference_Storno = .cbReceiptReference
beleg_temp.SAVE()
Else
beleg_temp.FT_ReceiptReference = .cbReceiptReference
End If
End If
End With End With
@@ -525,10 +541,29 @@ Public Class cFiskaltrustClient_chilkat
.ftSignatureFormat = SignObj.StringOf("ftSignatureFormat") .ftSignatureFormat = SignObj.StringOf("ftSignatureFormat")
.ftSignatureType = SignObj.StringOf("ftSignatureType") .ftSignatureType = SignObj.StringOf("ftSignatureType")
saved = .SAVE() saved = .SAVE()
If IsNumeric(.ftSignatureType) AndAlso CInt(.ftSignatureType) = IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True, 0, 3) Then 'If IsNumeric(.ftSignatureType) AndAlso CInt(.ftSignatureType) = IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True, 0, 3) Then
'QR_CodeString = .ftData ' QR_CodeString = .ftData
End If 'End If
'https://receipts.fiskaltrust.eu/{ftQueueID}/{ftQueueItemID}
Dim URL_FT As String = ""
If Not String.IsNullOrWhiteSpace(ftSig.ftQueueID) AndAlso Not String.IsNullOrWhiteSpace(ftSig.ftQueueItemID) Then
URL_FT = $"https://receipts.fiskaltrust.eu/{ftSig.ftQueueID}/{ftSig.ftQueueItemID}"
Using qrGenerator As New QRCodeGenerator()
Using qrData As QRCodeData = qrGenerator.CreateQrCode(URL_FT, QRCodeGenerator.ECCLevel.Q)
Dim qrCode As New PngByteQRCode(qrData)
Dim qrBytes As Byte() = qrCode.GetGraphic(20)
Dim qrBase64 As String = Convert.ToBase64String(qrBytes)
QR_CodeString = qrBase64
End Using
End Using
End If
End With End With
Next Next

View File

@@ -1,10 +1,7 @@
Imports System.Net.Http Imports GrapeCity.ActiveReports
Imports System.Text
Imports GrapeCity.ActiveReports
Imports GrapeCity.DataVisualization.Options
Imports Newtonsoft.json
Imports SDL.RKSVServer Imports SDL.RKSVServer
Imports VERAG_PROG_ALLGEMEIN.DSFinVKService Imports VERAG_PROG_ALLGEMEIN.DSFinVKService
Imports VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService
Public Class cRKSV Public Class cRKSV
Shared SQL As New SQL Shared SQL As New SQL
@@ -92,7 +89,7 @@ Public Class cRKSV
End Function End Function
Shared Function insertRKSVFiskaltrustAsync(ByVal kasse As cRKSV_Kasse, CompanyGUID As String, ByVal umsatzZaehler As Double, ByVal belegDat As DateTime, ByVal steuerSchluessel As Integer, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, TEST As Boolean, POS As List(Of EABelegPositionen), ByRef QR_CodeString As String, ByRef LastJWS As String) As Boolean Shared Function insertRKSVFiskaltrustAsync(ByVal kasse As cRKSV_Kasse, beleg_temp As EABeleg, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, TEST As Boolean, ByRef QR_CodeString As String, ByRef LastJWS As String) As Boolean
Try Try
@@ -103,7 +100,7 @@ Public Class cRKSV
credentials.Username = "Admin" credentials.Username = "Admin"
credentials.Password = "verag#2" credentials.Password = "verag#2"
credentials.CashboxID = kasse.rksv_FT_CashboxID credentials.CashboxID = kasse.rksv_FT_CashboxID
credentials.CompanyGUID = CompanyGUID credentials.CompanyGUID = kasse.rksv_CompanyGUID
Dim AccessToken As String = kasse.rksv_FT_AccessToken Dim AccessToken As String = kasse.rksv_FT_AccessToken
Dim jws As String = String.Empty Dim jws As String = String.Empty
@@ -112,16 +109,18 @@ Public Class cRKSV
'Dim answer As String = String.Empty 'Dim answer As String = String.Empty
Dim Belegnummer = RKSV_Beleg_Id Dim Belegnummer = RKSV_Beleg_Id
Dim BelegDatumUhrzeit = belegDat ' BELEG.BelegDat Dim BelegDatumUhrzeit = beleg_temp.BelegDat
Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT isnull(tblSteuersätze.Steuersatz,0) FROM tblSteuersätze WHERE tblSteuersätze.Nr='" & steuerSchluessel & "' ", "FMZOLL") Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT isnull(tblSteuersätze.Steuersatz,0) FROM tblSteuersätze WHERE tblSteuersätze.Nr='" & beleg_temp.Steuerschlüssel & "' ", "FMZOLL")
Dim BetragSatzNormal = IIf(steuersatz = 0.2, summeBRUTTO, 0.0) 'summe Dim BetragSatzNormal = IIf(steuersatz = 0.2, summeBRUTTO, 0.0) 'summe
Dim BetragSatzErm1 = IIf(steuersatz = 0.1, summeBRUTTO, 0.0) Dim BetragSatzErm1 = IIf(steuersatz = 0.1, summeBRUTTO, 0.0)
Dim BetragSatzErm2 = IIf(steuersatz = 0.13, summeBRUTTO, 0.0) Dim BetragSatzErm2 = IIf(steuersatz = 0.13, summeBRUTTO, 0.0)
Dim BetragSatzNull = IIf(steuersatz = 0.0, summeBRUTTO, 0.0) Dim BetragSatzNull = IIf(steuersatz = 0.0, summeBRUTTO, 0.0)
Dim BetragSatzBesonders = IIf(steuersatz = 0.19, summeBRUTTO, 0.0) Dim BetragSatzBesonders = IIf(steuersatz = 0.19, summeBRUTTO, 0.0)
Dim StandUmsatzzaehler = umsatzZaehler 'KASSE.rksv_Umsatzzaehler Dim StandUmsatzzaehler = kasse.rksv_Umsatzzaehler
Dim kindOfPayment As String = getKindOfPayment(beleg_temp)
If False Then If False Then
'Dim client As New cFiskaltrustClient(kasse.rksv_FT_RestServiceURL, kasse.rksv_FT_CashboxID, kasse.rksv_FT_AccessToken, kasse.rksv_FT_Country) 'Dim client As New cFiskaltrustClient(kasse.rksv_FT_RestServiceURL, kasse.rksv_FT_CashboxID, kasse.rksv_FT_AccessToken, kasse.rksv_FT_Country)
@@ -134,9 +133,9 @@ Public Class cRKSV
'End If 'End If
Else Else
Dim client As New cFiskaltrustClient_chilkat(kasse.rksv_FT_RestServiceURL, kasse.rksv_FT_CashboxID, kasse.rksv_FT_AccessToken, kasse.rksv_FT_Country) Dim client As New cFiskaltrustClient_chilkat(kasse.rksv_FT_RestServiceURL, kasse.rksv_FT_CashboxID, kasse.rksv_FT_AccessToken, kasse.rksv_FT_Country)
Dim result = client.SignReceipt(summeBRUTTO, steuersatz, POS, "Cash", kasse.rksv_id) Dim result = client.SignReceipt(summeBRUTTO, steuersatz, beleg_temp.POS, kindOfPayment, kasse.rksv_id)
If result <> "" Then If result <> "" Then
Return client.saveRKSV_FT(result, QR_CodeString) Return client.saveRKSV_FT(result, QR_CodeString, beleg_temp, False)
Else Else
Return False Return False
End If End If
@@ -144,11 +143,6 @@ Public Class cRKSV
End If End If
Catch ex As Exception Catch ex As Exception
MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace) MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace)
Return False Return False
@@ -915,18 +909,13 @@ Public Class cRKSV
Dim client As RKSVWcfClient = New RKSVWcfClient() Dim client As RKSVWcfClient = New RKSVWcfClient()
client.Endpoint.Address = New System.ServiceModel.EndpointAddress(getRKSVLink(kasse)) client.Endpoint.Address = New System.ServiceModel.EndpointAddress(getRKSVLink(kasse))
client.Open() client.Open()
' svcRKSV.DBUserCredentials m_credentials = new svcRKSV.DBUserCredentials();
Dim credentials As New SDL.RKSVServer.DBUserCredentials Dim credentials As New SDL.RKSVServer.DBUserCredentials
credentials.Database = "RKSVWcfDB" credentials.Database = "RKSVWcfDB"
credentials.Server = "AVISO\SQLEXPRESS" credentials.Server = "AVISO\SQLEXPRESS"
credentials.Username = "Admin" credentials.Username = "Admin"
credentials.Password = "verag#2" credentials.Password = "verag#2"
'credentials.CashboxID = kasse '"VERAG-SUB-KASSE-ZOLL"
'credentials.CompanyGUID = CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
credentials.CashboxID = kasse.rksv_bez '"VERAG-SUB-KASSE-ZOLL" credentials.CashboxID = kasse.rksv_bez '"VERAG-SUB-KASSE-ZOLL"
credentials.CompanyGUID = kasse.rksv_CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059" credentials.CompanyGUID = kasse.rksv_CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
@@ -952,23 +941,6 @@ Public Class cRKSV
Dim BetragSatzBesonders = IIf(steuersatz = 0.19, summeBRUTTO, 0.0) Dim BetragSatzBesonders = IIf(steuersatz = 0.19, summeBRUTTO, 0.0)
Dim StandUmsatzzaehler = kasse.rksv_Umsatzzaehler 'KASSE.rksv_Umsatzzaehler Dim StandUmsatzzaehler = kasse.rksv_Umsatzzaehler 'KASSE.rksv_Umsatzzaehler
' Dim BetragSatzNormal = summe * -1
' Dim BetragSatzErm1 = IIf(steuersatz = 0.1, summe, 0.0) * -1
' Dim BetragSatzErm2 = IIf(steuersatz = 0.13, summe, 0.0) * -1
' Dim BetragSatzNull = IIf(steuersatz = 0.0, summe, 0.0) * -1
' Dim BetragSatzBesonders = IIf(steuersatz = 0.19, summe, 0.0) * -1
' Dim StandUmsatzzaehler = kasse.rksv_Umsatzzaehler
' Dim BetragSatzBesonders = 0
' Dim BetragSatzBesonders = 0
' Dim BetragSatzBesonders = 0
'client.ExportJWS
' MsgBox(credentials.CashboxID & " credentials.CashboxID")
' MsgBox(credentials.CompanyGUID & " credentials.CompanyGUID")
If (client.SignStornoReceipt(credentials, Belegnummer, BelegDatumUhrzeit, BetragSatzNormal, BetragSatzErm1, BetragSatzErm2, BetragSatzBesonders, BetragSatzNull, jws, qr, ocra, answer)) Then If (client.SignStornoReceipt(credentials, Belegnummer, BelegDatumUhrzeit, BetragSatzNormal, BetragSatzErm1, BetragSatzErm2, BetragSatzBesonders, BetragSatzNull, jws, qr, ocra, answer)) Then
QR_CodeString = qr QR_CodeString = qr
@@ -996,6 +968,82 @@ Public Class cRKSV
End Try End Try
Return False Return False
End Function End Function
Shared Function stornoRKSV_FT(ByVal kasse As cRKSV_Kasse, ByVal beleg_temp As EABeleg, ByRef QR_CodeString As String, ByRef LastJWS As String, ByRef answer As String) As Boolean
Try
If beleg_temp.rksv_BelegId <= 0 Then
MsgBox("Keine RKSV-Beleg-ID")
Return False
End If
Dim credentials As New SDL.RKSVServer.DBUserCredentials
credentials.Database = "RKSVWcfDB"
credentials.Server = "AVISO\SQLEXPRESS"
credentials.Username = "Admin"
credentials.Password = "verag#2"
credentials.CashboxID = kasse.rksv_bez '"VERAG-SUB-KASSE-ZOLL"
credentials.CompanyGUID = kasse.rksv_CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
Dim jws As String = String.Empty
Dim qr As String = String.Empty
Dim ocra As String = String.Empty
'Dim answer As String = String.Empty
Dim Belegnummer = beleg_temp.rksv_BelegId
Dim BelegDatumUhrzeit = beleg_temp.BelegDat
Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT isnull(tblSteuersätze.Steuersatz,0) FROM tblSteuersätze WHERE tblSteuersätze.Nr='" & beleg_temp.Steuerschlüssel & "' ", "FMZOLL")
Dim BetragSatzNormal = IIf(steuersatz = 0.2, beleg_temp.rksv_umsatz, 0.0) 'summe
Dim BetragSatzErm1 = IIf(steuersatz = 0.1, beleg_temp.rksv_umsatz, 0.0)
Dim BetragSatzErm2 = IIf(steuersatz = 0.13, beleg_temp.rksv_umsatz, 0.0)
Dim BetragSatzNull = IIf(steuersatz = 0.0, beleg_temp.rksv_umsatz, 0.0)
Dim BetragSatzBesonders = IIf(steuersatz = 0.19, beleg_temp.rksv_umsatz, 0.0)
Dim StandUmsatzzaehler = kasse.rksv_Umsatzzaehler 'KASSE.rksv_Umsatzzaehler
Dim kindOfPayment As String = getKindOfPayment(beleg_temp)
If False Then
Else
Dim client As New cFiskaltrustClient_chilkat(kasse.rksv_FT_RestServiceURL, kasse.rksv_FT_CashboxID, kasse.rksv_FT_AccessToken, kasse.rksv_FT_Country)
Dim result = client.ChancelReceipt(beleg_temp.FT_ReceiptReference, beleg_temp.rksv_umsatz, steuersatz, beleg_temp.POS, kindOfPayment, kasse.rksv_id)
If result <> "" Then
Return client.saveRKSV_FT(result, QR_CodeString, beleg_temp, True)
Else
Return False
End If
End If
Return True
Catch ex As Exception
MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace)
End Try
Return False
End Function
Private Shared Function getKindOfPayment(beleg As EABeleg) As String
If beleg Is Nothing Then Return ""
Dim kindOfPayment As String = "Cash"
If beleg.ECZahlungsNr IsNot Nothing AndAlso IsNumeric(beleg.ECZahlungsNr) AndAlso beleg.ECZahlungsNr > 0 Then
kindOfPayment = "Card"
End If
Return kindOfPayment
End Function
'Beleg storno und Kassenbuch Gegenbuchung 'Beleg storno und Kassenbuch Gegenbuchung
Shared Function STORNO(BELEG As EABeleg, ByVal grund As String, Firma As String, Optional stornoGegenbuchen As Boolean = False) As EABeleg Shared Function STORNO(BELEG As EABeleg, ByVal grund As String, Firma As String, Optional stornoGegenbuchen As Boolean = False) As EABeleg

View File

@@ -470,6 +470,9 @@
<Reference Include="QRCode"> <Reference Include="QRCode">
<HintPath>..\..\..\dll\QRCode.dll</HintPath> <HintPath>..\..\..\dll\QRCode.dll</HintPath>
</Reference> </Reference>
<Reference Include="QRCoder, Version=1.8.0.0, Culture=neutral, PublicKeyToken=c4ed5b9ae8358a28, processorArchitecture=MSIL">
<HintPath>..\..\..\Aviso\AVISO\packages\QRCoder.1.8.0\lib\net40\QRCoder.dll</HintPath>
</Reference>
<Reference Include="Registrierkasse"> <Reference Include="Registrierkasse">
<HintPath>..\..\..\dll\Registrierkasse.dll</HintPath> <HintPath>..\..\..\dll\Registrierkasse.dll</HintPath>
</Reference> </Reference>

View File

@@ -148,7 +148,6 @@ Partial Class frmMDM_USTVAntrag
Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripMenuItem3 = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripMenuItem3 = New System.Windows.Forms.ToolStripMenuItem()
Me.FakturiertToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.FakturiertToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.txtWarning = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.UstCntlUSTV_AntragPosition1 = New SDL.ustCntlUSTV_AntragPosition() Me.UstCntlUSTV_AntragPosition1 = New SDL.ustCntlUSTV_AntragPosition()
Me.UstCntlUSTV_AntragErstattungen1 = New SDL.ustCntlUSTV_ErstattungPosition() Me.UstCntlUSTV_AntragErstattungen1 = New SDL.ustCntlUSTV_ErstattungPosition()
Me.pnlBottom.SuspendLayout() Me.pnlBottom.SuspendLayout()
@@ -430,7 +429,6 @@ Partial Class frmMDM_USTVAntrag
'pnlHeader 'pnlHeader
' '
Me.pnlHeader.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) Me.pnlHeader.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
Me.pnlHeader.Controls.Add(Me.txtWarning)
Me.pnlHeader.Controls.Add(Me.cbxRGretour) Me.pnlHeader.Controls.Add(Me.cbxRGretour)
Me.pnlHeader.Controls.Add(Me.lblGesamtUSteuer) Me.pnlHeader.Controls.Add(Me.lblGesamtUSteuer)
Me.pnlHeader.Controls.Add(Me.lblDiffernezbetrag) Me.pnlHeader.Controls.Add(Me.lblDiffernezbetrag)
@@ -529,7 +527,7 @@ Partial Class frmMDM_USTVAntrag
Me.KdSearchBox1.KdNr = "-1" Me.KdSearchBox1.KdNr = "-1"
Me.KdSearchBox1.kdNrField = Nothing Me.KdSearchBox1.kdNrField = Nothing
Me.KdSearchBox1.KdNrNullInt = Nothing Me.KdSearchBox1.KdNrNullInt = Nothing
Me.KdSearchBox1.Location = New System.Drawing.Point(298, 10) Me.KdSearchBox1.Location = New System.Drawing.Point(284, 12)
Me.KdSearchBox1.Name = "KdSearchBox1" Me.KdSearchBox1.Name = "KdSearchBox1"
Me.KdSearchBox1.nurAktive = True Me.KdSearchBox1.nurAktive = True
Me.KdSearchBox1.searchActive = True Me.KdSearchBox1.searchActive = True
@@ -1935,34 +1933,6 @@ Partial Class frmMDM_USTVAntrag
Me.FakturiertToolStripMenuItem.Text = "Fakturiert zurücksetzen" Me.FakturiertToolStripMenuItem.Text = "Fakturiert zurücksetzen"
Me.FakturiertToolStripMenuItem.Visible = False Me.FakturiertToolStripMenuItem.Visible = False
' '
'txtWarning
'
Me.txtWarning._DateTimeOnly = False
Me.txtWarning._numbersOnly = False
Me.txtWarning._numbersOnlyKommastellen = ""
Me.txtWarning._numbersOnlyTrennzeichen = False
Me.txtWarning._Prozent = False
Me.txtWarning._ShortDateNew = False
Me.txtWarning._ShortDateOnly = False
Me.txtWarning._TimeOnly = False
Me.txtWarning._TimeOnly_Seconds = False
Me.txtWarning._value = ""
Me.txtWarning._Waehrung = False
Me.txtWarning._WaehrungZeichen = False
Me.txtWarning.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
Me.txtWarning.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.txtWarning.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtWarning.ForeColor = System.Drawing.Color.Black
Me.txtWarning.Location = New System.Drawing.Point(475, 36)
Me.txtWarning.MaxLength = 10
Me.txtWarning.MaxLineLength = -1
Me.txtWarning.MaxLines_Warning = ""
Me.txtWarning.MaxLines_Warning_Label = Nothing
Me.txtWarning.Multiline = True
Me.txtWarning.Name = "txtWarning"
Me.txtWarning.Size = New System.Drawing.Size(88, 40)
Me.txtWarning.TabIndex = 61
'
'UstCntlUSTV_AntragPosition1 'UstCntlUSTV_AntragPosition1
' '
Me.UstCntlUSTV_AntragPosition1.Dock = System.Windows.Forms.DockStyle.Fill Me.UstCntlUSTV_AntragPosition1.Dock = System.Windows.Forms.DockStyle.Fill
@@ -2153,5 +2123,4 @@ Partial Class frmMDM_USTVAntrag
Friend WithEvents btnSortNachLeist As Button Friend WithEvents btnSortNachLeist As Button
Friend WithEvents txtVZOffen As VERAG_PROG_ALLGEMEIN.MyTextBox Friend WithEvents txtVZOffen As VERAG_PROG_ALLGEMEIN.MyTextBox
Friend WithEvents Label19 As Label Friend WithEvents Label19 As Label
Friend WithEvents txtWarning As VERAG_PROG_ALLGEMEIN.MyTextBox
End Class End Class

View File

@@ -57,18 +57,16 @@ Public Class frmMDM_USTVAntrag
lblGesamtErstattungFW.Text = "-" lblGesamtErstattungFW.Text = "-"
lblDiffernezbetragFW.Text = "-" lblDiffernezbetragFW.Text = "-"
txtWarning.Text = "" lblGesamtUSteuer.Text="-"
lblGesamtUSteuer.Text = "-"
lblGesamtErstattung.Text = "-" lblGesamtErstattung.Text = "-"
lblDiffernezbetrag.Text = "-" lblDiffernezbetrag.Text = "-"
btnAntrageeinarbeiten.Enabled = Not UStVAn_ID <= 0 btnAntrageeinarbeiten.Enabled = Not UStVAn_ID <= 0
FlowLayoutPanel.Enabled = Not UStVAn_ID <= 0 FlowLayoutPanel.Enabled= Not UStVAn_ID <= 0
btnEintragloeschen.Enabled = Not UStVAn_ID <= 0 btnEintragloeschen.Enabled= Not UStVAn_ID <= 0
btnNeuerEintrag.Enabled = Not UStVAn_ID <= 0 btnNeuerEintrag.Enabled= Not UStVAn_ID <= 0
UstCntlUSTV_AntragPosition1.Enabled = Not UStVAn_ID <= 0 UstCntlUSTV_AntragPosition1.Enabled= Not UStVAn_ID <= 0
cbxLand.Visible = UStVAn_ID <= 0 cbxLand.Visible= UStVAn_ID <= 0
With dgvUSTVPositionen With dgvUSTVPositionen
@@ -76,11 +74,6 @@ Public Class frmMDM_USTVAntrag
If UStVAn_ID <= 0 Then Exit Sub If UStVAn_ID <= 0 Then Exit Sub
'.SET_SQL("SELECT [UStVAn_ID] ,[UStVPo_ID] ,[UStVPo_ReDat],[UStVPo_ReNr],[UStVPo_Leistungsbezeichnung],[UStVPo_Leistender],leist.[UstV_Leistender_Strasse] + ' ' + leist.[UstV_Leistender_StrasseNr] as [UstV_Leistender_Strasse],leist.[UstV_Leistender_PLZ],leist.[UstV_Leistender_Stadt],leist.[UstV_Leistender_Land],leist.[UstV_Leistender_UstNr],[UStVPo_USteuerbetrag],[UStVPo_Schnittstelle],[UStVPo_SchnittstellenNr],[UStVPo_Umrechnungskurs],[UStVPo_USteuerbetragEUR],[UStVPo_Sachbearbeiter], [UStVPo_daId]
' FROM [tblUStVPositionen]
' left join [tblUStVLeistender] as leist on leist.UStV_Leistender = [tblUStVPositionen].[UStVPo_Leistender]
' where UStVAn_ID='" & UStVAn_ID & "' ORDER BY UStVPo_ID", "FMZOLL")
.SET_SQL("SELECT [UStVAn_ID] ,[UStVPo_ID] " & IIf(cbxInterneNr.Checked, ",[UStVPo_interneNr] as intNr", "") & " ,[UStVPo_ReDat],[UStVPo_ReNr],[UStVPo_Leistungsbezeichnung],[UStVPo_Nettobetrag],[UStVPo_NettobetragEUR],[UStVPo_Leistender],leist.[UstV_Leistender_Strasse] + ' ' + leist.[UstV_Leistender_StrasseNr] as [UstV_Leistender_Strasse],leist.[UstV_Leistender_Strasse] as StrasseOnly,leist.[UstV_Leistender_StrasseNr] as StrassenNrOnly,leist.[UstV_Leistender_PLZ],leist.[UstV_Leistender_Stadt],leist.[UstV_Leistender_Land],leist.[UstV_Leistender_UstNr],[UStVPo_USteuerbetrag],[UStVPo_Schnittstelle],[UStVPo_SchnittstellenNr],[UStVPo_Umrechnungskurs],[UStVPo_USteuerbetragEUR],[UStVPo_Sachbearbeiter], [UStVPo_daId], [UStVPo_daId_loeschbar] ,[UStVPo_VZ],[UStVPo_VZ_RKID] ,cast(case when isnull([UStVPo_VZ_RKID],0) = 0 then 0 else 1 end as bit) as VZabrechnet .SET_SQL("SELECT [UStVAn_ID] ,[UStVPo_ID] " & IIf(cbxInterneNr.Checked, ",[UStVPo_interneNr] as intNr", "") & " ,[UStVPo_ReDat],[UStVPo_ReNr],[UStVPo_Leistungsbezeichnung],[UStVPo_Nettobetrag],[UStVPo_NettobetragEUR],[UStVPo_Leistender],leist.[UstV_Leistender_Strasse] + ' ' + leist.[UstV_Leistender_StrasseNr] as [UstV_Leistender_Strasse],leist.[UstV_Leistender_Strasse] as StrasseOnly,leist.[UstV_Leistender_StrasseNr] as StrassenNrOnly,leist.[UstV_Leistender_PLZ],leist.[UstV_Leistender_Stadt],leist.[UstV_Leistender_Land],leist.[UstV_Leistender_UstNr],[UStVPo_USteuerbetrag],[UStVPo_Schnittstelle],[UStVPo_SchnittstellenNr],[UStVPo_Umrechnungskurs],[UStVPo_USteuerbetragEUR],[UStVPo_Sachbearbeiter], [UStVPo_daId], [UStVPo_daId_loeschbar] ,[UStVPo_VZ],[UStVPo_VZ_RKID] ,cast(case when isnull([UStVPo_VZ_RKID],0) = 0 then 0 else 1 end as bit) as VZabrechnet
FROM [tblUStVPositionen] FROM [tblUStVPositionen]
LEFT JOIN [tblUStVLeistender] as leist LEFT JOIN [tblUStVLeistender] as leist
@@ -207,17 +200,18 @@ Public Class frmMDM_USTVAntrag
DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf
End If End If
If Not (r.Cells("UStVPo_SchnittstellenNr").Value = 4 OrElse r.Cells("UStVPo_SchnittstellenNr").Value = 9) AndAlso Not r.Cells("UStVPo_ReNr").Value.ToString.ToLower.StartsWith("bis") Then 'MSE und "SAMMELBERIFF" ausnehmen
Dim rechnungsNr = CStr(r.Cells("UStVPo_ReNr").Value)
Dim rechnungsNr = CStr(r.Cells("UStVPo_ReNr").Value) If Not String.IsNullOrWhiteSpace(rechnungsNr) Then
If Not invoiceNumbers.Add(rechnungsNr) Then
If Not String.IsNullOrWhiteSpace(rechnungsNr) Then r.Cells("UStVPo_ReNr").Style.BackColor = Color.IndianRed
If Not invoiceNumbers.Add(rechnungsNr) Then End If
txtWarning.Text = "dopp. Rechnungsnr!"
Exit For
End If End If
End If End If
Next Next
If .Columns.Count > 1 Then If .Columns.Count > 1 Then
@@ -1832,7 +1826,7 @@ Public Class frmMDM_USTVAntrag
If UStVAn_ID > 0 Then If UStVAn_ID > 0 Then
Dim invoiceNumbers As New HashSet(Of String)
dgvUSTVPositionen.GetOrder() dgvUSTVPositionen.GetOrder()
@@ -1844,6 +1838,18 @@ Public Class frmMDM_USTVAntrag
VERAG_PROG_ALLGEMEIN.cMDMFunctionsAllgemein.Update_UStVASummenNeuBerechnen_USTVA(USTV_ANTRAG.UStVAn_ID) VERAG_PROG_ALLGEMEIN.cMDMFunctionsAllgemein.Update_UStVASummenNeuBerechnen_USTVA(USTV_ANTRAG.UStVAn_ID)
Dim invoiceNumbers As New HashSet(Of String)
For Each r In dgvUSTVPositionen.Rows
Dim rechnungsNr = CStr(r.Cells("UStVPo_ReNr").Value)
If Not String.IsNullOrWhiteSpace(rechnungsNr) Then
If Not invoiceNumbers.Add(rechnungsNr) Then
MessageBox.Show($"Doppelt erfasste RechnungsNr vorhanden: {rechnungsNr}")
Exit For
End If
End If
Next
If USTV_ANTRAG.UStVAn_Währungscode IsNot Nothing AndAlso USTV_ANTRAG.UStVAn_Währungscode <> "EUR" AndAlso USTV_ANTRAG.UStVAn_Währungscode <> "" Then If USTV_ANTRAG.UStVAn_Währungscode IsNot Nothing AndAlso USTV_ANTRAG.UStVAn_Währungscode <> "EUR" AndAlso USTV_ANTRAG.UStVAn_Währungscode <> "" Then
Dim averageUmrechnungskurs As Double = 1 Dim averageUmrechnungskurs As Double = 1
Dim invoicedateOK As Boolean = True Dim invoicedateOK As Boolean = True
@@ -1859,14 +1865,7 @@ Public Class frmMDM_USTVAntrag
PosNr = row.Cells("UStVPo_ID").Value PosNr = row.Cells("UStVPo_ID").Value
End If End If
Dim rechnungsNr = CStr(row.Cells("UStVPo_ReNr").Value)
If Not String.IsNullOrWhiteSpace(rechnungsNr) Then
If Not invoiceNumbers.Add(rechnungsNr) Then
MessageBox.Show($"Doppelt erfasste RechnungsNr: {rechnungsNr}")
Exit For
End If
End If
Next Next
averageUmrechnungskurs = averageUmrechnungskurs / dgvUSTVPositionen.Rows.Count averageUmrechnungskurs = averageUmrechnungskurs / dgvUSTVPositionen.Rows.Count

View File

@@ -802,7 +802,7 @@ Public Class usrCntlUSTV
Dim sqlStr = "SELECT [UStVAn_ID] as AntragsID,cast([UStVPo_ReDat] as date) as Rechnungsdatum,[UStVPo_ReNr] as RechnungsNr Dim sqlStr = "SELECT [UStVAn_ID] as AntragsID,cast([UStVPo_ReDat] as date) as Rechnungsdatum,[UStVPo_ReNr] as RechnungsNr
FROM [VERAG].[dbo].[tblUStVPositionen] where Year([UStVPo_ReDat]) >= " & RechnungsjahrVon & " and Year([UStVPo_ReDat]) >= " & RechnungsjahrBis & " FROM [VERAG].[dbo].[tblUStVPositionen] where Year([UStVPo_ReDat]) >= " & RechnungsjahrVon & " and Year([UStVPo_ReDat]) <= " & RechnungsjahrBis & "
group by [UStVAn_ID] ,[UStVPo_ReNr], [UStVPo_ReDat] group by [UStVAn_ID] ,[UStVPo_ReNr], [UStVPo_ReDat]
HAVING COUNT(*) > 1 HAVING COUNT(*) > 1
order by [UStVAn_ID] desc" order by [UStVAn_ID] desc"

View File

@@ -1704,7 +1704,7 @@ Public Class frmBelegNeu
Dim verarbeitet As Boolean = False Dim verarbeitet As Boolean = False
If KASSE.rksv_FT_RestServiceURL <> "" Then If KASSE.rksv_FT_RestServiceURL <> "" Then
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, KASSE.rksv_CompanyGUID, KASSE.rksv_Umsatzzaehler, BELEG.BelegDat, BELEG.Steuerschlüssel, RKSV_Beleg_Id, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), TESTBUCHUNG, BELEG.POS, QR_CodeString, LastJWS) Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), TESTBUCHUNG, QR_CodeString, LastJWS)
'result.Wait() 'result.Wait()
verarbeitet = result verarbeitet = result
Else Else
@@ -2028,7 +2028,7 @@ Public Class frmBelegNeu
If vbYes = MsgBox(result & vbNewLine & vbNewLine & "Testdaten in DB speichern?", vbYesNoCancel) Then If vbYes = MsgBox(result & vbNewLine & vbNewLine & "Testdaten in DB speichern?", vbYesNoCancel) Then
Dim QR_CodeString As String = "" Dim QR_CodeString As String = ""
client_chilkat.saveRKSV_FT(result, QR_CodeString) client_chilkat.saveRKSV_FT(result, QR_CodeString, Nothing, False)
End If End If
Else Else
Return False Return False

View File

@@ -207,6 +207,8 @@ Public Class frmKassenbuch
' " ORDER BY b.rksv_BelegId DESC;", "FMZOLL") ' " ORDER BY b.rksv_BelegId DESC;", "FMZOLL")
.LOAD() .LOAD()
If .Rows.Count = 0 Then Exit Sub
.Columns("Betrag").DefaultCellStyle.Format = "C" .Columns("Betrag").DefaultCellStyle.Format = "C"
.Columns("Betrag").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight .Columns("Betrag").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
.Columns("Ordnungsbegriff").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill .Columns("Ordnungsbegriff").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
@@ -273,6 +275,8 @@ Public Class frmKassenbuch
' " " & benutzerTMP & " AND BelegDat BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "' ORDER BY JournalNr DESC", "FMZOLL") ' " " & benutzerTMP & " AND BelegDat BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "' ORDER BY JournalNr DESC", "FMZOLL")
.LOAD() .LOAD()
If .Rows.Count = 0 Then Exit Sub
.Columns("JournalNr").Width = 55 .Columns("JournalNr").Width = 55
.Columns("JournalNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter .Columns("JournalNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("Brutto").DefaultCellStyle.Format = "C" .Columns("Brutto").DefaultCellStyle.Format = "C"
@@ -1007,10 +1011,24 @@ Public Class frmKassenbuch
Dim LastJWS As String = "" Dim LastJWS As String = ""
Dim answer = "" Dim answer = ""
If KASSETmp.rksv_aktiv Then If KASSETmp.rksv_aktiv Then
If Not cRKSV.stornoRKSV(KASSETmp, BELEGTmp.BelegDat, BELEGTmp.Steuerschlüssel, BELEGTmp.rksv_BelegId, BELEGTmp.rksv_umsatz, QRQString, LastJWS, answer) Then
MessageBox.Show("Fehler bei der RKSV-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) If KASSETmp.rksv_FT_CashboxID IsNot Nothing AndAlso KASSETmp.rksv_FT_CashboxID <> "" AndAlso IsNumeric(KASSETmp.rksv_FT_CashboxID) AndAlso BELEGTmp.FT_ReceiptReference IsNot Nothing Then
Exit Sub Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSETmp.rksv_FT_RestServiceURL, KASSETmp.rksv_FT_CashboxID, KASSETmp.rksv_FT_AccessToken, KASSETmp.rksv_FT_Country)
If Not cRKSV.stornoRKSV_FT(KASSETmp, BELEGTmp, QRQString, LastJWS, answer) Then
MessageBox.Show("Fehler bei der RKSV-FT-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End If
Else
If Not cRKSV.stornoRKSV(KASSETmp, BELEGTmp.BelegDat, BELEGTmp.Steuerschlüssel, BELEGTmp.rksv_BelegId, BELEGTmp.rksv_umsatz, QRQString, LastJWS, answer) Then
MessageBox.Show("Fehler bei der RKSV-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End If
End If End If
End If End If
If KASSETmp.rksvDE_aktiv Then If KASSETmp.rksvDE_aktiv Then
Dim PERSONALTmp1 As cPersonal = FMZOLL_SQL.getPersonalById(BELEGTmp.Benutzer) Dim PERSONALTmp1 As cPersonal = FMZOLL_SQL.getPersonalById(BELEGTmp.Benutzer)
@@ -1075,14 +1093,25 @@ Public Class frmKassenbuch
Dim LastJWS As String = "" Dim LastJWS As String = ""
Dim answer = "" Dim answer = ""
If KASSETmp.rksv_aktiv Then If KASSETmp.rksv_aktiv Then
If Not cRKSV.stornoRKSV(KASSETmp, BELEGTmp.BelegDat, BELEGTmp.Steuerschlüssel, If(BELEGTmp.rksv_BelegIdStorno, BELEGTmp.rksv_BelegId), BELEGTmp.rksv_umsatz, QRQString, LastJWS, answer) Then
'FEHLER!! If KASSETmp.rksv_FT_CashboxID IsNot Nothing AndAlso KASSETmp.rksv_FT_CashboxID <> "" AndAlso BELEGTmp.FT_ReceiptReference IsNot Nothing Then
If KASSETmp.rksv_StornoIncreaseBelegCnt Then BELEGTmp.rksv_BelegIdStorno = Nothing Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSETmp.rksv_FT_RestServiceURL, KASSETmp.rksv_FT_CashboxID, KASSETmp.rksv_FT_AccessToken, KASSETmp.rksv_FT_Country)
BELEGTmp = cRKSV.STORNO_RUECKGAENGIG(BELEGTmp, grund, KASSETmp.rksv_firma) 'Beleg storno und Kassenbuch Gegenbuchung If Not cRKSV.stornoRKSV_FT(KASSETmp, BELEGTmp, QRQString, LastJWS, answer) Then
MessageBox.Show("Fehler bei der RKSV-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) MessageBox.Show("Fehler bei der RKSV-FT-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub Exit Sub
End If
Else
If Not cRKSV.stornoRKSV(KASSETmp, BELEGTmp.BelegDat, BELEGTmp.Steuerschlüssel, If(BELEGTmp.rksv_BelegIdStorno, BELEGTmp.rksv_BelegId), BELEGTmp.rksv_umsatz, QRQString, LastJWS, answer) Then
'FEHLER!!
If KASSETmp.rksv_StornoIncreaseBelegCnt Then BELEGTmp.rksv_BelegIdStorno = Nothing
BELEGTmp = cRKSV.STORNO_RUECKGAENGIG(BELEGTmp, grund, KASSETmp.rksv_firma) 'Beleg storno und Kassenbuch Gegenbuchung
MessageBox.Show("Fehler bei der RKSV-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End If
End If End If
End If End If
If KASSETmp.rksvDE_aktiv Then If KASSETmp.rksvDE_aktiv Then
If Not cRKSV.stornoRKSV_DE(PERSONALTmp, BELEGTmp, KASSETmp, If(BELEGTmp.rksv_BelegIdStorno, BELEGTmp.rksv_BelegId), BELEGTmp.rksv_BelegId, BELEGTmp.rksv_umsatz, QRQString, LastJWS, False, answer) Then If Not cRKSV.stornoRKSV_DE(PERSONALTmp, BELEGTmp, KASSETmp, If(BELEGTmp.rksv_BelegIdStorno, BELEGTmp.rksv_BelegId), BELEGTmp.rksv_BelegId, BELEGTmp.rksv_umsatz, QRQString, LastJWS, False, answer) Then
'FEHLER!! 'FEHLER!!

View File

@@ -71,6 +71,7 @@
<package id="Microsoft.Extensions.Primitives" version="5.0.0" targetFramework="net48" /> <package id="Microsoft.Extensions.Primitives" version="5.0.0" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.4" targetFramework="net48" /> <package id="Newtonsoft.Json" version="13.0.4" targetFramework="net48" />
<package id="Portable.BouncyCastle" version="1.8.5" targetFramework="net48" /> <package id="Portable.BouncyCastle" version="1.8.5" targetFramework="net48" />
<package id="QRCoder" version="1.8.0" targetFramework="net48" />
<package id="System.Buffers" version="4.5.1" targetFramework="net48" /> <package id="System.Buffers" version="4.5.1" targetFramework="net48" />
<package id="System.Diagnostics.DiagnosticSource" version="5.0.0" targetFramework="net48" /> <package id="System.Diagnostics.DiagnosticSource" version="5.0.0" targetFramework="net48" />
<package id="System.Interactive.Async" version="4.0.0" targetFramework="net48" /> <package id="System.Interactive.Async" version="4.0.0" targetFramework="net48" />