diff --git a/SDL/kassenbuch/frmBelegNeu.vb b/SDL/kassenbuch/frmBelegNeu.vb index c7301c49..86d4e91e 100644 --- a/SDL/kassenbuch/frmBelegNeu.vb +++ b/SDL/kassenbuch/frmBelegNeu.vb @@ -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