Fix Barverkauf

This commit is contained in:
2026-09-16 08:45:57 +02:00
parent 436f5e5f7f
commit cf13d0fcfc
3 changed files with 229 additions and 206 deletions

View File

@@ -233,10 +233,9 @@ Public Class frmBelegNeu
' End Select ' End Select
Button4.Visible = True Button4.Visible = checkFiskaltrust()
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
cboKassen.Enabled = True cboKassen.Enabled = True
Else Else
cboKassen.Enabled = False cboKassen.Enabled = False
@@ -1705,44 +1704,43 @@ Public Class frmBelegNeu
Dim answer = "" Dim answer = ""
Dim verarbeitet As Boolean = False Dim verarbeitet As Boolean = False
Dim isFiskaltrust = checkFiskaltrust()
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country)
Dim isFiskaltrust As Boolean = client_chilkat.isFiskaltrust()
If isFiskaltrust Then If isFiskaltrust Then
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), TESTBUCHUNG, QR_CodeString, LastJWS, ReceiptCaseIntern.VERKAUF) Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), TESTBUCHUNG, QR_CodeString, LastJWS, ReceiptCaseIntern.VERKAUF)
verarbeitet = result verarbeitet = result
Else
verarbeitet = 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) 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
End If
If Not verarbeitet Then
If Not isFiskaltrust Then
If Not TESTBUCHUNG Then
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, If(EA = "E", summeBRUTTO * -1, summeBRUTTO))
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
End If
Dim Errmsg = "Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer
MsgBox(Errmsg, MsgBoxStyle.Critical)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(Errmsg, "", System.Reflection.MethodInfo.GetCurrentMethod.Name)
Me.Cursor = Cursors.Default : warnClose = False : Me.Close() : Exit Sub
Else Else
BELEG.FT_MissingSignature = True verarbeitet = 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) 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
End If End If
If Not isFiskaltrust Then KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString) If Not verarbeitet Then
If Not isFiskaltrust Then
If Not TESTBUCHUNG Then
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, If(EA = "E", summeBRUTTO * -1, summeBRUTTO))
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
End If
Dim Errmsg = "Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer
MsgBox(Errmsg, MsgBoxStyle.Critical)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(Errmsg, "", System.Reflection.MethodInfo.GetCurrentMethod.Name)
Me.Cursor = Cursors.Default : warnClose = False : Me.Close() : Exit Sub
Else
BELEG.FT_MissingSignature = True
End If
If Not isFiskaltrust Then KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
End If
End If End If
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 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 ' If Not TESTBUCHUNG Then
' KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summe * -1) ' KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summe * -1)
@@ -1885,6 +1883,21 @@ Public Class frmBelegNeu
End Function
Private Function checkFiskaltrust()
If PERSONAL.cRKSV_Kasse IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_RestServiceURL IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_AccessToken IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_Country IsNot Nothing Then
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country)
Return client_chilkat.isFiskaltrust()
Else
Return False
End If
End Function End Function
Private Sub openZahlungsbeleg(daid As Integer) Private Sub openZahlungsbeleg(daid As Integer)

View File

@@ -206,80 +206,86 @@ Public Class frmKassenbuch
End If End If
Dim client_chilkat As New cFiskaltrustClient_chilkat(PERSONAL.cRKSV_Kasse.rksv_FT_RestServiceURL, PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID, PERSONAL.cRKSV_Kasse.rksv_FT_AccessToken, PERSONAL.cRKSV_Kasse.rksv_FT_Country) lbldailyCashboxClosing.Text = ""
If client_chilkat.isFiskaltrust() Then
resetFIskaltrust() If PERSONAL.cRKSV_Kasse IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_RestServiceURL IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_AccessToken IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_Country IsNot Nothing Then
lbldailyCashboxClosing.Visible = True Dim client_chilkat As New cFiskaltrustClient_chilkat(PERSONAL.cRKSV_Kasse.rksv_FT_RestServiceURL, PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID, PERSONAL.cRKSV_Kasse.rksv_FT_AccessToken, PERSONAL.cRKSV_Kasse.rksv_FT_Country)
Button11.Visible = True If client_chilkat.isFiskaltrust() Then
Dim tagesabschluss As Integer = CInt(SQL.getValueTxtBySql("SELECT count(*) FROM [VERAG].[dbo].[tblRKSV_FT] where Day(ftReceiptMoment) = Day(GETDATE()) and ftEndOfDayReceipt is not null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "'", "FMZOLL")) resetFIskaltrust()
If tagesabschluss > 0 Then tagesabschlussIsSet = True
Dim monatsabschluss As Integer = CInt(SQL.getValueTxtBySql("SELECT count(*) FROM [VERAG].[dbo].[tblRKSV_FT] where Month(ftReceiptMoment) = Month(GETDATE()) and ftEndOfMonthReceipt is not null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "'", "FMZOLL")) lbldailyCashboxClosing.Visible = True
If monatsabschluss > 0 Then monatsabschlussIsSet = True Button11.Visible = True
Dim jahresabschluss As Integer = CInt(SQL.getValueTxtBySql("SELECT count(*) FROM [VERAG].[dbo].[tblRKSV_FT] where Year(ftReceiptMoment) = Year(GETDATE()) and ftEndOfYearReceipt is not null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "'", "FMZOLL")) Dim tagesabschluss As Integer = CInt(SQL.getValueTxtBySql("SELECT count(*) FROM [VERAG].[dbo].[tblRKSV_FT] where Day(ftReceiptMoment) = Day(GETDATE()) and ftEndOfDayReceipt is not null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "'", "FMZOLL"))
If jahresabschluss > 0 Then jahresabschlussIsSet = True If tagesabschluss > 0 Then tagesabschlussIsSet = True
If PERSONAL.cRKSV_Kasse.rksv_FT_ZeroReceiptCreated Is Nothing OrElse IsDBNull(PERSONAL.cRKSV_Kasse.rksv_FT_ZeroReceiptCreated) Then
NULLBelegIsCreated = False
End If
If Not (PERSONAL.cRKSV_Kasse.rksv_FT_OutOfOrderCreated Is Nothing OrElse IsDBNull(PERSONAL.cRKSV_Kasse.rksv_FT_OutOfOrderCreated)) Then Dim monatsabschluss As Integer = CInt(SQL.getValueTxtBySql("SELECT count(*) FROM [VERAG].[dbo].[tblRKSV_FT] where Month(ftReceiptMoment) = Month(GETDATE()) and ftEndOfMonthReceipt is not null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "'", "FMZOLL"))
OutOfOrderIsCreated = True If monatsabschluss > 0 Then monatsabschlussIsSet = True
End If
Dim jahresabschluss As Integer = CInt(SQL.getValueTxtBySql("SELECT count(*) FROM [VERAG].[dbo].[tblRKSV_FT] where Year(ftReceiptMoment) = Year(GETDATE()) and ftEndOfYearReceipt is not null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "'", "FMZOLL"))
If jahresabschluss > 0 Then jahresabschlussIsSet = True
If PERSONAL.cRKSV_Kasse.rksv_FT_ZeroReceiptCreated Is Nothing OrElse IsDBNull(PERSONAL.cRKSV_Kasse.rksv_FT_ZeroReceiptCreated) Then
NULLBelegIsCreated = False
End If
If Not (PERSONAL.cRKSV_Kasse.rksv_FT_OutOfOrderCreated Is Nothing OrElse IsDBNull(PERSONAL.cRKSV_Kasse.rksv_FT_OutOfOrderCreated)) Then
OutOfOrderIsCreated = True
End If
If PERSONAL.cRKSV_Kasse.rksv_FT_InitialStartCreated Is Nothing OrElse IsDBNull(PERSONAL.cRKSV_Kasse.rksv_FT_InitialStartCreated) Then If PERSONAL.cRKSV_Kasse.rksv_FT_InitialStartCreated Is Nothing OrElse IsDBNull(PERSONAL.cRKSV_Kasse.rksv_FT_InitialStartCreated) Then
InitialStartIsCreated = False InitialStartIsCreated = False
End If End If
Dim result As String = client_chilkat.Echo(PERSONAL.cRKSV_Kasse.rksv_bez & " " & PERSONAL.cRKSV_Kasse.rksv_FT_Country & " - ") Dim result As String = client_chilkat.Echo(PERSONAL.cRKSV_Kasse.rksv_bez & " " & PERSONAL.cRKSV_Kasse.rksv_FT_Country & " - ")
If result IsNot Nothing Then If result IsNot Nothing Then
If result.Contains("VERBINDUNG OK") Then If result.Contains("VERBINDUNG OK") Then
TSEIsOnline = True TSEIsOnline = True
MiddlewareIsOnline = True MiddlewareIsOnline = True
Else
TSEIsOnline = False
MiddlewareIsOnline = True
End If
Else Else
TSEIsOnline = False TSEIsOnline = False
MiddlewareIsOnline = True MiddlewareIsOnline = False
End If
InitFiskaltrust(TSEIsOnline, tagesabschlussIsSet, monatsabschlussIsSet, jahresabschlussIsSet, NULLBelegIsCreated, InitialStartIsCreated)
If Not MiddlewareIsOnline Then
diasableBarverkauf("MIDDLEWARE")
ElseIf Not InitialStartIsCreated Then
diasableBarverkauf("INITIALSTART")
ElseIf tagesabschlussIsSet Then
diasableBarverkauf("TAGESABSCHLUSS")
ElseIf OutOfOrderIsCreated Then
diasableBarverkauf("OUTOFORDER")
Else
lbldailyCashboxClosing.Text = ""
If Not TSEIsOnline Then
lbldailyCashboxClosing.Text = "TSE ist OFFLINE: Belege werden nachträglich signiert!"
End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("KASSE", Me) Then
btnBelegKunde.Enabled = True
btnBelegAusgang.Enabled = True
btnBelegEingang.Enabled = True
btnBelegGSKunde.Enabled = True
btnBelegLeihgeld.Enabled = True
btnStorno.Enabled = True
End If
End If End If
Else Else
TSEIsOnline = False lbldailyCashboxClosing.Visible = False
MiddlewareIsOnline = False Button11.Visible = False
End If End If
InitFiskaltrust(TSEIsOnline, tagesabschlussIsSet, monatsabschlussIsSet, jahresabschlussIsSet, NULLBelegIsCreated, InitialStartIsCreated)
If Not MiddlewareIsOnline Then
diasableBarverkauf("MIDDLEWARE")
ElseIf Not InitialStartIsCreated Then
diasableBarverkauf("INITIALSTART")
ElseIf tagesabschlussIsSet Then
diasableBarverkauf("TAGESABSCHLUSS")
ElseIf OutOfOrderIsCreated Then
diasableBarverkauf("OUTOFORDER")
Else
lbldailyCashboxClosing.Text = ""
If Not TSEIsOnline Then
lbldailyCashboxClosing.Text = "TSE ist OFFLINE: Belege werden nachträglich signiert!"
End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("KASSE", Me) Then
btnBelegKunde.Enabled = True
btnBelegAusgang.Enabled = True
btnBelegEingang.Enabled = True
btnBelegGSKunde.Enabled = True
btnBelegLeihgeld.Enabled = True
btnStorno.Enabled = True
End If
End If
Else
lbldailyCashboxClosing.Visible = False
Button11.Visible = False
End If End If

View File

@@ -363,25 +363,53 @@ Public Class frmNacherfassungLeihgeld
' QR_Image = Nothing ' QR_Image = Nothing
Dim QR_CodeString As String = "" Dim QR_CodeString As String = ""
Dim LastJWS As String = "" Dim LastJWS As String = ""
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country) Dim isFiskaltrust As Boolean = False
Dim isFiskaltrust As Boolean = client_chilkat.isFiskaltrust() If KASSE.rksv_FT_RestServiceURL IsNot Nothing AndAlso KASSE.rksv_FT_CashboxID IsNot Nothing AndAlso KASSE.rksv_FT_AccessToken IsNot Nothing AndAlso KASSE.rksv_FT_Country IsNot Nothing Then
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country)
isFiskaltrust = client_chilkat.isFiskaltrust()
End If
If KASSE.rksv_aktiv Then ' WENN für die Kasse die RKSV gilt If KASSE.rksv_aktiv Then ' WENN für die Kasse die RKSV gilt
Dim answer = "" Dim answer = ""
Dim verarbeitet As Boolean = False Dim verarbeitet As Boolean = False
If isFiskaltrust Then If isFiskaltrust Then
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, summeBRUTTO, TESTBUCHUNG, QR_CodeString, LastJWS, "Verkauf") Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, summeBRUTTO, TESTBUCHUNG, QR_CodeString, LastJWS, "Verkauf")
'result.Wait() 'result.Wait()
verarbeitet = result verarbeitet = result
Else Else
verarbeitet = cRKSV.insertRKSV(KASSE, KASSE.rksv_CompanyGUID, KASSE.rksv_Umsatzzaehler, BELEG.BelegDat, BELEG.Steuerschlüssel, RKSV_Beleg_Id, summeBRUTTO, QR_CodeString, LastJWS, TESTBUCHUNG, answer) 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service verarbeitet = cRKSV.insertRKSV(KASSE, KASSE.rksv_CompanyGUID, KASSE.rksv_Umsatzzaehler, BELEG.BelegDat, BELEG.Steuerschlüssel, RKSV_Beleg_Id, summeBRUTTO, QR_CodeString, LastJWS, TESTBUCHUNG, answer) 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
End If
If Not verarbeitet Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
If Not isFiskaltrust Then
If Not TESTBUCHUNG Then
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summeBRUTTO * -1)
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
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.")
Me.Cursor = Cursors.Default : Me.Close() : Exit Sub
Else
BELEG.FT_MissingSignature = True
End If
End If
If Not isFiskaltrust Then KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
End If End If
If Not verarbeitet Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
If Not isFiskaltrust Then
If KASSE.rksvDE_aktiv Then ' WENN für die Kasse die RKSV gilt
Dim answer = ""
If Not cRKSV_DE.insertRKSV_DE(PERSONAL, BELEG, KASSE, RKSV_Beleg_Id, summeBRUTTO, QR_CodeString, LastJWS, TESTBUCHUNG, answer) Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
If Not TESTBUCHUNG Then If Not TESTBUCHUNG Then
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summeBRUTTO * -1) KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summeBRUTTO * -1)
cRKSV.DELETE(BELEG, KASSE.rksv_firma) cRKSV.DELETE(BELEG, KASSE.rksv_firma)
@@ -391,127 +419,103 @@ Public Class frmNacherfassungLeihgeld
'BELEG = cRKSV.STORNO(BELEG, "Programmfehler") 'BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
' MsgBox("Programmfehler bei der digitalen Signatur.") ' MsgBox("Programmfehler bei der digitalen Signatur.")
Me.Cursor = Cursors.Default : Me.Close() : Exit Sub Me.Cursor = Cursors.Default : Me.Close() : Exit Sub
Else
BELEG.FT_MissingSignature = True
End If End If
If Not isFiskaltrust Then KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
End If 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
If KASSE.rksv_KassaGuid = "KASSE_01" Then
If Not isFiskaltrust Then KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString) BELEG.rksv_jws = Nothing
End If BELEG.rksv_qr = Nothing
If KASSE.rksvDE_aktiv Then ' WENN für die Kasse die RKSV gilt
Dim answer = ""
If Not cRKSV_DE.insertRKSV_DE(PERSONAL, BELEG, KASSE, RKSV_Beleg_Id, summeBRUTTO, 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, summeBRUTTO * -1)
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
End If End If
MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical) 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
' Me.Cursor = Cursors.Default
'BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
' MsgBox("Programmfehler bei der digitalen Signatur.")
Me.Cursor = Cursors.Default : Me.Close() : Exit Sub
End If End If
If Not isFiskaltrust Then KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString) 'RKSV-Daten beim Beleg ergänzen:
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX BELEG.rksv_jws = LastJWS
If KASSE.rksv_KassaGuid = "KASSE_01" Then BELEG.rksv_qr = QR_CodeString
BELEG.rksv_jws = Nothing BELEG.rksv_BelegId = RKSV_Beleg_Id
BELEG.rksv_qr = Nothing BELEG.rksv_id = KASSE.rksv_id
End If BELEG.rksv_umsatz = summeBRUTTO
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX BELEG.rksv_aktiv = (KASSE.rksv_aktiv Or KASSE.rksvDE_aktiv)
BELEG.SAVE()
End If 'Zuerst, damit Provisionsbetrag auf Aktendeckel gedruckt wird...
'RKSV-Daten beim Beleg ergänzen: Dim barbetrag As Double = 0
BELEG.rksv_jws = LastJWS Dim BelegNrProvision = 0
BELEG.rksv_qr = QR_CodeString If cbxProvision.Checked Then
BELEG.rksv_BelegId = RKSV_Beleg_Id printProvision(barbetrag, BelegNrProvision, cbxProvinMAKassa.Checked)
BELEG.rksv_id = KASSE.rksv_id
BELEG.rksv_umsatz = summeBRUTTO
BELEG.rksv_aktiv = (KASSE.rksv_aktiv Or KASSE.rksvDE_aktiv)
BELEG.SAVE()
'Zuerst, damit Provisionsbetrag auf Aktendeckel gedruckt wird...
Dim barbetrag As Double = 0
Dim BelegNrProvision = 0
If cbxProvision.Checked Then
printProvision(barbetrag, BelegNrProvision, cbxProvinMAKassa.Checked)
End If
'printBeleg(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString) 'Beleg drucken
cRKSV.printKundenBelegLG(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString, "LG") 'Beleg drucken
If cboPrintAktendeckel.Checked Then printLGAktendeckel("PRINT", barbetrag, BelegNrProvision)
'nur bei VERAG die fragen
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX" OrElse VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" OrElse vbYes = MsgBox("Daten ins Speditionsbuch eintragen?", vbYesNoCancel) Then
Dim abbruch As Boolean = False
If cRKSV.SpedBuchExists(BELEG) Then
If vbYes = MsgBox("Speditionsbuch Eintrag existiert bereits - Daten überschreiben?", vbYesNoCancel) Then
abbruch = True
End If
End If End If
If Not abbruch Then
cRKSV.insertToSpedBuch(PERSONAL, PERSONAL_LG, BELEG, AvisoID, , barbetrag, BelegNrProvision)
Dim spedBuchExisting As Boolean = cRKSV.SpedBuchExists(BELEG)
If Not spedBuchExisting Then
MsgBox("Speditionsbuch-Eintrag fehlgeschlagen!!")
Else
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG" Then 'nur bei VERAG
If vbYes = MsgBox("Speditionsbuch anzeigen?", vbYesNoCancel) Then 'printBeleg(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString) 'Beleg drucken
Dim frmNacherfassung As New frmNacherfassungNEU() cRKSV.printKundenBelegLG(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString, "LG") 'Beleg drucken
frmNacherfassung.srchFiliale = BELEG.FilialenNr
frmNacherfassung.srchAbfertigungsnummer = BELEG.AbfertigungsNr If cboPrintAktendeckel.Checked Then printLGAktendeckel("PRINT", barbetrag, BelegNrProvision)
frmNacherfassung.srchUnterNr = 0
frmNacherfassung.ShowDialog(Me)
End If 'nur bei VERAG die fragen
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX" OrElse VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" OrElse vbYes = MsgBox("Daten ins Speditionsbuch eintragen?", vbYesNoCancel) Then
Dim abbruch As Boolean = False
If cRKSV.SpedBuchExists(BELEG) Then
If vbYes = MsgBox("Speditionsbuch Eintrag existiert bereits - Daten überschreiben?", vbYesNoCancel) Then
abbruch = True
End If End If
End If End If
If Not abbruch Then
cRKSV.insertToSpedBuch(PERSONAL, PERSONAL_LG, BELEG, AvisoID, , barbetrag, BelegNrProvision)
Dim spedBuchExisting As Boolean = cRKSV.SpedBuchExists(BELEG)
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" AndAlso spedBuchExisting Then If Not spedBuchExisting Then
Dim verarbOK As Boolean = True MsgBox("Speditionsbuch-Eintrag fehlgeschlagen!!")
Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(BELEG.FilialenNr, BELEG.AbfertigungsNr)
SPEDBUCH.BelegNr = BelegNrFIBU
Dim RK_ID As Integer = -1
If Not gen_RECHNUNG_BySPEDBUCH(BELEG.KundenNr, SPEDBUCH, RK_ID, cbxOP_sofort_buchen.Checked, summeBRUTTO, summeNETTO, BELEG) Then verarbOK = False
If RK_ID > 0 Then
Dim RECHNUNG As New cRechnungsausgang(RK_ID)
RECHNUNG.KdAuftragsNr = BelegNrFIBU
If Not cFakturierung.doRechnungsDruck(RECHNUNG, Today(),, 4) Then verarbOK = False
If RECHNUNG.[DruckDatumZeit] IsNot Nothing Then
RECHNUNG.[DruckDatumZeit] = Nothing
RECHNUNG.SAVE_DruckDatumZeit()
End If
End If
If verarbOK Then
'MsgBox("Rechnung erstellt!")
Else Else
MsgBox("Fehler bei Rechnungserstellung!") If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG" Then 'nur bei VERAG
If vbYes = MsgBox("Speditionsbuch anzeigen?", vbYesNoCancel) Then
Dim frmNacherfassung As New frmNacherfassungNEU()
frmNacherfassung.srchFiliale = BELEG.FilialenNr
frmNacherfassung.srchAbfertigungsnummer = BELEG.AbfertigungsNr
frmNacherfassung.srchUnterNr = 0
frmNacherfassung.ShowDialog(Me)
End If
End If
End If End If
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" AndAlso spedBuchExisting Then
Dim verarbOK As Boolean = True
Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(BELEG.FilialenNr, BELEG.AbfertigungsNr)
SPEDBUCH.BelegNr = BelegNrFIBU
Dim RK_ID As Integer = -1
If Not gen_RECHNUNG_BySPEDBUCH(BELEG.KundenNr, SPEDBUCH, RK_ID, cbxOP_sofort_buchen.Checked, summeBRUTTO, summeNETTO, BELEG) Then verarbOK = False
If RK_ID > 0 Then
Dim RECHNUNG As New cRechnungsausgang(RK_ID)
RECHNUNG.KdAuftragsNr = BelegNrFIBU
If Not cFakturierung.doRechnungsDruck(RECHNUNG, Today(),, 4) Then verarbOK = False
If RECHNUNG.[DruckDatumZeit] IsNot Nothing Then
RECHNUNG.[DruckDatumZeit] = Nothing
RECHNUNG.SAVE_DruckDatumZeit()
End If
End If
If verarbOK Then
'MsgBox("Rechnung erstellt!")
Else
MsgBox("Fehler bei Rechnungserstellung!")
End If
End If
End If End If
End If End If
Me.Close()
Me.DialogResult = Windows.Forms.DialogResult.OK
Me.Cursor = Cursors.Default
End If End If
Me.Close()
Me.DialogResult = Windows.Forms.DialogResult.OK
Me.Cursor = Cursors.Default
End If
Catch ex As Exception Catch ex As Exception
Me.Cursor = Cursors.Default Me.Cursor = Cursors.Default
MsgBox("Allgemeiner Programmfehler - Belegerfassung wird geschlossen!" & If(BELEG.rksv_BelegId > 0, "ACHTUNG: BELEG BEREITS SIGNIERT!!!", "") & vbNewLine & vbNewLine & ex.Message & ex.StackTrace) MsgBox("Allgemeiner Programmfehler - Belegerfassung wird geschlossen!" & If(BELEG.rksv_BelegId > 0, "ACHTUNG: BELEG BEREITS SIGNIERT!!!", "") & vbNewLine & vbNewLine & ex.Message & ex.StackTrace)