diff --git a/SDL/kassenbuch/frmBelegNeu.vb b/SDL/kassenbuch/frmBelegNeu.vb index 147be3e5..b9551008 100644 --- a/SDL/kassenbuch/frmBelegNeu.vb +++ b/SDL/kassenbuch/frmBelegNeu.vb @@ -233,10 +233,9 @@ Public Class frmBelegNeu ' 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 Else cboKassen.Enabled = False @@ -1705,44 +1704,43 @@ Public Class frmBelegNeu Dim answer = "" 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 - Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), TESTBUCHUNG, QR_CodeString, LastJWS, ReceiptCaseIntern.VERKAUF) - 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 + Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), TESTBUCHUNG, QR_CodeString, LastJWS, ReceiptCaseIntern.VERKAUF) + verarbeitet = result 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 - 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 - - '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) @@ -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 Private Sub openZahlungsbeleg(daid As Integer) diff --git a/SDL/kassenbuch/frmKassenbuch.vb b/SDL/kassenbuch/frmKassenbuch.vb index 948f7da4..f5e6a0f6 100644 --- a/SDL/kassenbuch/frmKassenbuch.vb +++ b/SDL/kassenbuch/frmKassenbuch.vb @@ -206,80 +206,86 @@ Public Class frmKassenbuch 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) - If client_chilkat.isFiskaltrust() Then + lbldailyCashboxClosing.Text = "" - 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 - Button11.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) + 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")) - If tagesabschluss > 0 Then tagesabschlussIsSet = True + resetFIskaltrust() - 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")) - If monatsabschluss > 0 Then monatsabschlussIsSet = True + lbldailyCashboxClosing.Visible = 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")) - 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 + 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 tagesabschluss > 0 Then tagesabschlussIsSet = True - If Not (PERSONAL.cRKSV_Kasse.rksv_FT_OutOfOrderCreated Is Nothing OrElse IsDBNull(PERSONAL.cRKSV_Kasse.rksv_FT_OutOfOrderCreated)) Then - OutOfOrderIsCreated = True - End If + 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")) + If monatsabschluss > 0 Then monatsabschlussIsSet = 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")) + 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 - InitialStartIsCreated = False - End If + If PERSONAL.cRKSV_Kasse.rksv_FT_InitialStartCreated Is Nothing OrElse IsDBNull(PERSONAL.cRKSV_Kasse.rksv_FT_InitialStartCreated) Then + InitialStartIsCreated = False + 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.Contains("VERBINDUNG OK") Then - TSEIsOnline = True - MiddlewareIsOnline = True + If result IsNot Nothing Then + If result.Contains("VERBINDUNG OK") Then + TSEIsOnline = True + MiddlewareIsOnline = True + Else + TSEIsOnline = False + MiddlewareIsOnline = True + End If Else 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 Else - TSEIsOnline = False - MiddlewareIsOnline = False - + lbldailyCashboxClosing.Visible = False + Button11.Visible = 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 - Else - lbldailyCashboxClosing.Visible = False - Button11.Visible = False End If diff --git a/SDL/kassenbuch/frmNacherfassungLeihgeld.vb b/SDL/kassenbuch/frmNacherfassungLeihgeld.vb index 6a0d8e38..77148d1a 100644 --- a/SDL/kassenbuch/frmNacherfassungLeihgeld.vb +++ b/SDL/kassenbuch/frmNacherfassungLeihgeld.vb @@ -363,25 +363,53 @@ Public Class frmNacherfassungLeihgeld ' QR_Image = Nothing Dim QR_CodeString 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 = client_chilkat.isFiskaltrust() + Dim isFiskaltrust As Boolean = False + 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 - Dim answer = "" + Dim answer = "" - Dim verarbeitet As Boolean = False - If isFiskaltrust Then - Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, summeBRUTTO, TESTBUCHUNG, QR_CodeString, LastJWS, "Verkauf") - 'result.Wait() - verarbeitet = result - 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 + Dim verarbeitet As Boolean = False + If isFiskaltrust Then + Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, summeBRUTTO, TESTBUCHUNG, QR_CodeString, LastJWS, "Verkauf") + 'result.Wait() + verarbeitet = result + 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 + 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 - 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 KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summeBRUTTO * -1) cRKSV.DELETE(BELEG, KASSE.rksv_firma) @@ -391,127 +419,103 @@ Public Class frmNacherfassungLeihgeld '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 - - - 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) + If Not isFiskaltrust Then KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString) + 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + If KASSE.rksv_KassaGuid = "KASSE_01" Then + BELEG.rksv_jws = Nothing + BELEG.rksv_qr = Nothing 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 + 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + End If - If Not isFiskaltrust Then KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString) - 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - If KASSE.rksv_KassaGuid = "KASSE_01" Then - BELEG.rksv_jws = Nothing - BELEG.rksv_qr = Nothing - End If - 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + '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 Or KASSE.rksvDE_aktiv) + BELEG.SAVE() - 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 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 + '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 - 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 - Dim frmNacherfassung As New frmNacherfassungNEU() - frmNacherfassung.srchFiliale = BELEG.FilialenNr - frmNacherfassung.srchAbfertigungsnummer = BELEG.AbfertigungsNr - frmNacherfassung.srchUnterNr = 0 - frmNacherfassung.ShowDialog(Me) - 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 - - - - 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!") + 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 - 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 + + + + + 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 + + + Me.Close() + Me.DialogResult = Windows.Forms.DialogResult.OK + Me.Cursor = Cursors.Default End If - - Me.Close() - Me.DialogResult = Windows.Forms.DialogResult.OK - Me.Cursor = Cursors.Default - End If - Catch ex As Exception 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)