This commit is contained in:
2023-03-06 15:27:13 +01:00
parent 7e850241aa
commit 944861f14a

View File

@@ -742,20 +742,15 @@ Public Class frmBelegNeu
' Dim RKSV_Service_Location = "\\192.168.0.106:8733/Design_Time_Addresses/RKSVCompleteServer/Service1/"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click ', btnPOS.Click
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click ' btnPOS.Click
Dim IsPosPayment As Boolean = False
If sender.Name = "btnPOS" Then
IsPosPayment = True
End If
Try
printErfolgreich = False
If BELEG.gebucht Or BELEG.gebuchtStorno Then
' KASSE.LOAD(cboKassen._value)
If BELEG.rksv_id > 0 Then KASSE.LOAD(BELEG.rksv_id)
Select Case BELEG.Belegart
Case "1" : If cRKSV.printKundenBeleg(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString, cbxBelegOffnen.Checked, IsPosPayment) Then Me.Close()
Case "1" : If cRKSV.printKundenBeleg(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString, cbxBelegOffnen.Checked) Then Me.Close()
Case "2" : If cRKSV.printKundenBelegLG(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString, "LG") Then Me.Close() 'Beleg drucken
End Select
Else
@@ -879,16 +874,9 @@ Public Class frmBelegNeu
Me.DialogResult = Windows.Forms.DialogResult.OK
'printBeleg(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString) 'Beleg drucken
If IsPosPayment And Betrag > 0 Then
POSpayment(sender, e)
While setBreak
System.Threading.Thread.Sleep(5000)
End While
End If
Select Case BELEG.Belegart
Case "1"
If cRKSV.printKundenBeleg(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString, cbxBelegOffnen.Checked, IsPosPayment) Then
If cRKSV.printKundenBeleg(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString, cbxBelegOffnen.Checked) Then
'WARTEN
printErfolgreich = True
End If
@@ -1563,7 +1551,9 @@ Public Class frmBelegNeu
Private Sub POSpayment(sender As Object, e As EventArgs) Handles btnPOS.Click
If cboKassen.SelectedItem.Text = "" Then Exit Sub
If cboKassen.SelectedItem.Text = "" Or Betrag <= 0 Then
Exit Sub
End If
dt = SQL.loadDgvBySql("SELECT * FROM tblRKSV_POS WHERE [pos_aktiv] = 1 AND [pos_kasse]='" & cboKassen.SelectedItem.Value & "'", "FMZOLL")
@@ -1571,7 +1561,6 @@ Public Class frmBelegNeu
Select Case dt.Rows.Count
Case 0
MsgBox("Für diese Kasse ist kein aktives POS-Terminal hinterlegt!")
Exit Sub
Case 1
SetRegEntries()
@@ -1588,8 +1577,6 @@ Public Class frmBelegNeu
End Select
End Sub
Private Sub SetRegEntries(Optional posid As Integer = -1)
@@ -1659,9 +1646,155 @@ Public Class frmBelegNeu
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
If item IsNot Nothing Then
SetRegEntries(item.Name)
End If
End Sub
Private Sub printRoutine()
Try
printErfolgreich = False
If BELEG.gebucht Or BELEG.gebuchtStorno Then
' KASSE.LOAD(cboKassen._value)
If BELEG.rksv_id > 0 Then KASSE.LOAD(BELEG.rksv_id)
Select Case BELEG.Belegart
Case "1" : If cRKSV.printKundenBeleg(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString, cbxBelegOffnen.Checked) Then Me.Close()
Case "2" : If cRKSV.printKundenBelegLG(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString, "LG") Then Me.Close() 'Beleg drucken
End Select
Else
Dim TESTBUCHUNG = False
' VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM()
If cRKSV.isforbiddenDate Then
MsgBox("Die Kasse wir am Monatsende abgeschlossen. Es dürfen keine weiteren Belege erstellt werden. Bitte veruchen Sie den Vorgang nach Mitternacht erneut.")
Exit Sub
End If
Me.Cursor = Cursors.WaitCursor
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
KASSE.LOAD(6) 'Laden der Kasse anhand der Auswahlbox
Else
KASSE.LOAD(cboKassen._value) 'Laden der Kasse anhand der Auswahlbox
End If
BELEG.rksv_id = KASSE.rksv_id ' bei Fehler wird sonst die ID nicht richtig übernommen
If kdkunde.Text.Trim.Length > 50 Then
kdkunde.Text = kdkunde.Text.Trim.Substring(0, 50)
End If
datatoBeleg() 'Daten werden in "BELEG" geldaen
If Not validValues() Then Me.Cursor = Cursors.Default : Exit Sub
If Not allowPrint Then
If Not vbYes = MsgBox("Beim Druckvorgang werden die Beleg-Daten ins Kassenbuch eingetragen. Danach sind keine Änderungen mehr möglich." & vbNewLine & vbNewLine & "Soll der Vorgang gestartet werden?", vbYesNoCancel) Then Me.Cursor = Cursors.Default : Exit Sub
End If
Dim summeNETTO As Double = 0
For Each p In BELEG.POS : summeNETTO += p.Betrag : Next
Dim summeBRUTTO = summeNETTO
Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT isnull(tblSteuersätze.Steuersatz,0) FROM tblSteuersätze WHERE tblSteuersätze.Nr='" & BELEG.Steuerschlüssel & "' ", "FMZOLL")
If IsNumeric(steuersatz) Then summeBRUTTO += (summeNETTO * steuersatz)
' If EA = "A" Then
' summeNETTO *= -1
' steuersatz *= -1
' summeBRUTTO *= -1
' End If
Dim oldBelegZaehler = KASSE.rksv_BelegIdZaehler 'Flls Fehler bei Signatur
Dim RKSV_Beleg_Id = KASSE.INCREASE_BELEG_UMSATZ(If(TESTBUCHUNG, 0, If(EA = "E", summeBRUTTO, summeBRUTTO * -1))) 'Bei Ausgabebeleg wird der Umsatz vermindert
If RKSV_Beleg_Id < 0 Then
Me.Cursor = Cursors.Default : warnClose = False : Me.Close() : Exit Sub
End If
' MsgBox(BELEG.POS.Count)
Dim JournalNr = 0
If Not cRKSV.insertKB(PERSONAL, BELEG, KASSE.rksv_id, RKSV_Beleg_Id, KASSE.rksv_aktiv, JournalNr, KASSE.rksv_firma) Then
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summeBRUTTO * -1)
MsgBox("Programmfehler bei Eintrag ins Kassenbuch.")
Me.Cursor = Cursors.Default : warnClose = False : Me.Close() : Exit Sub
End If
' QR_Image = Nothing
Dim QR_CodeString As String = ""
Dim LastJWS As String = ""
If KASSE.rksv_aktiv Then ' WENN für die Kasse die RKSV ÖSTERREICH gilt
Dim answer = ""
If Not cRKSV.insertRKSV(KASSE, KASSE.rksv_CompanyGUID, KASSE.rksv_Umsatzzaehler, BELEG.BelegDat, BELEG.Steuerschlüssel, RKSV_Beleg_Id, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), QR_CodeString, LastJWS, TESTBUCHUNG, answer) Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
If Not TESTBUCHUNG Then
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, If(EA = "E", summeBRUTTO * -1, summeBRUTTO))
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
End If
MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical)
Me.Cursor = Cursors.Default : warnClose = False : Me.Close() : Exit Sub
End If
KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
End If
'If Not cRKSV_DE.insertRKSV_DE(PERSONAL, BELEG, KASSE, RKSV_Beleg_Id, 0, QR_CodeString, LastJWS, TESTBUCHUNG, answer) Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
' If Not TESTBUCHUNG Then
' KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summe * -1)
' cRKSV.DELETE(BELEG)
' End If
' MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical)
' ' Me.Cursor = Cursors.Default
' 'BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
' ' MsgBox("Programmfehler bei der digitalen Signatur.")
' Return False
'End If
'KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
' Dim TEST_KASSE = (BELEG.Niederlassung = "WAI")
If KASSE.rksvDE_aktiv Then ' WENN für die Kasse die RKSV DEUTSCHLAND gilt
Dim answer = ""
If Not cRKSV_DE.insertRKSV_DE(PERSONAL, BELEG, KASSE, RKSV_Beleg_Id, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), QR_CodeString, LastJWS, TESTBUCHUNG, answer) Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
If Not TESTBUCHUNG Then
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, If(EA = "E", summeBRUTTO * -1, summeBRUTTO))
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
End If
MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical)
Me.Cursor = Cursors.Default : warnClose = False : Me.Close() : Exit Sub
End If
KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
If KASSE.rksv_KassaGuid = "KASSE_01" Then 'Testkasse
BELEG.rksv_jws = Nothing
BELEG.rksv_qr = Nothing
End If
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
End If
'RKSV-Daten beim Beleg ergänzen:
BELEG.rksv_jws = LastJWS
BELEG.rksv_qr = QR_CodeString
BELEG.rksv_BelegId = RKSV_Beleg_Id
BELEG.rksv_id = KASSE.rksv_id
BELEG.rksv_umsatz = summeBRUTTO
BELEG.rksv_aktiv = KASSE.rksv_aktiv
BELEG.gebucht = True
BELEG.SAVE()
Me.DialogResult = Windows.Forms.DialogResult.OK
End If
Catch ex As Exception
Me.DialogResult = Windows.Forms.DialogResult.None
Me.Cursor = Cursors.Default
printErfolgreich = False
MsgBox("Allgemeiner Programmfehler - Belegerfassung wird geschlossen!" & ex.Message & ex.StackTrace)
warnClose = False
Me.Close()
End Try
End Sub
End Class