Compare commits

...

2 Commits

Author SHA1 Message Date
3f54bba380 barverkauf, etc. 2026-07-31 15:28:27 +02:00
90fffa9572 USTVA - doppelte Rechnungspos, etc. 2026-07-31 10:49:53 +02:00
13 changed files with 324 additions and 141 deletions

View File

@@ -282,6 +282,9 @@ Public Class EABeleg
Property ECZahlungsPerAPI As Boolean = False
Property ECTerminalreturnCode As Object = Nothing
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)
@@ -362,6 +365,8 @@ Public Class EABeleg
Me.ECZahlungsPerAPI = cSqlDb.checkNullReturnValue(dr.Item("ECZahlungsPerAPI"), Nothing)
Me.ECTerminalreturnCode = cSqlDb.checkNullReturnValue(dr.Item("ECTerminalreturnCode"), 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)
' 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("ECTerminalreturnCode", ECTerminalreturnCode))
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()
'If p.CanRead Then

View File

@@ -1,9 +1,13 @@

Imports System.Data.SqlClient
Imports System.IO
Imports System.Reflection
Imports Chilkat
Imports Gma.QrCodeNet.Encoding
Imports GrapeCity.DataVisualization.Chart
Imports itextsharp.text.pdf.qrcode
Imports Newtonsoft.Json
Imports QRCoder
Public Class FtReceiptCases
@@ -257,71 +261,71 @@ Public Class cFiskaltrustClient_chilkat
json.UpdateString("cbReceiptMoment", DateTime.UtcNow.ToString("o"))
Dim receipCase As Long
Select Case _receiptCase
Dim receipCase As Long
Select Case _receiptCase
Case "Storno"
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.ImplicitTransaction 'Storno
Case "Storno"
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.ImplicitTransaction 'Storno
Case Else
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ImplicitTransaction 'Verkauf
Case Else
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
Dim item As Chilkat.JsonObject = chargeItems.ObjectAt(chargeItems.Size - 1)
item.UpdateInt("Quantity", p.Anzahl)
item.UpdateNumber("Amount", p.Preis.ToString().Replace(",", "."))
item.UpdateNumber("VATRate", vat.ToString().Replace(",", "."))
item.UpdateString("Description", p.LeistungsBez)
If chargeItems.AddObjectAt(-1) Then
Dim item As Chilkat.JsonObject = chargeItems.ObjectAt(chargeItems.Size - 1)
item.UpdateInt("Quantity", p.Anzahl)
item.UpdateNumber("Amount", p.Preis.ToString().Replace(",", "."))
item.UpdateNumber("VATRate", vat.ToString().Replace(",", "."))
item.UpdateString("Description", p.LeistungsBez)
Dim ChargeItemCase As Long
Select Case vat
Dim ChargeItemCase As Long
Select Case vat
Case 19D
ChargeItemCase = FtChargeItemCase.RevenueNormal
Case 19D
ChargeItemCase = FtChargeItemCase.RevenueNormal
Case 7D
ChargeItemCase = FtChargeItemCase.RevenueReduced
Case 7D
ChargeItemCase = FtChargeItemCase.RevenueReduced
Case 0D
ChargeItemCase = FtChargeItemCase.RevenueTaxFree
Case 0D
ChargeItemCase = FtChargeItemCase.RevenueTaxFree
Case Else
Throw New Exception("Unbekannter Steuersatz")
End Select
Case Else
Throw New Exception("Unbekannter Steuersatz")
End Select
item.UpdateString("ftChargeItemCase", ChargeItemCase)
End If
item.UpdateString("ftChargeItemCase", ChargeItemCase)
End If
Next
Next
Dim payItems = json.AppendArray("cbPayItems")
payItems.AddObjectAt(-1)
Dim pay As Chilkat.JsonObject = payItems.ObjectAt(payItems.Size - 1)
pay.UpdateInt("Quantity", 1)
pay.UpdateNumber("Amount", amount.ToString().Replace(",", "."))
pay.UpdateString("Description", kindOfPayment)
Dim payItems = json.AppendArray("cbPayItems")
payItems.AddObjectAt(-1)
Dim pay As Chilkat.JsonObject = payItems.ObjectAt(payItems.Size - 1)
pay.UpdateInt("Quantity", 1)
pay.UpdateNumber("Amount", amount.ToString().Replace(",", "."))
pay.UpdateString("Description", kindOfPayment)
Select Case kindOfPayment
Case "Cash"
pay.UpdateString("ftPayItemCase", FtPayItemCases.Cash)
Case "Card"
pay.UpdateString("ftPayItemCase", FtPayItemCases.DebitCard)
End Select
Select Case kindOfPayment
Case "Cash"
pay.UpdateString("ftPayItemCase", FtPayItemCases.Cash)
Case "Card"
pay.UpdateString("ftPayItemCase", FtPayItemCases.DebitCard)
End Select
Return json
Return json
End Function
@@ -460,7 +464,7 @@ Public Class cFiskaltrustClient_chilkat
Return Terminal_ID & "_" & Application.ProductVersion
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
Dim json As New Chilkat.JsonObject
@@ -498,6 +502,18 @@ Public Class cFiskaltrustClient_chilkat
.ftState = json.StringOf("ftState")
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
@@ -525,10 +541,29 @@ Public Class cFiskaltrustClient_chilkat
.ftSignatureFormat = SignObj.StringOf("ftSignatureFormat")
.ftSignatureType = SignObj.StringOf("ftSignatureType")
saved = .SAVE()
If IsNumeric(.ftSignatureType) AndAlso CInt(.ftSignatureType) = IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True, 0, 3) Then
'QR_CodeString = .ftData
End If
'If IsNumeric(.ftSignatureType) AndAlso CInt(.ftSignatureType) = IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True, 0, 3) Then
' QR_CodeString = .ftData
'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
Next

View File

@@ -1,10 +1,7 @@
Imports System.Net.Http
Imports System.Text
Imports GrapeCity.ActiveReports
Imports GrapeCity.DataVisualization.Options
Imports Newtonsoft.json
Imports GrapeCity.ActiveReports
Imports SDL.RKSVServer
Imports VERAG_PROG_ALLGEMEIN.DSFinVKService
Imports VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService
Public Class cRKSV
Shared SQL As New SQL
@@ -92,7 +89,7 @@ Public Class cRKSV
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
@@ -103,7 +100,7 @@ Public Class cRKSV
credentials.Username = "Admin"
credentials.Password = "verag#2"
credentials.CashboxID = kasse.rksv_FT_CashboxID
credentials.CompanyGUID = CompanyGUID
credentials.CompanyGUID = kasse.rksv_CompanyGUID
Dim AccessToken As String = kasse.rksv_FT_AccessToken
Dim jws As String = String.Empty
@@ -112,16 +109,18 @@ Public Class cRKSV
'Dim answer As String = String.Empty
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 BetragSatzErm1 = IIf(steuersatz = 0.1, summeBRUTTO, 0.0)
Dim BetragSatzErm2 = IIf(steuersatz = 0.13, summeBRUTTO, 0.0)
Dim BetragSatzNull = IIf(steuersatz = 0.0, 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
'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
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.SignReceipt(summeBRUTTO, steuersatz, POS, "Cash", kasse.rksv_id)
Dim result = client.SignReceipt(summeBRUTTO, steuersatz, beleg_temp.POS, kindOfPayment, kasse.rksv_id)
If result <> "" Then
Return client.saveRKSV_FT(result, QR_CodeString)
Return client.saveRKSV_FT(result, QR_CodeString, beleg_temp, False)
Else
Return False
End If
@@ -144,11 +143,6 @@ Public Class cRKSV
End If
Catch ex As Exception
MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace)
Return False
@@ -915,18 +909,13 @@ Public Class cRKSV
Dim client As RKSVWcfClient = New RKSVWcfClient()
client.Endpoint.Address = New System.ServiceModel.EndpointAddress(getRKSVLink(kasse))
client.Open()
' svcRKSV.DBUserCredentials m_credentials = new svcRKSV.DBUserCredentials();
Dim credentials As New SDL.RKSVServer.DBUserCredentials
credentials.Database = "RKSVWcfDB"
credentials.Server = "AVISO\SQLEXPRESS"
credentials.Username = "Admin"
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.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 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
QR_CodeString = qr
@@ -996,6 +968,82 @@ Public Class cRKSV
End Try
Return False
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
Shared Function STORNO(BELEG As EABeleg, ByVal grund As String, Firma As String, Optional stornoGegenbuchen As Boolean = False) As EABeleg

View File

@@ -985,8 +985,6 @@ Public Class cFakturierung
Case 24
rpt.picVERAG.Image = My.Resources.ambar_boarder
rpt.Picture1.Image = Nothing
rpt.txtWarenwert.Visible = False
rpt.lblWarenWertUeberschrift.Visible = False
Case 26
rpt.picVERAG.Image = My.Resources.VERAG_UNISPED_Logo
@@ -1527,7 +1525,7 @@ Public Class cFakturierung
' Case 26 : rpt.picVERAG.Image = My.Resources.VERAG_UNISPED_Logo : rpt.Picture1.Image = Nothing
' Case 23 : rpt.picVERAG.Image = My.Resources.Unisped_ZS_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_ZS_AT
' Case 24 : rpt.picVERAG.Image = My.Resources.ambar_boarder : rpt.Picture1.Image = Nothing
' rpt.txtAvisierer.Visible = False : rpt.lblAvisiererUeberschrift.Visible = False : rpt.txtWarenwert.Visible = False : rpt.lblWarenWertUeberschrift.Visible = False
' rpt.txtAvisierer.Visible = False : rpt.lblAvisiererUeberschrift.Visible = False :
'End Select
@@ -1585,6 +1583,9 @@ Public Class cFakturierung
rpt.txtWarenwert.Visible = False
rpt.txtGrenze.Visible = False
rpt.txtGrenzeUeberschrift.Visible = False
ElseIf firma.Firma_ID = 24 Then
rpt.txtWarenwert.Visible = False
rpt.lblWarenWertUeberschrift.Visible = False
End If
rpt.txtZollbelegNr.Text = If(Rechnung.BelegNr, "")
@@ -2300,7 +2301,7 @@ Public Class cFakturierung
' Case 26 : rpt.picVERAG.Image = My.Resources.VERAG_UNISPED_Logo : rpt.Picture1.Image = Nothing
' Case 23 : rpt.picVERAG.Image = My.Resources.Unisped_ZS_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_ZS_AT
' Case 24 : rpt.picVERAG.Image = My.Resources.ambar_boarder : rpt.Picture1.Image = Nothing
' rpt.txtWarenwert.Visible = False : rpt.lblWarenWertUeberschrift.Visible = False
'
'End Select
@@ -2331,6 +2332,9 @@ Public Class cFakturierung
rpt.txtGrenzeUeberschrift.Visible = False
rpt.lblWarenWertUeberschrift.Visible = False
rpt.txtWarenwert.Visible = False
Case 24
rpt.txtWarenwert.Visible = False
rpt.lblWarenWertUeberschrift.Visible = False
End Select
rpt.lblKundenNr.Text = If(RECHNUNG.RechnungsKundenNr > 0, RECHNUNG.RechnungsKundenNr, "")
@@ -3751,7 +3755,7 @@ Public Class cFakturierung
Return getSignature(RECHNUNG.RechnungsLandKz, RECHNUNG.Firma_ID,,,,,,,, useLogosFromDB)
End Function
Shared Function getSignature(Optional landKz = "", Optional firma = -1, Optional individuell = False, Optional displayFirmenmane = True, Optional special = "", Optional additionalLine = "", Optional departmentmailadress = True, Optional fakturierung = False, Optional firmenSignature = False, Optional useLogosFromDB = False) As String
Shared Function getSignature(Optional landKz = "", Optional firma = -1, Optional individuell = False, Optional displayFirmenmane = True, Optional special = "", Optional additionalLine = "", Optional departmentmailadress = True, Optional fakturierung = False, Optional firmenSignature = False, Optional useSignatureFromDB = False) As String
getSignature = ""
firma = getFirmaNr(firma)
@@ -3768,7 +3772,7 @@ Public Class cFakturierung
Dim firma_temp As New cFirmen(firma)
If useLogosFromDB AndAlso (firma_temp.Firma_Logo IsNot Nothing OrElse firma_temp.Firma_Logo_Erweitert IsNot Nothing) Then
If useSignatureFromDB AndAlso (firma_temp.Firma_Logo IsNot Nothing OrElse firma_temp.Firma_Logo_Erweitert IsNot Nothing) Then
Dim logo As Byte()

View File

@@ -1021,7 +1021,7 @@ Public Class frmFaktSammelRgDrucken
Dim ShowInfo As String = ""
fun.sendMailSammelrechnung(CDate(txtRechnungsdatum.Text), Sammelrechung, Firma, getAvisoIds(), getKundenNr(), cbxMailoeffnen.Checked,, CDate(txtZeitraumBis.Text), cbxMailoeffnen.Checked, ShowInfo)
If cbxMailoeffnen.Checked Then
If cbxMailoeffnen.Checked AndAlso Not ShowInfo.Contains("Empfänger") Then
ShowInfo = ""
End If

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.5.6.3")>
<Assembly: AssemblyFileVersion("1.5.6.3")>
<Assembly: AssemblyVersion("1.5.6.4")>
<Assembly: AssemblyFileVersion("1.5.6.4")>

View File

@@ -470,6 +470,9 @@
<Reference Include="QRCode">
<HintPath>..\..\..\dll\QRCode.dll</HintPath>
</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">
<HintPath>..\..\..\dll\Registrierkasse.dll</HintPath>
</Reference>

View File

@@ -122,7 +122,6 @@ Partial Class frmMDM_USTVAntrag
Me.dgvUSTVPositionen = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.pnlAntragsPosDetails = New System.Windows.Forms.Panel()
Me.Panel2 = New System.Windows.Forms.Panel()
Me.UstCntlUSTV_AntragPosition1 = New SDL.ustCntlUSTV_AntragPosition()
Me.Panel4 = New System.Windows.Forms.Panel()
Me.cbxKIUploaddelete = New System.Windows.Forms.CheckBox()
Me.scanUSTVA = New VERAG_PROG_ALLGEMEIN.usrcntlPDFScan()
@@ -133,7 +132,6 @@ Partial Class frmMDM_USTVAntrag
Me.Panel3 = New System.Windows.Forms.Panel()
Me.dgvErstattungspositionen = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.pnlErstattungsdetails = New System.Windows.Forms.Panel()
Me.UstCntlUSTV_AntragErstattungen1 = New SDL.ustCntlUSTV_ErstattungPosition()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.Button2 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
@@ -150,6 +148,8 @@ Partial Class frmMDM_USTVAntrag
Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripMenuItem3 = New System.Windows.Forms.ToolStripMenuItem()
Me.FakturiertToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.UstCntlUSTV_AntragPosition1 = New SDL.ustCntlUSTV_AntragPosition()
Me.UstCntlUSTV_AntragErstattungen1 = New SDL.ustCntlUSTV_ErstattungPosition()
Me.pnlBottom.SuspendLayout()
CType(Me.pbXMLExport, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.pbMail, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -527,7 +527,7 @@ Partial Class frmMDM_USTVAntrag
Me.KdSearchBox1.KdNr = "-1"
Me.KdSearchBox1.kdNrField = 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.nurAktive = True
Me.KdSearchBox1.searchActive = True
@@ -560,7 +560,7 @@ Partial Class frmMDM_USTVAntrag
Me.lblKdNr.ForeColor = System.Drawing.Color.White
Me.lblKdNr.Location = New System.Drawing.Point(79, 62)
Me.lblKdNr.Name = "lblKdNr"
Me.lblKdNr.Size = New System.Drawing.Size(422, 18)
Me.lblKdNr.Size = New System.Drawing.Size(390, 18)
Me.lblKdNr.TabIndex = 21
Me.lblKdNr.Text = "0000000"
'
@@ -1575,7 +1575,7 @@ Partial Class frmMDM_USTVAntrag
Me.lblFirma.ForeColor = System.Drawing.Color.White
Me.lblFirma.Location = New System.Drawing.Point(79, 42)
Me.lblFirma.Name = "lblFirma"
Me.lblFirma.Size = New System.Drawing.Size(422, 18)
Me.lblFirma.Size = New System.Drawing.Size(390, 18)
Me.lblFirma.TabIndex = 3
Me.lblFirma.Text = "VERAG Spedition AG"
'
@@ -1670,14 +1670,6 @@ Partial Class frmMDM_USTVAntrag
Me.Panel2.Size = New System.Drawing.Size(1428, 263)
Me.Panel2.TabIndex = 1
'
'UstCntlUSTV_AntragPosition1
'
Me.UstCntlUSTV_AntragPosition1.Dock = System.Windows.Forms.DockStyle.Fill
Me.UstCntlUSTV_AntragPosition1.Location = New System.Drawing.Point(154, 0)
Me.UstCntlUSTV_AntragPosition1.Name = "UstCntlUSTV_AntragPosition1"
Me.UstCntlUSTV_AntragPosition1.Size = New System.Drawing.Size(1272, 261)
Me.UstCntlUSTV_AntragPosition1.TabIndex = 0
'
'Panel4
'
Me.Panel4.BackColor = System.Drawing.Color.WhiteSmoke
@@ -1823,14 +1815,6 @@ Partial Class frmMDM_USTVAntrag
Me.pnlErstattungsdetails.Size = New System.Drawing.Size(1426, 261)
Me.pnlErstattungsdetails.TabIndex = 0
'
'UstCntlUSTV_AntragErstattungen1
'
Me.UstCntlUSTV_AntragErstattungen1.Dock = System.Windows.Forms.DockStyle.Fill
Me.UstCntlUSTV_AntragErstattungen1.Location = New System.Drawing.Point(154, 0)
Me.UstCntlUSTV_AntragErstattungen1.Name = "UstCntlUSTV_AntragErstattungen1"
Me.UstCntlUSTV_AntragErstattungen1.Size = New System.Drawing.Size(1270, 259)
Me.UstCntlUSTV_AntragErstattungen1.TabIndex = 2
'
'Panel1
'
Me.Panel1.BackColor = System.Drawing.Color.WhiteSmoke
@@ -1949,6 +1933,22 @@ Partial Class frmMDM_USTVAntrag
Me.FakturiertToolStripMenuItem.Text = "Fakturiert zurücksetzen"
Me.FakturiertToolStripMenuItem.Visible = False
'
'UstCntlUSTV_AntragPosition1
'
Me.UstCntlUSTV_AntragPosition1.Dock = System.Windows.Forms.DockStyle.Fill
Me.UstCntlUSTV_AntragPosition1.Location = New System.Drawing.Point(154, 0)
Me.UstCntlUSTV_AntragPosition1.Name = "UstCntlUSTV_AntragPosition1"
Me.UstCntlUSTV_AntragPosition1.Size = New System.Drawing.Size(1272, 261)
Me.UstCntlUSTV_AntragPosition1.TabIndex = 0
'
'UstCntlUSTV_AntragErstattungen1
'
Me.UstCntlUSTV_AntragErstattungen1.Dock = System.Windows.Forms.DockStyle.Fill
Me.UstCntlUSTV_AntragErstattungen1.Location = New System.Drawing.Point(154, 0)
Me.UstCntlUSTV_AntragErstattungen1.Name = "UstCntlUSTV_AntragErstattungen1"
Me.UstCntlUSTV_AntragErstattungen1.Size = New System.Drawing.Size(1270, 259)
Me.UstCntlUSTV_AntragErstattungen1.TabIndex = 2
'
'frmMDM_USTVAntrag
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)

View File

@@ -57,17 +57,16 @@ Public Class frmMDM_USTVAntrag
lblGesamtErstattungFW.Text = "-"
lblDiffernezbetragFW.Text = "-"
lblGesamtUSteuer.Text = "-"
lblGesamtUSteuer.Text="-"
lblGesamtErstattung.Text = "-"
lblDiffernezbetrag.Text = "-"
btnAntrageeinarbeiten.Enabled = Not UStVAn_ID <= 0
FlowLayoutPanel.Enabled = Not UStVAn_ID <= 0
btnEintragloeschen.Enabled = Not UStVAn_ID <= 0
btnNeuerEintrag.Enabled = Not UStVAn_ID <= 0
UstCntlUSTV_AntragPosition1.Enabled = Not UStVAn_ID <= 0
cbxLand.Visible = UStVAn_ID <= 0
FlowLayoutPanel.Enabled= Not UStVAn_ID <= 0
btnEintragloeschen.Enabled= Not UStVAn_ID <= 0
btnNeuerEintrag.Enabled= Not UStVAn_ID <= 0
UstCntlUSTV_AntragPosition1.Enabled= Not UStVAn_ID <= 0
cbxLand.Visible= UStVAn_ID <= 0
With dgvUSTVPositionen
@@ -75,11 +74,6 @@ Public Class frmMDM_USTVAntrag
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
FROM [tblUStVPositionen]
LEFT JOIN [tblUStVLeistender] as leist
@@ -187,6 +181,9 @@ Public Class frmMDM_USTVAntrag
If Not .Columns.Contains("clmnPDF") Then .Columns.Add(c)
Dim invoiceNumbers As New HashSet(Of String)
For Each r As DataGridViewRow In .Rows
Dim da_id As Integer = -1
@@ -203,6 +200,18 @@ Public Class frmMDM_USTVAntrag
DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf
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)
If Not String.IsNullOrWhiteSpace(rechnungsNr) Then
If Not invoiceNumbers.Add(rechnungsNr) Then
r.Cells("UStVPo_ReNr").Style.BackColor = Color.IndianRed
End If
End If
End If
Next
If .Columns.Count > 1 Then
@@ -1817,6 +1826,8 @@ Public Class frmMDM_USTVAntrag
If UStVAn_ID > 0 Then
dgvUSTVPositionen.GetOrder()
getValue(USTV_ANTRAG)
@@ -1827,6 +1838,18 @@ Public Class frmMDM_USTVAntrag
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
Dim averageUmrechnungskurs As Double = 1
Dim invoicedateOK As Boolean = True
@@ -1843,6 +1866,7 @@ Public Class frmMDM_USTVAntrag
End If
Next
averageUmrechnungskurs = averageUmrechnungskurs / dgvUSTVPositionen.Rows.Count
End If

View File

@@ -3,6 +3,7 @@ Imports System.Linq.Expressions
Imports System.Text
Imports GrapeCity.DataVisualization.TypeScript
Imports Microsoft.Office.Interop
Imports org.BouncyCastle.Math.EC.Endo
Imports VERAG_PROG_ALLGEMEIN
Imports VERAG_PROG_ALLGEMEIN.TESTJSON
@@ -681,6 +682,12 @@ Public Class usrCntlUSTV
ContextMenuStrip1.Items.Add(pdf)
End If
If Not ContextMenuStrip1.Items.ContainsKey("checkAntragspositionen") Then
Dim pos = New ToolStripMenuItem() With {.Text = "Antragspositionen prüfen", .Name = "checkAntragspositionen", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
AddHandler pos.Click, AddressOf mnuItem_Clicked
ContextMenuStrip1.Items.Add(pos)
End If
ContextMenuStrip1.Show(Cursor.Position)
@@ -729,8 +736,12 @@ Public Class usrCntlUSTV
ElseIf item.Name = "checkPDF" Then
checkPDF()
Else
ElseIf item.Name = "checkAntragspositionen" Then
checkAntragspositionen(CInt(cboJahr._value), CInt(cboJahrBis._value))
Else
MsgBox("Funktion nicht implementiert!")
End If
@@ -787,6 +798,27 @@ Public Class usrCntlUSTV
End Function
Private Function checkAntragspositionen(RechnungsjahrVon As Integer, RechnungsjahrBis As Integer) As Boolean
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 & "
group by [UStVAn_ID] ,[UStVPo_ReNr], [UStVPo_ReDat]
HAVING COUNT(*) > 1
order by [UStVAn_ID] desc"
Dim dt = SQL.loadDgvBySql(sqlStr, "FMZOLL")
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt,,,,, True,,, True)
Return True
Else
MsgBox("Keine Daten!")
Return False
End If
End Function
Private Sub mailmitExcelauswertung()
Try

View File

@@ -1704,7 +1704,7 @@ Public Class frmBelegNeu
Dim verarbeitet As Boolean = False
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()
verarbeitet = result
Else
@@ -2028,7 +2028,7 @@ Public Class frmBelegNeu
If vbYes = MsgBox(result & vbNewLine & vbNewLine & "Testdaten in DB speichern?", vbYesNoCancel) Then
Dim QR_CodeString As String = ""
client_chilkat.saveRKSV_FT(result, QR_CodeString)
client_chilkat.saveRKSV_FT(result, QR_CodeString, Nothing, False)
End If
Else
Return False

View File

@@ -207,6 +207,8 @@ Public Class frmKassenbuch
' " ORDER BY b.rksv_BelegId DESC;", "FMZOLL")
.LOAD()
If .Rows.Count = 0 Then Exit Sub
.Columns("Betrag").DefaultCellStyle.Format = "C"
.Columns("Betrag").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
.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")
.LOAD()
If .Rows.Count = 0 Then Exit Sub
.Columns("JournalNr").Width = 55
.Columns("JournalNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("Brutto").DefaultCellStyle.Format = "C"
@@ -1007,10 +1011,24 @@ Public Class frmKassenbuch
Dim LastJWS As String = ""
Dim answer = ""
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)
Exit Sub
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
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
If KASSETmp.rksvDE_aktiv Then
Dim PERSONALTmp1 As cPersonal = FMZOLL_SQL.getPersonalById(BELEGTmp.Benutzer)
@@ -1075,14 +1093,25 @@ Public Class frmKassenbuch
Dim LastJWS As String = ""
Dim answer = ""
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_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
If KASSETmp.rksv_FT_CashboxID IsNot Nothing AndAlso KASSETmp.rksv_FT_CashboxID <> "" AndAlso BELEGTmp.FT_ReceiptReference IsNot Nothing Then
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, 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
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
'FEHLER!!

View File

@@ -71,6 +71,7 @@
<package id="Microsoft.Extensions.Primitives" version="5.0.0" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.4" 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.Diagnostics.DiagnosticSource" version="5.0.0" targetFramework="net48" />
<package id="System.Interactive.Async" version="4.0.0" targetFramework="net48" />