diff --git a/.gitignore b/.gitignore index e00c93e4..b6c19153 100644 --- a/.gitignore +++ b/.gitignore @@ -263,3 +263,4 @@ __pycache__/ /VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj /SDL/SDL.vbproj /SDL/SDL.vbproj +/SDL/kassenbuch/frmKassenbuch.vb diff --git a/SDL/kassenbuch/frmKassenbuch.vb b/SDL/kassenbuch/frmKassenbuch.vb deleted file mode 100644 index fa9552d9..00000000 --- a/SDL/kassenbuch/frmKassenbuch.vb +++ /dev/null @@ -1,2019 +0,0 @@ -Imports DocumentFormat.OpenXml.Drawing - -Public Class frmKassenbuch - Dim SQL As New SQL - Public GESCHAEFTSJAHR As Integer = cRKSV.getGJ_FIRMA(Now, VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA) 'IIf(Now.Month = 1, Now.Year - 1, Now.Year) - Dim PERSONAL As cPersonal - Dim RKSV As cRKSV_Kasse - Dim PERSONAL_LG As cPersonal = Nothing - ' Dim PERSONAL_TMP_MASTER_KASSSE As cPersonal - Dim KennwortTime As DateTime = CDate("01.01.1990") - ' Dim firma = "VERAG" - Dim DGV = "B" - Dim loginAfterSeconds = 10 - Public master_Kasse As Boolean = False - Dim FMZOLL_SQL As New FMZOLL_SQL - - Dim tagesabschlussIsSet As Boolean = False - Dim monatsabschlussIsSet As Boolean = False - Dim jahresabschlussIsSet As Boolean = False - Dim NULLBelegIsCreated As Boolean = True - Dim InitialStartIsCreated As Boolean = True - Dim OutOfOrderIsCreated As Boolean = False - Dim TSEIsOnline As Boolean = False - Dim MiddlewareIsOnline As Boolean = False - - Dim isADMIN As Boolean = False - - Public Sub New(PERSONAL As cPersonal, PERSONAL_LG As cPersonal) - ' Dieser Aufruf ist für den Designer erforderlich. - InitializeComponent() - Me.PERSONAL = PERSONAL - Me.PERSONAL_LG = PERSONAL_LG - ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. - - End Sub - - Private Sub FlatButton1_Click(sender As Object, e As EventArgs) Handles btnBelegKunde.Click - If KennwortOK() Then - - lblERRKennwort.Visible = False - Dim frmBeleg As New frmBelegNeu(PERSONAL, PERSONAL_LG, "E") - frmBeleg.ShowDialog(Me) - init() - - End If - - End Sub - - Function KennwortOK() As Boolean - If DateDiff(DateInterval.Second, KennwortTime, Now) < loginAfterSeconds Then - Return True - End If - Dim frmSecureLoginKassenbuch As New frmSecureLoginKassenbuch - frmSecureLoginKassenbuch.openKB = False - frmSecureLoginKassenbuch.KassenbuchNr_tmp = PERSONAL.KassenbuchNr - frmSecureLoginKassenbuch.ShowDialog(Me) - If frmSecureLoginKassenbuch.DialogResult = Windows.Forms.DialogResult.OK Then - KennwortTime = Now - PERSONAL_LG = frmSecureLoginKassenbuch.PERSONAL_LG - Return True - Else - lblERRKennwort.Visible = True - Return False - End If - End Function - Private Sub frmKassenbuch_Load(sender As Object, e As EventArgs) Handles Me.Load - RKSV = New cRKSV_Kasse(PERSONAL.cRKSV_KasseID) - GESCHAEFTSJAHR = cRKSV.getGJ_FIRMA(Now, RKSV.rksv_firma) - - - If PERSONAL.ID = 274 Then master_Kasse = True - If VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME = "ADMIN" Or VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME = "SIENER" Or VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME = "DANIEL" Then - isADMIN = True - - End If - KennwortTime = Now - initDgv() 'nur set - init() - - If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then - cboKassen.fillWithSQL("SELECT [rksv_id], [rksv_bez] FROM [tblRKSV_Kassen] ", False, "FMZOLL") - Else - cboKassen.fillWithSQL("SELECT [rksv_id], [rksv_bez] FROM [tblRKSV_Kassen] WHERE ([rksv_aktiv]=1 OR [rksvde_aktiv]=1 or rksv_id=4) ", False, "FMZOLL") - End If - - ' [rksv_firma]='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' AND - - If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("KASSE", Me) Then - btnBelegKunde.Enabled = False - btnBelegAusgang.Enabled = False - btnBelegEingang.Enabled = False - btnBelegGSKunde.Enabled = False - btnBelegLeihgeld.Enabled = False - btnStorno.Enabled = False - End If - - If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("Kassenbuch_POS_Terminal_einrichten", Me) Then - btnPosTerminal.Enabled = False - End If - - - If isADMIN Then - Button6.Visible = True - End If - - - End Sub - - Private Sub InitFiskaltrust(TSEisOnline As Boolean, tagesabschluss As Boolean, Montagsabschluss As Boolean, Jahresabschluss As Boolean, NULLBeleg As Boolean, initialStart As Boolean) - - lblTSEOnline.Visible = True - lblTages.Visible = True - lblMonats.Visible = True - lblJahres.Visible = True - lblNullBeleg.Visible = True - lblInitStart.Visible = True - - - picJahres.Visible = True - picMonats.Visible = True - picTages.Visible = True - picNULLbeleg.Visible = True - picTSEOnline.Visible = True - pbInitialStart.Visible = True - - showPic(TSEisOnline, picTSEOnline) - showPic(tagesabschluss, picTages) - showPic(monatsabschlussIsSet, picMonats) - showPic(Jahresabschluss, picJahres) - showPic(NULLBeleg, picNULLbeleg) - showPic(initialStart, pbInitialStart) - - - End Sub - - Sub showPic(ok As Boolean, pic As PictureBox) - pic.Visible = True - If ok Then - pic.BackgroundImage = My.Resources.ok - Else - pic.BackgroundImage = My.Resources.del - End If - - End Sub - Sub init() - Dim sqlstr = "" - - lblWarning.Text = "" - - If master_Kasse Then - Label9.Text = "ADMIN" - pnlTop.BackColor = Color.Red - btnBelegEingang.Enabled = False - btnBelegGSKunde.Enabled = False - btnBelegLeihgeld.Enabled = False - Label15.Text = "MASTER-KASSE" - btnBelegKunde.Enabled = False - btnBelegAusgang.Enabled = False - pnl.Visible = True - - 'sqlstr = "SELECT Sum(tblKassenbuch.Soll) AS Soll, Sum(tblKassenbuch.Haben) AS Haben, (Sum(tblKassenbuch.Soll)-Sum(tblKassenbuch.Haben)) AS Saldo " & - ' " FROM Personal INNER JOIN tblKassenbuch ON Personal.ID = tblKassenbuch.Benutzer " & - ' " WHERE tblKassenbuch.Mandant='" & PERSONAL.Mandant & "' AND tblKassenbuch.Niederlassung='" & PERSONAL.Niederlassung & "' " & - ' " AND tblKassenbuch.Benutzer IN (SELECT ID FROM [Personal] WHERE [Standard_RKSV_KasseId]='" & PERSONAL.cRKSV_Kasse.rksv_id & "') AND tblKassenbuch.Geschäftsjahr=" & GESCHAEFTSJAHR & " and Personal.[KassenbuchNr]=tblKassenbuch.Konto" - ' sqlstr = "SELECT Sum(tblKassenbuch.Soll) AS Soll, Sum(tblKassenbuch.Haben) AS Haben, (Sum(tblKassenbuch.Soll)-Sum(tblKassenbuch.Haben)) AS Saldo " & - ' " FROM Personal INNER JOIN tblKassenbuch ON Personal.ID = tblKassenbuch.Benutzer " & - ' " WHERE tblKassenbuch.[rksv_id]='" & PERSONAL.cRKSV_Kasse.rksv_id & "' AND tblKassenbuch.Geschäftsjahr=" & GESCHAEFTSJAHR & " " 'and Personal.[KassenbuchNr]=tblKassenbuch.Konto" - sqlstr = "SELECT Sum(tblKassenbuch.Soll) AS Soll, Sum(tblKassenbuch.Haben) AS Haben, (Sum(tblKassenbuch.Soll)-Sum(tblKassenbuch.Haben)) AS Saldo " & - " FROM tblKassenbuch WHERE tblKassenbuch.[rksv_id]='" & PERSONAL.cRKSV_Kasse.rksv_id & "' AND tblKassenbuch.Geschäftsjahr=" & GESCHAEFTSJAHR & " AND Konto in (select KassenbuchNr from Personal where Standard_RKSV_KasseId='" & PERSONAL.cRKSV_Kasse.rksv_id & "') " 'and Personal.[KassenbuchNr]=tblKassenbuch.Konto" - - Else - Label9.Text = PERSONAL.Name - pnlTop.BackColor = Color.FromArgb(0, 54, 128) - btnBelegEingang.Enabled = True - btnBelegGSKunde.Enabled = True - btnBelegLeihgeld.Enabled = True - Label15.Text = PERSONAL.KassenbuchNr - btnBelegKunde.Enabled = True - btnBelegAusgang.Enabled = True - pnl.Visible = False - - sqlstr = "SELECT Sum(tblKassenbuch.Soll) AS Soll, Sum(tblKassenbuch.Haben) AS Haben, (Sum(tblKassenbuch.Soll)-Sum(tblKassenbuch.Haben)) AS Saldo " & - " FROM Personal INNER JOIN tblKassenbuch ON Personal.ID = tblKassenbuch.Benutzer " & - " WHERE tblKassenbuch.Mandant='" & PERSONAL.Mandant & "' AND tblKassenbuch.Niederlassung='" & PERSONAL.Niederlassung & "' " & - " And tblKassenbuch.Benutzer=" & PERSONAL.ID & " AND tblKassenbuch.Geschäftsjahr=" & GESCHAEFTSJAHR & " AND tblKassenbuch.Konto=" & PERSONAL.KassenbuchNr & "" - End If - - If PERSONAL.isLeihgeldkasse Then - ' btnBelegLeihgeld.Enabled = True - btnBelegGSKunde.Enabled = False - Button10.Visible = True - 'btnBelegKunde.Enabled = False - End If - - initDate() - ' initDgv() - initDgv() 'initDgv, weil sonst Umschaltung zu MASTER Kasse nicht funzt - 'DataGridView2.RELOAD() - - If PERSONAL.cRKSV_Kasse Is Nothing Then - Label5.Text = "Keine Standard-Kasse" - Else - - Dim dt As DataTable = SQL.loadDgvBySql(sqlstr, "FMZOLL") - Label5.Text = CDbl(If(dt.Rows.Count > 0, cSqlDb.checkNullReturnValue(dt.Rows(0)("Saldo"), 0), 0)).ToString("C") - - End If - - lbldailyCashboxClosing.Text = "" - - 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(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 - - resetFIskaltrust() - - lbldailyCashboxClosing.Visible = True - Button11.Visible = True - - 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 - - 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 - - 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 - Else - TSEIsOnline = False - MiddlewareIsOnline = True - End If - Else - TSEIsOnline = False - MiddlewareIsOnline = False - - InitFiskaltrust(TSEIsOnline, tagesabschlussIsSet, monatsabschlussIsSet, jahresabschlussIsSet, NULLBelegIsCreated, InitialStartIsCreated) - - - 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 - - - - - ' Label9.Text = PERSONAL.Name - DataGridView2.ClearSelection() - End Sub - - Private Sub diasableBarverkauf(status) - - Select Case status - ' Case "NULLBELEG" : lbldailyCashboxClosing.Text = "Es wurde kein 0-Beleg erstellt (OPTIONAL)" - Case "INITIALSTART" : lbldailyCashboxClosing.Text = "Kasse wurde noch nicht gestartet!" - Case "TAGESABSCHLUSS" : lbldailyCashboxClosing.Text = "Tagesabschluss wurde bereits durchgeführt!" - Case "OUTOFORDER" : lbldailyCashboxClosing.Text = "STATUS: INAKTIV!" - Case "MIDDLEWARE" : lbldailyCashboxClosing.Text = "Middleware ist OFFLINE!" - End Select - - btnBelegKunde.Enabled = False - btnBelegAusgang.Enabled = False - btnBelegEingang.Enabled = False - btnBelegGSKunde.Enabled = False - btnBelegLeihgeld.Enabled = False - btnStorno.Enabled = False - - - End Sub - - Private Sub resetFIskaltrust() - - tagesabschlussIsSet = False - monatsabschlussIsSet = False - jahresabschlussIsSet = False - NULLBelegIsCreated = True - InitialStartIsCreated = True - OutOfOrderIsCreated = False - TSEIsOnline = False - - End Sub - Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click - searchdate = searchdate.AddMonths(1) - initDate() - End Sub - Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click - searchdate = searchdate.AddMonths(-1) - initDate() - End Sub - Sub initDate() - lblMonatSuche.Text = searchdate.ToString("MMMM yyyy") - datVon.Value = searchdate - datBis.Value = searchdate.AddMonths(1).AddDays(-1) - End Sub - Private Sub datVon_ValueChanged(sender As Object, e As EventArgs) Handles datVon.ValueChanged, datBis.ValueChanged - initDgv() - End Sub - - Dim searchdate As Date = CDate("01." & Now.Month & "." & Now.Year) - Sub initDgv(Optional isFiskaltrust As Boolean = False) - - With DataGridView2 - .Columns.Clear() - If DGV = "B" Then - btnDGVBelege.BackColor = Color.SteelBlue - btnDGVBelege.ForeColor = Color.White - btnDGVKassenbuch.BackColor = Color.Transparent - btnDGVKassenbuch.ForeColor = Color.DimGray - - Dim benutzerTMP = "" - Dim benutzerBezTMP = "" - Dim lgTxt = "" - If master_Kasse Then - benutzerTMP = " AND Benutzer IN (SELECT ID FROM [Personal] WHERE [Standard_RKSV_KasseId]='" & PERSONAL.cRKSV_Kasse.rksv_id & "') " - benutzerBezTMP = " , (SELECT cast(ID as varchar(3))+' '+Name FROM [Personal] WHERE [ID]=b.Benutzer) as BenutzerBez " - Else - benutzerTMP = " And Benutzer=" & PERSONAL.ID & "" - End If - If PERSONAL.isLeihgeldkasse Then - lgTxt = ",[Fahrer],[Passnummer] " - End If - - .SET_SQL("SELECT b.rksv_BelegId, b.BelegDat, CASE WHEN b.Belegart=1 THEN 'E' ELSE 'A' END as Belegart,CASE WHEN b.Beleg_TYP='E' THEN rksv_umsatz ELSE (SELECT sum( betrag ) FROM tblEABelegposition WHERE (b.BelegNr = tblEABelegposition.BelegNr) AND (b.BelegDat = tblEABelegposition.BelegDat) AND (b.Benutzer = tblEABelegposition.Benutzer) AND (b.Niederlassung = tblEABelegposition.Niederlassung) AND (b.Mandant = tblEABelegposition.Mandant ) ) END as Betrag, b.Ordnungsbegriff, b.BelegNr, b.Frachtführer, " & - " CASE WHEN b.storniert=1 THEN 'JA' ELSE '' END as [storniert], b.Beleg_TYP ,b.Benutzer " & benutzerBezTMP & lgTxt & ", b.ECZahlungsPerAPI as EC,b.ECZahlungsNr as ECNr, mit_username as kassiert" & - " FROM tblEABelegnummer as b LEFT JOIN " & VERAG_PROG_ALLGEMEIN.cAllgemein.AVISO_SERVER & " .[ADMIN].[dbo].[tblMitarbeiter] on durchfuehrender_Benutzer = mit_id WHERE b.Mandant='" & PERSONAL.Mandant & "' AND b.Niederlassung='" & PERSONAL.Niederlassung & "' " & benutzerTMP & " AND BelegDat BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "' " & - " ORDER BY b.rksv_BelegId DESC, b.[upsize_ts] desc;", "FMZOLL") - ' .DataSource = SQL.loadDgvBySql("SELECT b.rksv_BelegId, b.BelegDat, CASE WHEN b.Belegart=1 THEN 'E' ELSE 'A' END as Belegart,CASE WHEN b.Beleg_TYP='E' THEN rksv_umsatz ELSE (SELECT sum( betrag ) FROM tblEABelegposition WHERE (b.BelegNr = tblEABelegposition.BelegNr) AND (b.BelegDat = tblEABelegposition.BelegDat) AND (b.Benutzer = tblEABelegposition.Benutzer) AND (b.Niederlassung = tblEABelegposition.Niederlassung) AND (b.Mandant = tblEABelegposition.Mandant ) ) END as Betrag, b.Ordnungsbegriff, b.BelegNr, b.Frachtführer, " & - ' " CASE WHEN b.storniert=1 THEN 'JA' ELSE '' END as [storniert], b.Beleg_TYP ,b.Benutzer " & benutzerBezTMP & - ' " FROM tblEABelegnummer as b WHERE b.Mandant='" & PERSONAL.Mandant & "' AND b.Niederlassung='" & PERSONAL.Niederlassung & "' " & benutzerTMP & " AND BelegDat BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "' " & - ' " 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 - - .Columns("rksv_BelegId").HeaderText = "Beleg-Nr" - .Columns("rksv_BelegId").Width = 55 - .Columns("rksv_BelegId").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter - .Columns("BelegDat").HeaderText = "Datum" - .Columns("BelegDat").Width = 65 - .Columns("BelegNr").HeaderText = "KB-Bel.Nr" - .Columns("BelegNr").Width = 55 - .Columns("BelegNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter - .Columns("Belegart").HeaderText = "Art" - .Columns("Belegart").Width = 30 - .Columns("Belegart").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter - .Columns("Ordnungsbegriff").Width = 160 - .Columns("Frachtführer").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill - .Columns("Beleg_TYP").Visible = False - .Columns("storniert").HeaderText = "Storn." - .Columns("storniert").Width = 45 - .Columns("EC").Width = 45 - .Columns("ECNr").Width = 60 - .Columns("Benutzer").Visible = False - '.Columns("kassiert").Visible = False - - If PERSONAL.isLeihgeldkasse Then - .Columns("Fahrer").Visible = False - .Columns("Passnummer").Visible = False - End If - - If .Columns.Contains("FT_MissingSignature") Then - .Columns("FT_MissingSignature").HeaderText = "fehl Sig." - .Columns("FT_MissingSignature").Width = 45 - For Each r As DataGridViewRow In .Rows - If Not IsDBNull(r.Cells("FT_MissingSignature").Value) AndAlso r.Cells("FT_MissingSignature").Value Then - r.DefaultCellStyle.ForeColor = Color.Red - End If - Next - End If - - If master_Kasse Then - .Columns("BenutzerBez").HeaderText = "Benutzer" 'gibts bei bei master - .Columns("BenutzerBez").HeaderText = "Benutzer" 'gibts bei bei master - End If - - - For Each r As DataGridViewRow In .Rows - If r.Cells("storniert").Value = "JA" Then - r.DefaultCellStyle.ForeColor = Color.Red - End If - Next - - ElseIf DGV = "KB" Then - btnDGVKassenbuch.BackColor = Color.SteelBlue - btnDGVKassenbuch.ForeColor = Color.White - btnDGVBelege.BackColor = Color.Transparent - btnDGVBelege.ForeColor = Color.DimGray - - Dim benutzerTMP = "" - If master_Kasse Then - benutzerTMP = " AND tblKassenbuch.Benutzer IN (SELECT ID FROM [Personal] WHERE [Standard_RKSV_KasseId]='" & PERSONAL.cRKSV_Kasse.rksv_id & "') " - Else - benutzerTMP = " And tblKassenbuch.Benutzer=" & PERSONAL.ID & "" - - End If - - - .SET_SQL("SELECT [JournalNr],[BelegDat],[BelegNr],CASE WHEN Belegart=1 THEN 'E' ELSE 'A' END as Belegart,[Buchungstext],tblKassenbuch.Finanzwege as FW ,([Betrag]+[Steuerbetrag]) as Brutto,[Konto],[Soll],[Haben],Steuerbetrag as Steuer,tblKassenbuch.Benutzer, mit_username as kassiert " & - " FROM Personal INNER JOIN tblKassenbuch ON Personal.ID = tblKassenbuch.Benutzer LEFT JOIN " & VERAG_PROG_ALLGEMEIN.cAllgemein.AVISO_SERVER & " .[ADMIN].[dbo].[tblMitarbeiter] on durchfuehrender_Benutzer = mit_id" & - " WHERE tblKassenbuch.Mandant='" & PERSONAL.Mandant & "' AND tblKassenbuch.Niederlassung='" & PERSONAL.Niederlassung & "' " & - " " & benutzerTMP & " AND BelegDat BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "' ORDER BY JournalNr DESC", "FMZOLL") - - ' .DataSource = SQL.loadDgvBySql("SELECT [JournalNr],[BelegDat],[BelegNr],CASE WHEN Belegart=1 THEN 'E' ELSE 'A' END as Belegart,[Buchungstext],([Betrag]+[Steuerbetrag]) as Brutto,[Konto],[Soll],[Haben],Steuerbetrag as Steuer,tblKassenbuch.Benutzer " & - ' " FROM Personal INNER JOIN tblKassenbuch ON Personal.ID = tblKassenbuch.Benutzer " & - ' " WHERE tblKassenbuch.Mandant='" & PERSONAL.Mandant & "' AND tblKassenbuch.Niederlassung='" & PERSONAL.Niederlassung & "' " & - ' " " & 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" - .Columns("Brutto").Width = 80 - .Columns("Brutto").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight - .Columns("BelegDat").HeaderText = "Datum" - .Columns("BelegDat").Width = 65 - .Columns("BelegNr").HeaderText = "KB-Bel.Nr" - .Columns("BelegNr").Width = 55 - .Columns("BelegNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter - .Columns("Belegart").HeaderText = "Art" - .Columns("Belegart").Width = 30 - .Columns("Belegart").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter - .Columns("Buchungstext").MinimumWidth = 60 - .Columns("Buchungstext").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill - .Columns("FW").Width = 45 - .Columns("Konto").Width = 40 - .Columns("Soll").Width = 80 - .Columns("Soll").DefaultCellStyle.Format = "C" - .Columns("Haben").Width = 80 - .Columns("Haben").DefaultCellStyle.Format = "C" - .Columns("Steuer").Width = 60 - .Columns("Steuer").DefaultCellStyle.Format = "C" - .Columns("Benutzer").Visible = False - '.Columns("kassiert").Visible = False - - End If - End With - End Sub - - Private Sub DataGridView2_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView2.CellDoubleClick - Try - - If e.RowIndex >= 0 Then - Dim r As DataGridViewRow = DataGridView2.Rows(e.RowIndex) - - Dim PersonalTmp = PERSONAL - If r.Cells("Benutzer").Value <> PersonalTmp.ID Then PersonalTmp = FMZOLL_SQL.getPersonalById(r.Cells("Benutzer").Value) - - Dim B As New EABeleg("LOAD", PersonalTmp.Mandant, PersonalTmp.Niederlassung, PersonalTmp.ID, r.Cells("BelegNr").Value, r.Cells("BelegDat").Value) - openBELEG(B, PersonalTmp) - - End If - - Catch ex As Exception - - End Try - End Sub - - Sub openBELEG(B As EABeleg, PERSONAL As cPersonal) - If B Is Nothing Then Exit Sub - Select Case B.Beleg_TYP - Case "0" - MsgBox("Ein NULL-Beleg ist nur einmal verfügbar.") - Case "E" - 'If B.storniert Then MsgBox("Der Beleg wurde bereits storiniert!") : Exit Sub - Dim frmBeleg As New frmFremdbeleg(PERSONAL, PERSONAL.Mandant, PERSONAL.Niederlassung, B.Benutzer, B.BelegNr, B.BelegDat) - frmBeleg.ShowDialog(Me) - Case "L" - If B.storniert Then MsgBox("Der Beleg wurde bereits storiniert!") : Exit Sub - Dim frmBeleg As New frmNacherfassungLeihgeld(PERSONAL, PERSONAL_LG, PERSONAL.Mandant, PERSONAL.Niederlassung, B.Benutzer, B.BelegNr, B.BelegDat) - frmBeleg.ShowDialog(Me) - Case Else - Dim frmBeleg As New frmBelegNeu(PERSONAL, PERSONAL_LG, PERSONAL.Mandant, PERSONAL.Niederlassung, B.Benutzer, B.BelegNr, B.BelegDat) - frmBeleg.ShowDialog(Me) - End Select - - init() - - ' End If - End Sub - Private Sub DataGridView1_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick - 'OLD!!!!!!!!!!!!!!!!!!!!!!! - If e.RowIndex >= 0 Then - Dim r As DataGridViewRow = DataGridView1.Rows(e.RowIndex) - Dim frmBeleg As New frmBelegNeu(PERSONAL, PERSONAL_LG, PERSONAL.Mandant, PERSONAL.Niederlassung, PERSONAL.ID, r.Cells("BelegNr").Value, r.Cells("BelegDat").Value) - frmBeleg.ShowDialog(Me) - init() - End If - End Sub - - Private Sub FlatButton7_Click(sender As Object, e As EventArgs) Handles FlatButton7.Click - init() - End Sub - - Private Sub FlatButton6_Click(sender As Object, e As EventArgs) Handles FlatButton6.Click - - Dim print As New frmPrintLayout - print.Text = "Kassenbuch" - - Dim rpt As New rptKassenbuchBuchhaltung - - Dim frmVonBis As New frmKasseBerichtVonBis - If frmVonBis.ShowDialog(Me) <> Windows.Forms.DialogResult.OK Then - Exit Sub - End If - Dim von As Date = frmVonBis.datVon.Value.ToShortDateString - Dim bis As Date = frmVonBis.datBis.Value.ToShortDateString - - 'Dim von As Date = CDate("01.01.2016") - ' Dim bis As Date = CDate("31.01.2016") - - ' rpt.DataSource = SQL.loadDgvBySql("SELECT MIN(JournalNr)as JournalNr, MAX(BelegDat)as BelegDat,MAX(Buchungsdatum)as Buchungsdatum,MAX(belegNr) as BelegNr, (SELECT top 1 t.Buchungstext FROM [tblKassenbuch] as t WHERE journalnr=t.journalnr) as Buchungstext,(SELECT top 1 t.konto FROM [tblKassenbuch] as t WHERE journalnr=t.journalnr) as Konto, SUM(Soll) as Soll,SUM(haben) as Haben " & - ' "FROM [tblKassenbuch] WHERE CAST(Buchungsdatum as date) BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' And Benutzer=" & PERSONAL.ID & " group by BelegNr", "FMZOLL") 'cProgramFunctions.dgridViewTods(dgvBelegPos) - Dim where = "" - - If frmVonBis.cbxRKSV_only.Checked Then - where = " AND [rksv_id] IS NOT NULL AND [rksv_BelegId] IS NOT NULL AND rksv_aktiv=1 " - - End If - Dim sqlStr = "" - ' sqlStr = sqlStr = "SELECT JournalNr, BelegDat,Buchungstext, Buchungsdatum,BelegNr,rksv_BelegId, Soll, Haben " & - ' "FROM [tblKassenbuch] WHERE tblKassenbuch.Mandant='" & PERSONAL.Mandant & "' and tblKassenbuch.Niederlassung='" & PERSONAL.Niederlassung & "' AND CAST(Buchungsdatum as date) BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' And tblKassenbuch.Benutzer=" & PERSONAL.ID & " And Konto=" & PERSONAL.KassenbuchNr & " " & where & " ORDER BY Buchungsdatum, JournalNr " - - If master_Kasse Then - rpt.lblSachbearbeiter.Text = "ADMIN" - rpt.lblKassenbuchNr.Text = "-" - rpt.lblMandantNiederlassung.Text = "-" - sqlStr = "SELECT JournalNr, BelegDat,Buchungstext, Finanzwege, Buchungsdatum,BelegNr,rksv_BelegId, Soll, Haben,tblKassenbuch.Benutzer as Benutzer,tblKassenbuch.Konto as Konto " & - "FROM [tblKassenbuch] INNER JOIN Personal ON Personal.ID = tblKassenbuch.Benutzer WHERE tblKassenbuch.Benutzer IN (SELECT ID FROM [Personal] WHERE [Standard_RKSV_KasseId]='" & PERSONAL.cRKSV_Kasse.rksv_id & "') AND Personal.[KassenbuchNr]=tblKassenbuch.Konto AND tblKassenbuch.Mandant='" & PERSONAL.Mandant & "' and tblKassenbuch.Niederlassung='" & PERSONAL.Niederlassung & "' AND CAST(Buchungsdatum as date) BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' " & where & " ORDER BY Buchungsdatum, JournalNr " - Else - rpt.lblSachbearbeiter.Text = PERSONAL.Name - rpt.lblKassenbuchNr.Text = PERSONAL.KassenbuchNr - rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung - - sqlStr = "SELECT JournalNr, BelegDat,Buchungstext, Finanzwege, Buchungsdatum,BelegNr,rksv_BelegId, Soll, Haben,tblKassenbuch.Benutzer as Benutzer,tblKassenbuch.Konto as Konto " & - "FROM [tblKassenbuch] WHERE tblKassenbuch.Mandant='" & PERSONAL.Mandant & "' and tblKassenbuch.Niederlassung='" & PERSONAL.Niederlassung & "' AND CAST(Buchungsdatum as date) BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' And tblKassenbuch.Benutzer=" & PERSONAL.ID & " And Konto=" & PERSONAL.KassenbuchNr & " " & where & " ORDER BY Buchungsdatum, JournalNr " - End If - rpt.DataSource = SQL.loadDgvBySql(sqlStr, "FMZOLL") 'cProgramFunctions.dgridViewTods(dgvBelegPos) - - rpt.GroupHeader1.DataField = "Buchungsdatum" 'Gruppierung - - If rpt.DataSource.rows.count = 0 Then - rpt.Dispose() : print.Dispose() - MsgBox("Keine Daten vorhanden!") - Exit Sub - End If - - Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA - Case "IMEX" : rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple : rpt.Label28.Text = "IMEX Customs Service GmbH" - Case "ATILLA" : rpt.picVERAG.Image = My.Resources.Atilla : rpt.Label28.Text = "ATILLA Spedition" - Case Else - End Select - - Dim GESCHAEFTSJAHR = cRKSV.getGJ_FIRMA(von, RKSV.rksv_firma) ' iif (von.Month = 1, von.Year - 1, von.Year) - Dim sum = 0 - rpt.lblUeberschrift.Text = "Kassenbuch " & von.ToShortDateString & " bis " & bis.ToShortDateString - rpt.lblGeschaeftsjahr.Text = GESCHAEFTSJAHR - 'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung - - 'Dim cnt As Integer = 0 - rpt.lblDat.Text = Now.ToLongDateString - Dim sumSoll As Double = 0 - Dim sumHaben As Double = 0 - Dim gesSumSoll As Double = 0 - Dim gesSumHaben As Double = 0 - Dim datum = "" - AddHandler rpt.Detail.Format, Sub() - ' Dim dt As DataTable = SQL.loadDgvBySql("SELECT CASE WHEN COUNT(distinct(konto))>1 THEN 'div.' ELSE CONVERT(VARCHAR(4),MAX(konto)) END as Konto, SUM(soll)as Soll, SUM(haben) as Haben FROM [tblKassenbuch] " & - ' " WHERE Konto<>" & PERSONAL.KassenbuchNr & " AND Mandant='" & PERSONAL.Mandant & "' and Niederlassung='" & PERSONAL.Niederlassung & "'and Benutzer=" & PERSONAL.ID & " and Geschäftsjahr=" & GESCHAEFTSJAHR & " and BelegNr='" & rpt.Fields.Item("BelegNr").Value() & "' ", "FMZOLL") - - ' Dim soll = dt.Rows(0)("Soll") - ' Dim haben = dt.Rows(0)("Haben") - 'Dim konto = dt.Rows(0)("Konto") - - rpt.lblJournalNr.Text = rpt.Fields.Item("JournalNr").Value() - Dim BuDat As Date = CDate(rpt.Fields.Item("Buchungsdatum").Value()).ToShortDateString - rpt.lblBelegDat.Text = BuDat - Dim GESCHAEFTSJAHR_TMP = cRKSV.getGJ_FIRMA(BuDat, RKSV.rksv_firma) ''IIf(BuDat.Month = 1, BuDat.Year - 1, BuDat.Year) - rpt.lblBelegNr.Text = IIf(rpt.Fields.Item("rksv_BelegId").Value Is DBNull.Value, "(" & rpt.Fields.Item("BelegNr").Value & ")", rpt.Fields.Item("rksv_BelegId").Value()) - rpt.lblBuchungstext.Text = rpt.Fields.Item("Buchungstext").Value() - rpt.lblFinanzwege.Text = IIf(rpt.Fields.Item("Finanzwege").Value() Is DBNull.Value, "", rpt.Fields.Item("Finanzwege").Value()) - ' rpt.lblKonto.Text = SQL.getValueTxtBySql("SELECT CASE WHEN COUNT(distinct(konto))>1 THEN 'div.' ELSE CONVERT(VARCHAR(4),MAX(konto)) END as Konto, SUM(soll)as Soll, SUM(haben) as Haben FROM [tblKassenbuch] " & - ' " WHERE Konto<>" & PERSONAL.KassenbuchNr & " AND Mandant='" & PERSONAL.Mandant & "' and Niederlassung='" & PERSONAL.Niederlassung & "' " & benutzerTMP & " and Geschäftsjahr=" & GESCHAEFTSJAHR & " and BelegNr='" & rpt.Fields.Item("BelegNr").Value() & "' ", "FMZOLL") - rpt.lblKonto.Text = SQL.getValueTxtBySql("SELECT CASE WHEN COUNT(distinct(konto))>1 THEN 'div.' ELSE CONVERT(VARCHAR(4),MAX(konto)) END as Konto, SUM(soll)as Soll, SUM(haben) as Haben FROM [tblKassenbuch] " & - " WHERE Konto<>" & PERSONAL.KassenbuchNr & " AND Mandant='" & PERSONAL.Mandant & "' and Niederlassung='" & PERSONAL.Niederlassung & "' And Benutzer=" & rpt.Fields.Item("Benutzer").Value & " and Geschäftsjahr=" & GESCHAEFTSJAHR_TMP & " and BelegNr='" & rpt.Fields.Item("BelegNr").Value() & "' ", "FMZOLL") - - Dim soll = CDbl(rpt.Fields.Item("Soll").Value()) - Dim haben = CDbl(rpt.Fields.Item("Haben").Value()) - - rpt.lblSoll.Text = IIf(soll <> 0, soll.ToString("C"), "") - rpt.lblHaben.Text = IIf(haben <> 0, haben.ToString("C"), "") - ' rpt.lblSaldo.Text = CDbl(SQL.getValueTxtBySql("SELECT isnull(sum([Soll]-[Haben]),0) AS Saldo FROM tblKassenbuch " & - ' " WHERE Mandant='" & PERSONAL.Mandant & "' and Niederlassung='" & PERSONAL.Niederlassung & "' " & benutzerTMP & " and Geschäftsjahr=" & GESCHAEFTSJAHR & " AND tblKassenbuch.Konto='" & PERSONAL.KassenbuchNr & "' " & - ' " and JournalNr<='" & rpt.Fields.Item("JournalNr").Value() & "' ", "FMZOLL")).ToString("C") - - rpt.lblSaldo.Text = CDbl(SQL.getValueTxtBySql("SELECT isnull(sum([Soll]-[Haben]),0) AS Saldo FROM tblKassenbuch " & - " WHERE Mandant='" & PERSONAL.Mandant & "' and Niederlassung='" & PERSONAL.Niederlassung & "' And Benutzer=" & rpt.Fields.Item("Benutzer").Value & " and Geschäftsjahr=" & GESCHAEFTSJAHR_TMP & " AND tblKassenbuch.Konto='" & rpt.Fields.Item("Konto").Value & "' " & - " and JournalNr<='" & rpt.Fields.Item("JournalNr").Value() & "' ", "FMZOLL")).ToString("C") - sumSoll += CDbl(rpt.Fields.Item("Soll").Value()) - sumHaben += CDbl(rpt.Fields.Item("Haben").Value()) - gesSumSoll += CDbl(rpt.Fields.Item("Soll").Value()) - gesSumHaben += CDbl(rpt.Fields.Item("Haben").Value()) - ' rpt.lblLeistungsNr.Text = rpt.Fields.Item("clmnAnzahl").Value() - ' rpt.lblEinzelpreis.Text = CDbl(rpt.Fields.Item("clmnPreis").Value()).ToString("C") - ' sum += rpt.Fields.Item("clmnBetrag").Value() - datum = CDate(rpt.Fields.Item("Buchungsdatum").Value()).ToShortDateString ' Im Footer wird bereits das nächste Datumgenommen, darum hier befüllt - End Sub - AddHandler rpt.GroupHeader1.Format, Sub() - sumSoll = 0 - sumHaben = 0 - End Sub - AddHandler rpt.GroupFooter1.Format, Sub() - rpt.lblSummeBuchungsDat.Text = "Summe Buchungsdatum " & datum & ":" - rpt.lblSollSumme.Text = sumSoll.ToString("C") - rpt.lblHabenSumme.Text = sumHaben.ToString("C") - ' rpt.lblEinzelpreis.Text = CDbl(rpt.Fields.Item("clmnPreis").Value()).ToString("C") - ' sum += rpt.Fields.Item("clmnBetrag").Value() - End Sub - AddHandler rpt.ReportFooter1.Format, Sub() - rpt.lblSollGesamtSumme.Text = gesSumSoll.ToString("C") - rpt.lblHabenGesamtSumme.Text = gesSumHaben.ToString("C") - End Sub - - print.Viewer.LoadDocument(rpt) - print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous - print.Show() - End Sub - - Private Sub FlatButton2_Click(sender As Object, e As EventArgs) Handles FlatButton2.Click - - Dim print As New frmPrintLayout - print.Text = "Kassenbuch" - Dim rpt As New rptKassenbuchBuchhaltungDetails - - Dim frmVonBis As New frmKasseBerichtVonBis - If frmVonBis.ShowDialog(Me) <> Windows.Forms.DialogResult.OK Then - Exit Sub - End If - Dim von As Date = frmVonBis.datVon.Value.ToShortDateString - Dim bis As Date = frmVonBis.datBis.Value.ToShortDateString - Dim GESCHAEFTSJAHR = cRKSV.getGJ_FIRMA(Now, RKSV.rksv_firma) ' IIf(von.Month = 1, von.Year - 1, von.Year) - - ' rpt.DataSource = SQL.loadDgvBySql("SELECT MIN(JournalNr)as JournalNr, MAX(BelegDat)as BelegDat,MAX(Buchungsdatum)as Buchungsdatum,MAX(belegNr) as BelegNr, (SELECT top 1 t.Buchungstext FROM [tblKassenbuch] as t WHERE journalnr=t.journalnr) as Buchungstext,(SELECT top 1 t.konto FROM [tblKassenbuch] as t WHERE journalnr=t.journalnr) as Konto, SUM(Soll) as Soll,SUM(haben) as Haben " & - ' "FROM [tblKassenbuch] WHERE CAST(Buchungsdatum as date) BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' And Benutzer=" & PERSONAL.ID & " group by BelegNr", "FMZOLL") 'cProgramFunctions.dgridViewTods(dgvBelegPos) - Dim where = "" - Dim benutzerTMP = "" - If master_Kasse Then - rpt.lblSachbearbeiter.Text = "ADMIN" - rpt.lblKassenbuchNr.Text = "-" - rpt.lblMandantNiederlassung.Text = "-" - benutzerTMP = " AND tblKassenbuch.Benutzer IN (SELECT ID FROM [Personal] WHERE [Standard_RKSV_KasseId]='" & PERSONAL.cRKSV_Kasse.rksv_id & "') " - Else - rpt.lblSachbearbeiter.Text = PERSONAL.Name - rpt.lblKassenbuchNr.Text = PERSONAL.KassenbuchNr - rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung - benutzerTMP = " And Benutzer=" & PERSONAL.ID & "" - End If - If frmVonBis.cbxRKSV_only.Checked Then - where = " AND [rksv_id] IS NOT NULL AND [rksv_BelegId] IS NOT NULL AND rksv_aktiv=1 " - - End If - rpt.DataSource = SQL.loadDgvBySql("SELECT JournalNr, BelegDat,Buchungstext,Finanzwege,Konto, Buchungsdatum,BelegNr,rksv_BelegId, Soll, Haben,isnull(Bez,'') as Bez,CASE WHEN Steuertyp=1 THEN Steuerbetrag Else 0 END as Umsatzsteuer,CASE WHEN Steuertyp=2 THEN Steuerbetrag Else 0 END as Vorsteuer " & - " FROM [tblKassenbuch] LEFT JOIN [tblSteuersätze] ON [Nr]=Steuer " & - " WHERE tblKassenbuch.Mandant='" & PERSONAL.Mandant & "' and tblKassenbuch.Niederlassung='" & PERSONAL.Niederlassung & "' AND CAST(Buchungsdatum as date) BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' " & benutzerTMP & " " & where & " ORDER BY Buchungsdatum, JournalNr ", "FMZOLL") 'cProgramFunctions.dgridViewTods(dgvBelegPos) - - rpt.GroupHeader1.DataField = "Buchungsdatum" 'Gruppierung - - If rpt.DataSource.rows.count = 0 Then - rpt.Dispose() : print.Dispose() - MsgBox("Keine Daten vorhanden!") - Exit Sub - End If - - Dim sum = 0 - rpt.lblUeberschrift.Text = "Buchungsbericht " & von.ToShortDateString & " bis " & bis.ToShortDateString - 'rpt.lblSachbearbeiter.Text = PERSONAL.Name - ' rpt.lblKassenbuchNr.Text = PERSONAL.KassenbuchNr - ' rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung - rpt.lblGeschaeftsjahr.Text = GESCHAEFTSJAHR - - Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA - Case "IMEX" : rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple : rpt.Label28.Text = "IMEX Customs Service GmbH" - Case "ATILLA" : rpt.picVERAG.Image = My.Resources.Atilla : rpt.Label28.Text = "ATILLA Spedition" - Case Else - End Select - - 'Dim cnt As Integer = 0 - rpt.lblDat.Text = Now.ToLongDateString - Dim sumSoll As Double = 0 - Dim sumHaben As Double = 0 - Dim gesSumSoll As Double = 0 - Dim gesSumHaben As Double = 0 - - Dim sumUSt As Double = 0 - Dim sumVorSt As Double = 0 - Dim gesSumUSt As Double = 0 - Dim gesSumVorSt As Double = 0 - Dim datum = "" - AddHandler rpt.Detail.Format, Sub() - ' Dim dt As DataTable = SQL.loadDgvBySql("SELECT CASE WHEN COUNT(distinct(konto))>1 THEN 'div.' ELSE CONVERT(VARCHAR(4),MAX(konto)) END as Konto, SUM(soll)as Soll, SUM(haben) as Haben FROM [tblKassenbuch] " & - ' " WHERE Konto<>" & PERSONAL.KassenbuchNr & " AND Mandant='" & PERSONAL.Mandant & "' and Niederlassung='" & PERSONAL.Niederlassung & "'and Benutzer=" & PERSONAL.ID & " and Geschäftsjahr=" & GESCHAEFTSJAHR & " and BelegNr='" & rpt.Fields.Item("BelegNr").Value() & "' ", "FMZOLL") - - ' Dim soll = dt.Rows(0)("Soll") - ' Dim haben = dt.Rows(0)("Haben") - 'Dim konto = dt.Rows(0)("Konto") - - rpt.lblJournalNr.Text = rpt.Fields.Item("JournalNr").Value() - Dim BuDat As Date = CDate(rpt.Fields.Item("Buchungsdatum").Value()).ToShortDateString - rpt.lblBelegDat.Text = BuDat - Dim GESCHAEFTSJAHR_TMP = cRKSV.getGJ_FIRMA(BuDat, RKSV.rksv_firma) 'IIf(BuDat.Month = 1, BuDat.Year - 1, BuDat.Year) - rpt.lblBelegNr.Text = IIf(rpt.Fields.Item("rksv_BelegId").Value Is DBNull.Value, "(" & rpt.Fields.Item("BelegNr").Value & ")", rpt.Fields.Item("rksv_BelegId").Value()) - rpt.lblBuchungstext.Text = rpt.Fields.Item("Buchungstext").Value() - rpt.lblFinanzwege.Text = IIf(rpt.Fields.Item("Finanzwege").Value() Is DBNull.Value, "", rpt.Fields.Item("Finanzwege").Value()) - rpt.lblKonto.Text = rpt.Fields.Item("Konto").Value() - Dim soll = CDbl(rpt.Fields.Item("Soll").Value()) - Dim haben = CDbl(rpt.Fields.Item("Haben").Value()) - - rpt.lblSoll.Text = IIf(soll <> 0, soll.ToString("C"), "") - rpt.lblHaben.Text = IIf(haben <> 0, haben.ToString("C"), "") - rpt.lblSaldo.Text = CDbl(SQL.getValueTxtBySql("SELECT isnull(sum([Soll]-[Haben]),0) AS Saldo FROM tblKassenbuch " & - " WHERE Mandant='" & PERSONAL.Mandant & "' and Niederlassung='" & PERSONAL.Niederlassung & "' " & benutzerTMP & " and Geschäftsjahr=" & GESCHAEFTSJAHR_TMP & " AND tblKassenbuch.Konto='" & rpt.Fields.Item("Konto").Value() & "' " & - " and JournalNr<='" & rpt.Fields.Item("JournalNr").Value() & "' ", "FMZOLL")).ToString("C") - - ' If Not rpt.Fields.Item("Bez").Value() Is DBNull.Value Then - rpt.lblSteuer.Text = rpt.Fields.Item("Bez").Value() - ' End If - - Dim ust = CDbl(rpt.Fields.Item("Umsatzsteuer").Value()) - Dim vorst = CDbl(rpt.Fields.Item("Vorsteuer").Value()) - rpt.lblUSt.Text = IIf(ust <> 0, ust.ToString("C"), "") - rpt.lblVorst.Text = IIf(vorst <> 0, vorst.ToString("C"), "") - - sumSoll += soll - sumHaben += haben - gesSumSoll += soll - gesSumHaben += haben - - sumUSt += ust - sumVorSt += vorst - gesSumUSt += ust - gesSumVorSt += vorst - - datum = CDate(rpt.Fields.Item("Buchungsdatum").Value()).ToShortDateString ' Im Footer wird bereits das nächste Datumgenommen, darum hier befüllt - End Sub - AddHandler rpt.GroupHeader1.Format, Sub() - sumSoll = 0 - sumHaben = 0 - sumUSt = 0 - sumVorSt = 0 - End Sub - AddHandler rpt.GroupFooter1.Format, Sub() - rpt.lblSummeBuchungsDat.Text = "Summe Buchungsdatum " & datum & ":" - rpt.lblSollSumme.Text = sumSoll.ToString("C") - rpt.lblHabenSumme.Text = sumHaben.ToString("C") - rpt.lblUstSumme.Text = sumUSt.ToString("C") - rpt.lblVorstSumme.Text = sumVorSt.ToString("C") - - End Sub - AddHandler rpt.ReportFooter1.Format, Sub() - rpt.lblSollGesamtSumme.Text = gesSumSoll.ToString("C") - rpt.lblHabenGesamtSumme.Text = gesSumHaben.ToString("C") - rpt.lblUstGesamtSumme.Text = gesSumUSt.ToString("C") - rpt.lblVorStGesamtSumme.Text = gesSumVorSt.ToString("C") - End Sub - - print.Viewer.LoadDocument(rpt) - print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous - print.Show() - End Sub - - Private Sub FlatButton5_Click(sender As Object, e As EventArgs) Handles FlatButton5.Click - - Dim print As New frmPrintLayout - print.Text = "Kassenbuch" - Dim rpt As New rptKassenbuchKontenBericht - - rpt.PageSettings.PaperKind = GrapeCity.ActiveReports.Printing.PaperKind.A4 - - Dim frmVonBis As New frmKasseBerichtVonBis - If frmVonBis.ShowDialog(Me) <> Windows.Forms.DialogResult.OK Then - Exit Sub - End If - Dim von As Date = frmVonBis.datVon.Value.ToShortDateString - Dim bis As Date = frmVonBis.datBis.Value.ToShortDateString - Dim GESCHAEFTSJAHR = cRKSV.getGJ_FIRMA(von, RKSV.rksv_firma) ' IIf(von.Month = 1, von.Year - 1, von.Year) - - Dim where = "" - Dim benutzerTMP = "" - If master_Kasse Then - rpt.lblSachbearbeiter.Text = "ADMIN" - rpt.lblKassenbuchNr.Text = "-" - rpt.lblMandantNiederlassung.Text = "-" - benutzerTMP = " AND tblKassenbuch.Benutzer IN (SELECT ID FROM [Personal] WHERE [Standard_RKSV_KasseId]='" & PERSONAL.cRKSV_Kasse.rksv_id & "') " - Else - rpt.lblSachbearbeiter.Text = PERSONAL.Name - rpt.lblKassenbuchNr.Text = PERSONAL.KassenbuchNr - rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung - benutzerTMP = " And Benutzer=" & PERSONAL.ID & "" - End If - If frmVonBis.cbxRKSV_only.Checked Then - where = " AND tblKassenbuch.[rksv_id] IS NOT NULL AND tblKassenbuch.[rksv_BelegId] IS NOT NULL AND tblKassenbuch.rksv_aktiv=1 " - End If - - rpt.DataSource = SQL.loadDgvBySql(" SELECT MIN(tblKassenbuch.Konto) as Konto,isNull(MIN(tblKonto.Bez),'') as Bezeichnung, SUM(ISNULL(Haben,0)) AS Habenbetrag,SUM(ISNULL(Soll,0)) AS Sollbetrag, MIN(tblSteuersätze.Bez) as Steuer, SUM(CASE WHEN Steuertyp=1 THEN Steuerbetrag Else 0 END) as Umsatzsteuer,SUM(CASE WHEN Steuertyp=2 THEN Steuerbetrag Else 0 END) as Vorsteuer " & - " FROM tblKassenbuch LEFT JOIN tblKonto ON tblKassenbuch.Konto = tblKonto.KontoNr INNER JOIN tblSteuersätze ON tblKassenbuch.Steuer = tblSteuersätze.Nr INNER JOIN Personal ON tblKassenbuch.Benutzer = Personal.ID " & - " WHERE tblKassenbuch.Mandant='" & PERSONAL.Mandant & "' and tblKassenbuch.Niederlassung='" & PERSONAL.Niederlassung & "' AND tblKassenbuch.Konto<>[Personal].[KassenbuchNr] AND CAST(Buchungsdatum as date) BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' " & benutzerTMP & " " & where & " GROUP BY Konto ORDER BY Konto ", "FMZOLL") 'cProgramFunctions.dgridViewTods(dgvBelegPos) - - - If rpt.DataSource.rows.count = 0 Then - rpt.Dispose() : print.Dispose() - MsgBox("Keine Daten vorhanden!") - Exit Sub - End If - - Dim sum = 0 - rpt.lblUeberschrift.Text = "Summen-Bericht " & von.ToShortDateString & " bis " & bis.ToShortDateString - 'rpt.lblSachbearbeiter.Text = PERSONAL.Name - 'rpt.lblKassenbuchNr.Text = PERSONAL.KassenbuchNr - rpt.lblGeschaeftsjahr.Text = GESCHAEFTSJAHR - 'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung - - Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA - Case "IMEX" : rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple : rpt.Label28.Text = "IMEX Customs Service GmbH" - Case "ATILLA" : rpt.picVERAG.Image = My.Resources.Atilla : rpt.Label28.Text = "ATILLA Spedition" - Case Else - End Select - - 'Dim cnt As Integer = 0 - rpt.lblDat.Text = Now.ToLongDateString - Dim gesSumSoll As Double = 0 - Dim gesSumHaben As Double = 0 - - Dim gesSumUSt As Double = 0 - Dim gesSumVorSt As Double = 0 - Dim datum = "" - AddHandler rpt.Detail.Format, Sub() - rpt.lblBuchungstext.Text = If(rpt.Fields.Item("Bezeichnung") IsNot Nothing, If(rpt.Fields.Item("Bezeichnung").Value(), ""), "") - rpt.lblKonto.Text = rpt.Fields.Item("Konto").Value() - Dim soll = CDbl(rpt.Fields.Item("Sollbetrag").Value()) - Dim haben = CDbl(rpt.Fields.Item("Habenbetrag").Value()) - - rpt.lblSollbetrag.Text = IIf(soll <> 0, soll.ToString("C"), "") - rpt.lblHabenbetrag.Text = IIf(haben <> 0, haben.ToString("C"), "") - - rpt.lblSteuer.Text = rpt.Fields.Item("Steuer").Value() - - Dim ust = CDbl(rpt.Fields.Item("Umsatzsteuer").Value()) - Dim vorst = CDbl(rpt.Fields.Item("Vorsteuer").Value()) - rpt.lblUmsatzsteuer.Text = IIf(ust <> 0, ust.ToString("C"), "") - rpt.lblVorsteuer.Text = IIf(vorst <> 0, vorst.ToString("C"), "") - - gesSumSoll += soll - gesSumHaben += haben - - gesSumUSt += ust - gesSumVorSt += vorst - End Sub - - AddHandler rpt.ReportFooter1.Format, Sub() - rpt.lblSollGesamtSumme.Text = gesSumSoll.ToString("C") - rpt.lblHabenGesamtSumme.Text = gesSumHaben.ToString("C") - rpt.lblUmsatzsteuerGesamtsumme.Text = gesSumUSt.ToString("C") - rpt.lblVorsteuerGesamtsumme.Text = gesSumVorSt.ToString("C") - End Sub - - print.Viewer.LoadDocument(rpt) - print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous - print.Show() - End Sub - - - Private Sub FlatButton9_Click(sender As Object, e As EventArgs) Handles btnBelegAusgang.Click, btnBelegEingang.Click - If KennwortOK() Then - Dim frmFremdbeleg As New frmFremdbeleg - frmFremdbeleg.Art = IIf(sender Is btnBelegAusgang, 2, 1) - frmFremdbeleg.PERSONAL = PERSONAL - ' frmFremdbeleg.GESCHAEFTSJAHR = GESCHAEFTSJAHR - frmFremdbeleg.ShowDialog(Me) - init() - End If - End Sub - - - - - Private Async Function Button4_ClickAsync(sender As Object, e As EventArgs) As Task Handles Button4.Click - - - Dim KASSE As New cRKSV_Kasse(cboKassen._value) 'Laden der Kasse anhand der Auswahlbox - - If KASSE.rksv_FT_RestServiceURL <> "" Then - Dim client_FT As New cFiskaltrustClient(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country) - - 'hier noch eine Auwahlmöglichkeit bauen! - - Dim Journalid = 2 'ReceiptJournal - '4919338167972134914 -> DSFinV-K export - '4919338167972134915 -> TAR file export - '2 -> ReceiptJournal - - Dim result = Await client_FT.Journal(Journalid) - If result <> "" Then - client_FT.exportJournal(result) - End If - Else - - - - MsgBox("Leider noch nicht verfügbar") - - 'Dim client As RKSVWcfClient = New RKSVWcfClient() - 'client.Endpoint.Address = New System.ServiceModel.EndpointAddress("http://192.168.0.106:8733/Design_Time_Addresses/RKSVCompleteServer/Service1/?singleWsdl") - 'client.Open() - '' svcRKSV.DBUserCredentials m_credentials = new svcRKSV.DBUserCredentials(); - 'Dim credentials As New SDL.RKSVServer.DBUserCredentials - - 'credentials.Database = "RKSVWcfDB" - 'credentials.Server = "AVISO\SQLEXPRESS" - - 'Select Case cboKassen._value - ' Case "VERAG-SUB-KASSE-ZOLL" - ' credentials.Username = "Admin" - ' credentials.Password = "verag#2" - ' credentials.CashboxID = "VERAG-SUB-KASSE-ZOLL" - ' credentials.CompanyGUID = "9119d9ae-f549-4a0f-a50f-0500ec7ca059" - - ' Dim certificate = "" - ' Dim certificateChain = "" - ' Dim exportResult = "" - ' cRKSV.getDEP(certificate, exportResult) - - - - ' 'If (client.ExportJWS()) Then - ' ' Else - ' 'MessageBox.Show(answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) - ' ' End If - ' Case "" - ' MsgBox("Keine Kasse gewählt!") - - 'End Select - - - End If - - - - - End Function - - - Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click - Dim f As New frmBelegFinden - f.Standard_RKSV_KasseId = PERSONAL.cRKSV_Kasse.rksv_id - If Not master_Kasse Then f.BenutzerId = PERSONAL.ID - - If f.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then - Select Case f.art - Case "NEU" - openBelegRKSVId(f.txtBelegNrNeu.Text) - Case "ALT" - Dim PERSONALTmp As cPersonal = FMZOLL_SQL.getPersonalById(f.cboBenutzer._value) - Dim B As New EABeleg("LOAD", PERSONALTmp.Mandant, PERSONALTmp.Niederlassung, PERSONALTmp.ID, f.txtBelegNrAlt.Text, f.dat.Value) - openBELEG(B, PERSONALTmp) - End Select - End If - End Sub - - Sub openBelegRKSVId(rksv_beleg_Id) - If rksv_beleg_Id <> "" Then - ' Dim dt As DataTable = SQL.loadDgvBySql("SELECT * FROM [tblEABelegnummer] WHERE [Mandant]='" & PERSONAL.Mandant & "' AND Niederlassung='" & PERSONAL.Niederlassung & "' AND rksv_BelegId='" & rksv_beleg_Id & "'", "FMZOLL") - Dim dt As DataTable = SQL.loadDgvBySql("SELECT * FROM [tblEABelegnummer] WHERE [rksv_id]='" & PERSONAL.cRKSV_KasseID & "' AND rksv_BelegId='" & rksv_beleg_Id & "'", "FMZOLL") - If dt.Rows.Count > 0 Then - ' If dt.Rows(0)("storniert") Then MsgBox("Der Beleg wurde bereits storiniert!") : Exit Sub - - Dim PERSONALTmp As cPersonal = FMZOLL_SQL.getPersonalById(dt.Rows(0)("Benutzer")) - - - 'Wenn LeigeldBeleg oder Kasse Ein/Ausgang, dann nur Ersteller! - Select Case dt.Rows(0)("Beleg_TYP") - Case "E", "L" - If master_Kasse = False Then - If dt.Rows(0)("Benutzer") <> PERSONAL.ID Then - MsgBox("Der Beleg wurde von einem anderen Beutzer erstellt. " & vbNewLine & " Bitte wenden Sie sich an: '" & PERSONALTmp.Name & "'.") : Exit Sub - End If - End If - End Select - - - Select Case dt.Rows(0)("Beleg_TYP") - Case "0" - MsgBox("Ein NULL-Beleg ist nur einmal verfügbar.") - Case "E" - If dt.Rows(0)("storniert") Then MsgBox("Der Beleg wurde bereits storiniert!") : Exit Sub - Dim frmBeleg As New frmFremdbeleg(PERSONALTmp, PERSONALTmp.Mandant, PERSONALTmp.Niederlassung, dt.Rows(0)("Benutzer"), dt.Rows(0)("BelegNr"), dt.Rows(0)("BelegDat")) - frmBeleg.ShowDialog(Me) - Case "L" - If dt.Rows(0)("storniert") Then MsgBox("Der Beleg wurde bereits storiniert!") : Exit Sub - Dim frmBeleg As New frmNacherfassungLeihgeld(PERSONALTmp, PERSONAL_LG, PERSONAL.Mandant, PERSONALTmp.Niederlassung, PERSONALTmp.ID, dt.Rows(0)("BelegNr"), dt.Rows(0)("BelegDat")) - frmBeleg.ShowDialog(Me) - Case Else - Dim frmBeleg As New frmBelegNeu(PERSONALTmp, PERSONAL_LG, PERSONALTmp.Mandant, PERSONALTmp.Niederlassung, dt.Rows(0)("Benutzer"), dt.Rows(0)("BelegNr"), dt.Rows(0)("BelegDat")) - frmBeleg.ShowDialog(Me) - End Select - - init() - Else - MsgBox("Keine Daten gefunden!") - End If - End If - End Sub - - Private Sub btnEinnahmeBeleg_Click(sender As Object, e As EventArgs) Handles btnDGVBelege.Click - DGV = "B" - initDgv() - End Sub - - Private Sub btnAusgabebeleg_Click(sender As Object, e As EventArgs) Handles btnDGVKassenbuch.Click - DGV = "KB" - initDgv() - End Sub - - Private Sub btnExcel_Click(sender As Object, e As EventArgs) Handles btnExcel.Click - Me.Cursor = Cursors.WaitCursor - cProgramFunctions.genExcelFromDGV_NEW(DataGridView2, True) - Me.Cursor = Cursors.Default - End Sub - - Private Sub frmKassenbuch_Shown(sender As Object, e As EventArgs) Handles Me.Shown - Me.Height = My.Computer.Screen.WorkingArea.Height - Me.Top = 0 - DataGridView2.ClearSelection() - If master_Kasse Then - btnBelegKunde.Enabled = False - btnBelegGSKunde.Enabled = False - btnBelegAusgang.Enabled = False - btnBelegEingang.Enabled = False - btnBelegLeihgeld.Enabled = False - End If - If PERSONAL.cRKSV_Kasse IsNot Nothing Then lblRKSV_KASSEN_Bez.Text = PERSONAL.cRKSV_Kasse.rksv_bez - If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then - 'btnBelegLeihgeld.Visible = False - btnBelegGSKunde.Visible = False - End If - If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then 'vorher IMEX - If Not PERSONAL.isLeihgeldkasse Then btnBelegLeihgeld.Visible = False - btnBelegGSKunde.Visible = False 'VERAG-MDM KAsse bei IMEX - If PERSONAL.cRKSV_Kasse.rksv_id = 1 Then - btnBelegGSKunde.Visible = True - btnBelegKunde.Enabled = False - End If - End If - - If PERSONAL.cRKSV_Kasse Is Nothing Then - MsgBox("Keine Kasse hinterlegt!") - Me.Close() - End If - If PERSONAL.cRKSV_Kasse.rksv_id = 5 Then - btnBelegKunde.Enabled = False - btnBelegGSKunde.Enabled = False - btnBelegLeihgeld.Enabled = False - End If - Me.BringToFront() - End Sub - - Private Sub Button6_Click(sender As Object, e As EventArgs) Handles btnStorno.Click - Dim f As New frmBelegFinden - f.Standard_RKSV_KasseId = PERSONAL.cRKSV_Kasse.rksv_id - If Not master_Kasse Then f.BenutzerId = PERSONAL.ID - - If master_Kasse Then - f.cbxStornoErzwingenAdmin.Visible = True - f.cbxStornoRKSV.Visible = True - f.cbxStornoBELEG.Visible = True - End If - Dim BELEGTmp As EABeleg = Nothing - If f.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then - Select Case f.art - Case "NEU" - Dim dt As DataTable = SQL.loadDgvBySql("SELECT * FROM [tblEABelegnummer] WHERE rksv_BelegId='" & f.txtBelegNrNeu.Text & "' AND [rksv_id]='" & PERSONAL.cRKSV_Kasse.rksv_id & "' ", "FMZOLL") - If dt.Rows.Count > 0 Then - BELEGTmp = New EABeleg("LOAD", PERSONAL.Mandant, PERSONAL.Niederlassung, dt.Rows(0)("Benutzer"), dt.Rows(0)("BelegNr"), dt.Rows(0)("BelegDat")) - End If - Case "ALT" - Dim PERSONALTmp As cPersonal = FMZOLL_SQL.getPersonalById(f.cboBenutzer._value) - BELEGTmp = New EABeleg("LOAD", PERSONALTmp.Mandant, PERSONALTmp.Niederlassung, PERSONALTmp.ID, f.txtBelegNrAlt.Text, f.dat.Value) - End Select - If BELEGTmp IsNot Nothing Then - - If cRKSV.getGJ_FIRMA(Now, PERSONAL.cRKSV_Kasse.rksv_firma) <> cRKSV.getGJ_FIRMA(BELEGTmp.BelegDat, PERSONAL.cRKSV_Kasse.rksv_firma) Then - MsgBox("Das Geschäftsjahr im Beleg ist '" & cRKSV.getGJ_FIRMA(BELEGTmp.BelegDat, PERSONAL.cRKSV_Kasse.rksv_firma) & "', es können nur Belege im laufenden Geschäftsjahr gebucht werden. Aktion wird abgebrochen!") - Exit Sub - End If - - Dim zahlungsmittel = cRKSV.getZahlungsmittel(BELEGTmp, PERSONAL, PERSONAL.cRKSV_Kasse.rksv_firma) - - If zahlungsmittel = "EC" Then - - If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("POS_Zahlungen_stornieren", Me) Then - If Not vbYes = MsgBox("Dieser Beleg wurde mittels EC gezahlt, Zahlung muss ebenfalls manuell auf Terminal storniert werden!", vbYesNoCancel) Then - Exit Sub - End If - - Else - MsgBox("Der aktuelle Benutzer ist nicht berechtigt EC-Zahlungen zu stornieren!") - Exit Sub - End If - - End If - - - 'NUR KB - If f.cbxStornoRKSV.Checked Or f.cbxStornoBELEG.Checked Or f.cbxStornoErzwingenAdmin.Checked Then - Dim grund2 = InputBox("ADMIN-Storno (" & If(f.cbxStornoRKSV.Checked, " -RKSV-Tabelle- ", "") & If(f.cbxStornoBELEG.Checked, " -BELEG-Tabelle- ", "") & If(f.cbxStornoErzwingenAdmin.Checked, " -KASSENBUCH-Tabelle- ", "") & "):" & vbNewLine & vbNewLine & "Betrag: " & BELEGTmp.rksv_umsatz & vbNewLine & "Datum: " & BELEGTmp.BelegDat & vbNewLine & vbNewLine & "Bitte geben Sie einen Stornogrund an:" & vbNewLine, "Storno") - If grund2 = "" Then - MsgBox("Kein Stornotext, Aktion wird abgebrochen") - Exit Sub - End If - - Dim KASSETmp As New cRKSV_Kasse(BELEGTmp.rksv_id) - ' Dim OLD_rksv_BelegId = BELEGTmp.rksv_BelegId - If BELEGTmp.BelegDat < Now.AddMonths(-2) And Not master_Kasse Then - MsgBox("Beleg älter als 2 Monate, Aktion wird abgebrochen") 'alte Belege nicht mehr storinieren - Exit Sub - End If - - 'If KASSETmp.StornoIncreaseBelegCnt Then ' Ob beim Storno eine neue BelegNr vergeben werden soll - ' Dim RKSV_Beleg_Id = KASSETmp.INCREASE_BELEG_UMSATZ(BELEGTmp.rksv_umsatz) - ' BELEGTmp.rksv_BelegId = RKSV_Beleg_Id - 'End If - - If f.cbxStornoErzwingenAdmin.Checked Then - BELEGTmp = cRKSV.STORNO(BELEGTmp, grund2, True, KASSETmp.rksv_firma) 'Beleg storno und Kassenbuch Gegenbuchung - End If - - If f.cbxStornoRKSV.Checked Then 'nur RKSV!!!!!!! - ' BELEGTmp = cRKSV.STORNO(BELEGTmp, grund, Fal) 'Beleg storno und Kassenbuch Gegenbuchung - If KASSETmp IsNot Nothing Then - KASSETmp.INCREASE_ONLY_BELEG_UMSATZ(BELEGTmp.rksv_umsatz * -1) ' Bei Storno wird der Umsatz vermindert! - Dim QRQString As String = "" - Dim LastJWS As String = "" - Dim answer = "" - If KASSETmp.rksv_aktiv Then - - 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, TSEIsOnline) Then - MessageBox.Show("Fehler bei der RKSV-FT-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) - Exit Sub - Else - BELEGTmp.rksv_qr = QRQString - 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) - If Not cRKSV.stornoRKSV_DE(PERSONALTmp1, BELEGTmp, KASSETmp, BELEGTmp.rksv_BelegId, BELEGTmp.rksv_BelegId, BELEGTmp.rksv_umsatz, QRQString, LastJWS, False, 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 - End If - - If f.cbxStornoBELEG.Checked Then 'nur BELEG!!!!!!! - BELEGTmp = cRKSV.STORNO_BELEG_ONLY(BELEGTmp, grund2) 'Beleg storno - End If - - init() - Exit Sub - End If - 'End If - 'If BELEGTmp IsNot Nothing Then - - ' BELEGTmp = New EABeleg("LOAD", PERSONAL.Mandant, PERSONAL.Niederlassung, dt.Rows(0)("Benutzer"), dt.Rows(0)("BelegNr"), dt.Rows(0)("BelegDat")) - - Dim PERSONALTmp As cPersonal = FMZOLL_SQL.getPersonalById(BELEGTmp.Benutzer) - If master_Kasse = False Then - If BELEGTmp.Benutzer <> PERSONAL.ID And Not zahlungsmittel = "EC" Then MsgBox("Der Beleg wurde von einem anderen Beutzer erstellt. " & vbNewLine & " Bitte wenden Sie sich an: '" & PERSONALTmp.Name & "'.") : Exit Sub - End If - Dim grund = InputBox("Möchten Sie den Beleg wirklich storinieren?" & vbNewLine & vbNewLine & "Betrag: " & BELEGTmp.rksv_umsatz & vbNewLine & "Datum: " & BELEGTmp.BelegDat & vbNewLine & vbNewLine & "Bitte geben Sie einen Stornogrund an:" & vbNewLine, "Storno") - If grund = "" Then - MsgBox("Kein Stornotext, Aktion wird abgebrochen") - Exit Sub - End If - - - If BELEGTmp.BelegNr <= 0 Then MsgBox("Fehler beim Laden der Belegdaten") : Exit Sub - - - If Not BELEGTmp.gebuchtStorno Then 'f.cbxStornoErzwingenAdmin.Checked=stono erzwingen - - Dim OLD_rksv_BelegId = BELEGTmp.rksv_BelegId - Dim KASSETmp As New cRKSV_Kasse(BELEGTmp.rksv_id) - - If KASSETmp.rksv_StornoIncreaseBelegCnt Then ' Ob beim Storno eine neue BelegNr vergeben werden soll - Dim RKSV_Beleg_Id = KASSETmp.INCREASE_BELEG_UMSATZ(BELEGTmp.rksv_umsatz) - BELEGTmp.rksv_BelegIdStorno = RKSV_Beleg_Id - End If - - BELEGTmp = cRKSV.STORNO(BELEGTmp, grund, KASSETmp.rksv_firma) 'Beleg storno und Kassenbuch Gegenbuchung - ' BELEGTmp = cRKSV.STORNO(BELEGTmp, "") 'Beleg storno und Kassenbuch Gegenbuchung - - ' Dim summe As Double = 0 - ' For Each p In BELEGTmp.POS - 'summe += p.Betrag - ' Next - ' summe = summe * -1 - ' Dim KASSETmp As New cRKSV_Kasse(BELEGTmp.rksv_id) - - - If KASSETmp IsNot Nothing Then - KASSETmp.INCREASE_ONLY_BELEG_UMSATZ(BELEGTmp.rksv_umsatz * -1) ' Bei Storno wird der Umsatz vermindert! - Dim QRQString As String = "" - Dim LastJWS As String = "" - Dim answer = "" - If KASSETmp.rksv_aktiv Then - - 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, TSEIsOnline) 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!! - 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 - - Select Case BELEGTmp.Beleg_TYP 'dt.Rows(0)("Beleg_TYP") - Case "E" - Dim KBEntry As cKassenbuch = Nothing - Dim KBEntryGB As cKassenbuch = Nothing - If cRKSV.getKB(BELEGTmp, PERSONALTmp, KBEntry, KBEntryGB, KASSETmp.rksv_firma) Then - cRKSV.printFremdBeleg(BELEGTmp, KASSETmp, PERSONALTmp, KBEntry, KBEntryGB, "") 'Beleg drucken - End If - Case "L" - cRKSV.printKundenBelegLG(BELEGTmp, KASSETmp, PERSONALTmp, "", "LG") 'Beleg drucken - Case "A" - cRKSV.printKundenBelegLG(BELEGTmp, KASSETmp, PERSONALTmp, "", "A") 'Beleg drucken - Case Else - cRKSV.printKundenBeleg(BELEGTmp, KASSETmp, PERSONALTmp, "", False) 'Beleg drucken - End Select - MsgBox("Beleg storniert!") - 'Dim frmBeleg As New frmBelegNeu(PERSONAL, PERSONAL.Mandant, PERSONAL.Niederlassung, dt.Rows(0)("Benutzer"), dt.Rows(0)("BelegNr"), dt.Rows(0)("BelegDat")) - ' frmBeleg.ShowDialog(Me) - ' init() If Not BELEGTmp.gebuchtStorno Then - Else - MsgBox("Beleg wurde bereits storniert!") - End If - init() - Else - MsgBox("Keine Daten gefunden!") - End If - init() - Else - MsgBox("Keine Daten gefunden!") - End If - - End Sub - - Private Sub Button7_Click(sender As Object, e As EventArgs) Handles btnBelegLeihgeld.Click - If KennwortOK() Then - Try - Dim frmNacherfassungLeihgeld As New frmNacherfassungLeihgeld(PERSONAL, PERSONAL_LG) - frmNacherfassungLeihgeld.ShowDialog(Me) - Catch ex As Exception - MsgBox(ex.Message) - End Try - init() - End If - End Sub - - Private Async Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click - Label18.ForeColor = Color.Black - If Not IsNumeric(cboKassen._value) Then - Label18.ForeColor = Color.Red - Exit Sub - End If - - - Dim KASSE As New cRKSV_Kasse(cboKassen._value) 'Laden der Kasse anhand der Auswahlbox - - If KASSE.rksv_FT_RestServiceURL <> "" Then - Dim client As New cFiskaltrustClient(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country) - Dim result = Await client.SignNullReceiptAsync(RKSV.rksv_id) - Dim QR_CodeString As String = "" - client.saveRKSV_FT(result, QR_CodeString) - Else - cRKSV.printNULLBeleg(KASSE, PERSONAL, True, KASSE.rksv_firma) - - End If - - ' End If - End Sub - - Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click - Label18.ForeColor = Color.Black - If Not IsNumeric(cboKassen._value) Then - Label18.ForeColor = Color.Red - Exit Sub - End If - Dim KASSE As New cRKSV_Kasse(cboKassen._value) 'Laden der Kasse anhand der Auswahlbox - cRKSV.printAESKey(KASSE, "") 'Beleg drucken - - End Sub - - Private Sub Button6_Click_1(sender As Object, e As EventArgs) Handles Button6.Click - master_Kasse = Not master_Kasse - init() - End Sub - - Private Sub Button10_Click(sender As Object, e As EventArgs) Handles btnBelegGSKunde.Click - If KennwortOK() Then - - lblERRKennwort.Visible = False - Dim frmBeleg As New frmBelegNeu(PERSONAL, PERSONAL_LG, "A") - frmBeleg.ShowDialog(Me) - init() - - End If - End Sub - - - Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click - Dim f As New frmKassenbuchPWD(PERSONAL) - If f.ShowDialog() = Windows.Forms.DialogResult.OK Then - Dim frmSecureLoginKassenbuch As New SDL.frmSecureLoginKassenbuch() - frmSecureLoginKassenbuch.openKB = True - frmSecureLoginKassenbuch.ShowDialog(Me.Parent) - Me.Close() - End If - End Sub - - Private Sub Button7_Click_1(sender As Object, e As EventArgs) Handles Button7.Click - Dim reader = InputBox("Bitte ReaderNamen angeben:") - - If reader <> "" Then - Dim serial = cRKSV.getCardSerialInReader(cboKassen._value, reader) - If serial <> "" Then MsgBox(serial) Else MsgBox("Karte nicht gefunden!") - End If - End Sub - - Private Sub Button10_Click_1(sender As Object, e As EventArgs) Handles Button10.Click - - Dim print As New frmPrintLayout - print.Text = "Kassenbuch" - - Dim rpt As New rptKassenbuchLeihgeld2 - - Dim frmVonBis As New frmKasseBerichtVonBis - If frmVonBis.ShowDialog(Me) <> Windows.Forms.DialogResult.OK Then - Exit Sub - End If - Dim von As Date = frmVonBis.datVon.Value.ToShortDateString - Dim bis As Date = frmVonBis.datBis.Value.ToShortDateString - - 'Dim von As Date = CDate("01.01.2016") - ' Dim bis As Date = CDate("31.01.2016") - - ' rpt.DataSource = SQL.loadDgvBySql("SELECT MIN(JournalNr)as JournalNr, MAX(BelegDat)as BelegDat,MAX(Buchungsdatum)as Buchungsdatum,MAX(belegNr) as BelegNr, (SELECT top 1 t.Buchungstext FROM [tblKassenbuch] as t WHERE journalnr=t.journalnr) as Buchungstext,(SELECT top 1 t.konto FROM [tblKassenbuch] as t WHERE journalnr=t.journalnr) as Konto, SUM(Soll) as Soll,SUM(haben) as Haben " & - ' "FROM [tblKassenbuch] WHERE CAST(Buchungsdatum as date) BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' And Benutzer=" & PERSONAL.ID & " group by BelegNr", "FMZOLL") 'cProgramFunctions.dgridViewTods(dgvBelegPos) - Dim where = "" - - If frmVonBis.cbxRKSV_only.Checked Then - where = " AND [rksv_id] IS NOT NULL AND [rksv_BelegId] IS NOT NULL AND rksv_aktiv=1 " - - End If - Dim sqlStr = "" - ' sqlStr = sqlStr = "SELECT JournalNr, BelegDat,Buchungstext, Buchungsdatum,BelegNr,rksv_BelegId, Soll, Haben " & - ' "FROM [tblKassenbuch] WHERE tblKassenbuch.Mandant='" & PERSONAL.Mandant & "' and tblKassenbuch.Niederlassung='" & PERSONAL.Niederlassung & "' AND CAST(Buchungsdatum as date) BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' And tblKassenbuch.Benutzer=" & PERSONAL.ID & " And Konto=" & PERSONAL.KassenbuchNr & " " & where & " ORDER BY Buchungsdatum, JournalNr " - - If master_Kasse Then - rpt.lblSachbearbeiter.Text = "ADMIN" - rpt.lblKassenbuchNr.Text = "-" - rpt.lblMandantNiederlassung.Text = "-" - sqlStr = "SELECT JournalNr, tblKassenbuch.BelegDat,Buchungstext, Buchungsdatum,tblKassenbuch.BelegNr,tblKassenbuch.rksv_BelegId, Soll, Haben,tblKassenbuch.Benutzer as Benutzer,tblKassenbuch.Konto as Konto,[LKW Kennzeichen],Fahrer,FrachtführerKundenNr,Frachtführer " & - " FROM [tblKassenbuch] INNER JOIN Personal ON Personal.ID = tblKassenbuch.Benutzer " & - " inner join [tblEABelegnummer] on [tblEABelegnummer].Mandant=tblKassenbuch.Mandant AND [tblEABelegnummer].Niederlassung=tblKassenbuch.Niederlassung AND [tblEABelegnummer].Benutzer=tblKassenbuch.Benutzer AND [tblEABelegnummer].BelegDat=tblKassenbuch.BelegDat AND [tblEABelegnummer].BelegNr=tblKassenbuch.BelegNr " & - " WHERE tblKassenbuch.Benutzer IN (SELECT ID FROM [Personal] WHERE [Standard_RKSV_KasseId]='" & PERSONAL.cRKSV_Kasse.rksv_id & "') AND Personal.[KassenbuchNr]=tblKassenbuch.Konto AND tblKassenbuch.Mandant='" & PERSONAL.Mandant & "' and tblKassenbuch.Niederlassung='" & PERSONAL.Niederlassung & "' AND CAST(Buchungsdatum as date) BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' " & where & " ORDER BY Buchungsdatum, JournalNr " - Else - rpt.lblSachbearbeiter.Text = PERSONAL.Name - rpt.lblKassenbuchNr.Text = PERSONAL.KassenbuchNr - rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung - - sqlStr = "SELECT JournalNr, tblKassenbuch.BelegDat,Buchungstext, Buchungsdatum,tblKassenbuch.BelegNr,tblKassenbuch.rksv_BelegId, Soll, Haben,tblKassenbuch.Benutzer as Benutzer,tblKassenbuch.Konto as Konto ,[LKW Kennzeichen],Fahrer ,FrachtführerKundenNr,Frachtführer " & - " FROM [tblKassenbuch] " & - " inner join [tblEABelegnummer] on [tblEABelegnummer].Mandant=tblKassenbuch.Mandant AND [tblEABelegnummer].Niederlassung=tblKassenbuch.Niederlassung AND [tblEABelegnummer].Benutzer=tblKassenbuch.Benutzer AND [tblEABelegnummer].BelegDat=tblKassenbuch.BelegDat AND [tblEABelegnummer].BelegNr=tblKassenbuch.BelegNr " & - " WHERE tblKassenbuch.Mandant='" & PERSONAL.Mandant & "' and tblKassenbuch.Niederlassung='" & PERSONAL.Niederlassung & "' AND CAST(Buchungsdatum as date) BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' And tblKassenbuch.Benutzer=" & PERSONAL.ID & " And Konto=" & PERSONAL.KassenbuchNr & " " & where & " ORDER BY Buchungsdatum, JournalNr " - End If - - rpt.DataSource = SQL.loadDgvBySql(sqlStr, "FMZOLL") 'cProgramFunctions.dgridViewTods(dgvBelegPos) - - rpt.GroupHeader1.DataField = "Buchungsdatum" 'Gruppierung - - If rpt.DataSource.rows.count = 0 Then - rpt.Dispose() : print.Dispose() - MsgBox("Keine Daten vorhanden!") - Exit Sub - End If - - Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA - Case "IMEX" : rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple : rpt.Label28.Text = "IMEX Customs Service GmbH" - Case "ATILLA" : rpt.picVERAG.Image = My.Resources.Atilla : rpt.Label28.Text = "ATILLA Spedition" - Case Else - End Select - - Dim GESCHAEFTSJAHR = cRKSV.getGJ_FIRMA(von, PERSONAL.cRKSV_Kasse.rksv_firma) ' IIf(von.Month = 1, von.Year - 1, von.Year) - Dim sum = 0 - rpt.lblUeberschrift.Text = "Kassenbuch " & von.ToShortDateString & " bis " & bis.ToShortDateString - rpt.lblGeschaeftsjahr.Text = GESCHAEFTSJAHR - 'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung - - 'Dim cnt As Integer = 0 - rpt.lblDat.Text = Now.ToLongDateString - Dim sumSoll As Double = 0 - Dim sumHaben As Double = 0 - Dim gesSumSoll As Double = 0 - Dim gesSumHaben As Double = 0 - Dim datum = "" - AddHandler rpt.Detail.Format, Sub() - ' Dim dt As DataTable = SQL.loadDgvBySql("SELECT CASE WHEN COUNT(distinct(konto))>1 THEN 'div.' ELSE CONVERT(VARCHAR(4),MAX(konto)) END as Konto, SUM(soll)as Soll, SUM(haben) as Haben FROM [tblKassenbuch] " & - ' " WHERE Konto<>" & PERSONAL.KassenbuchNr & " AND Mandant='" & PERSONAL.Mandant & "' and Niederlassung='" & PERSONAL.Niederlassung & "'and Benutzer=" & PERSONAL.ID & " and Geschäftsjahr=" & GESCHAEFTSJAHR & " and BelegNr='" & rpt.Fields.Item("BelegNr").Value() & "' ", "FMZOLL") - - ' Dim soll = dt.Rows(0)("Soll") - ' Dim haben = dt.Rows(0)("Haben") - 'Dim konto = dt.Rows(0)("Konto") - - rpt.lblLKWKz.Text = If(rpt.Fields.Item("LKW Kennzeichen").Value IsNot DBNull.Value, rpt.Fields.Item("LKW Kennzeichen").Value(), "") - rpt.lblFahrer.Text = If(rpt.Fields.Item("Fahrer").Value IsNot DBNull.Value, rpt.Fields.Item("Fahrer").Value(), "") - - Dim BuDat As Date = CDate(rpt.Fields.Item("Buchungsdatum").Value()).ToShortDateString - rpt.lblBelegDat.Text = BuDat - Dim GESCHAEFTSJAHR_TMP = cRKSV.getGJ_FIRMA(BuDat, PERSONAL.cRKSV_Kasse.rksv_firma) 'IIf(BuDat.Month = 1, BuDat.Year - 1, BuDat.Year) - rpt.lblBelegNr.Text = IIf(rpt.Fields.Item("rksv_BelegId").Value Is DBNull.Value, "(" & rpt.Fields.Item("BelegNr").Value & ")", rpt.Fields.Item("rksv_BelegId").Value()) - rpt.lblBuText.Text = rpt.Fields.Item("Buchungstext").Value() - - rpt.txtKunde.Text = If(CInt(rpt.Fields.Item("FrachtführerKundenNr").Value) > 0, rpt.Fields.Item("FrachtführerKundenNr").Value() & " ", "") & rpt.Fields.Item("Frachtführer").Value() - - ' rpt.lblKonto.Text = SQL.getValueTxtBySql("SELECT CASE WHEN COUNT(distinct(konto))>1 THEN 'div.' ELSE CONVERT(VARCHAR(4),MAX(konto)) END as Konto, SUM(soll)as Soll, SUM(haben) as Haben FROM [tblKassenbuch] " & - ' " WHERE Konto<>" & PERSONAL.KassenbuchNr & " AND Mandant='" & PERSONAL.Mandant & "' and Niederlassung='" & PERSONAL.Niederlassung & "' " & benutzerTMP & " and Geschäftsjahr=" & GESCHAEFTSJAHR & " and BelegNr='" & rpt.Fields.Item("BelegNr").Value() & "' ", "FMZOLL") - rpt.lblKonto.Text = SQL.getValueTxtBySql("SELECT CASE WHEN COUNT(distinct(konto))>1 THEN 'div.' ELSE CONVERT(VARCHAR(4),MAX(konto)) END as Konto, SUM(soll)as Soll, SUM(haben) as Haben FROM [tblKassenbuch] " & - " WHERE Konto<>" & PERSONAL.KassenbuchNr & " AND Mandant='" & PERSONAL.Mandant & "' and Niederlassung='" & PERSONAL.Niederlassung & "' And Benutzer=" & rpt.Fields.Item("Benutzer").Value & " and Geschäftsjahr=" & GESCHAEFTSJAHR_TMP & " and BelegNr='" & rpt.Fields.Item("BelegNr").Value() & "' ", "FMZOLL") - - Dim soll = CDbl(rpt.Fields.Item("Soll").Value()) - Dim haben = CDbl(rpt.Fields.Item("Haben").Value()) - - rpt.lblSoll.Text = IIf(soll <> 0, soll.ToString("C"), "") - rpt.lblHaben.Text = IIf(haben <> 0, haben.ToString("C"), "") - ' rpt.lblSaldo.Text = CDbl(SQL.getValueTxtBySql("SELECT isnull(sum([Soll]-[Haben]),0) AS Saldo FROM tblKassenbuch " & - ' " WHERE Mandant='" & PERSONAL.Mandant & "' and Niederlassung='" & PERSONAL.Niederlassung & "' " & benutzerTMP & " and Geschäftsjahr=" & GESCHAEFTSJAHR & " AND tblKassenbuch.Konto='" & PERSONAL.KassenbuchNr & "' " & - ' " and JournalNr<='" & rpt.Fields.Item("JournalNr").Value() & "' ", "FMZOLL")).ToString("C") - - rpt.lblSaldo.Text = CDbl(SQL.getValueTxtBySql("SELECT isnull(sum([Soll]-[Haben]),0) AS Saldo FROM tblKassenbuch " & - " WHERE Mandant='" & PERSONAL.Mandant & "' and Niederlassung='" & PERSONAL.Niederlassung & "' And Benutzer=" & rpt.Fields.Item("Benutzer").Value & " and Geschäftsjahr=" & GESCHAEFTSJAHR_TMP & " AND tblKassenbuch.Konto='" & rpt.Fields.Item("Konto").Value & "' " & - " and JournalNr<='" & rpt.Fields.Item("JournalNr").Value() & "' ", "FMZOLL")).ToString("C") - sumSoll += CDbl(rpt.Fields.Item("Soll").Value()) - sumHaben += CDbl(rpt.Fields.Item("Haben").Value()) - gesSumSoll += CDbl(rpt.Fields.Item("Soll").Value()) - gesSumHaben += CDbl(rpt.Fields.Item("Haben").Value()) - ' rpt.lblLeistungsNr.Text = rpt.Fields.Item("clmnAnzahl").Value() - ' rpt.lblEinzelpreis.Text = CDbl(rpt.Fields.Item("clmnPreis").Value()).ToString("C") - ' sum += rpt.Fields.Item("clmnBetrag").Value() - datum = CDate(rpt.Fields.Item("Buchungsdatum").Value()).ToShortDateString ' Im Footer wird bereits das nächste Datumgenommen, darum hier befüllt - End Sub - AddHandler rpt.GroupHeader1.Format, Sub() - sumSoll = 0 - sumHaben = 0 - End Sub - AddHandler rpt.GroupFooter1.Format, Sub() - rpt.lblSummeBuchungsDat.Text = "Summe Buchungsdatum " & datum & ":" - rpt.lblSollSumme.Text = sumSoll.ToString("C") - rpt.lblHabenSumme.Text = sumHaben.ToString("C") - ' rpt.lblEinzelpreis.Text = CDbl(rpt.Fields.Item("clmnPreis").Value()).ToString("C") - ' sum += rpt.Fields.Item("clmnBetrag").Value() - End Sub - AddHandler rpt.ReportFooter1.Format, Sub() - rpt.lblSollGesamtSumme.Text = gesSumSoll.ToString("C") - rpt.lblHabenGesamtSumme.Text = gesSumHaben.ToString("C") - End Sub - - print.Viewer.LoadDocument(rpt) - print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous - print.Show() - End Sub - - Private Sub Button11_Click(sender As Object, e As EventArgs) Handles btnPosTerminal.Click - Label18.ForeColor = Color.Black - If Not IsNumeric(cboKassen._value) Then - Label18.ForeColor = Color.Red - Exit Sub - End If - - Dim f As New frmPOSTerminal(cboKassen.Text, cboKassen._value) - f.Show() - - End Sub - - Private Sub Button17_Click(sender As Object, e As EventArgs) Handles Button17.Click - - Dim webAddress As String = "https://wiki.verag.ag/e/de/software/aviso/howtos/Barverkauf" - Process.Start(webAddress) - End Sub - - Private Sub Button11_Click_1(sender As Object, e As EventArgs) Handles Button11.Click - - cm_FT.Items.Clear() - - If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then - 'nur im Testsystem! - If Not cm_FT.Items.ContainsKey("bar") AndAlso isADMIN Then - Dim ids = New ToolStripMenuItem() With {.Text = "Barverkauf", .Name = "bar", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} - AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked - cm_FT.Items.Add(ids) - End If - - If Not cm_FT.Items.ContainsKey("storno") AndAlso isADMIN Then - Dim ids = New ToolStripMenuItem() With {.Text = "Storno", .Name = "storno", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} - AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked - cm_FT.Items.Add(ids) - End If - - End If - - If Not cm_FT.Items.ContainsKey("null") AndAlso isADMIN AndAlso Not OutOfOrderIsCreated Then - Dim plose = New ToolStripMenuItem() With {.Text = "Nullbeleg", .Name = "null", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} - cm_FT.Items.Add(plose) - AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked - End If - - If Not cm_FT.Items.ContainsKey("outoforder") AndAlso isADMIN AndAlso Not OutOfOrderIsCreated Then - Dim plose = New ToolStripMenuItem() With {.Text = "Out Of Order", .Name = "outoforder", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} - cm_FT.Items.Add(plose) - AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked - End If - - If Not cm_FT.Items.ContainsKey("initialstart") AndAlso isADMIN AndAlso Not OutOfOrderIsCreated AndAlso Not InitialStartIsCreated Then - Dim plose = New ToolStripMenuItem() With {.Text = "Initial Start", .Name = "initialstart", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} - cm_FT.Items.Add(plose) - AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked - End If - - If Not cm_FT.Items.ContainsKey("monthly") AndAlso Not monatsabschlussIsSet AndAlso Not OutOfOrderIsCreated Then - Dim rmc = New ToolStripMenuItem() With {.Text = "Monatabschluss", .Name = "monthly", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} - AddHandler rmc.Click, AddressOf mnuItemAuftrauege_Clicked - cm_FT.Items.Add(rmc) - End If - - If Not cm_FT.Items.ContainsKey("daily") AndAlso Not tagesabschlussIsSet AndAlso Not OutOfOrderIsCreated Then - Dim rmc = New ToolStripMenuItem() With {.Text = "Tagesabschluss", .Name = "daily", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} - AddHandler rmc.Click, AddressOf mnuItemAuftrauege_Clicked - cm_FT.Items.Add(rmc) - End If - - If Not cm_FT.Items.ContainsKey("yearly") AndAlso Not jahresabschlussIsSet AndAlso Not OutOfOrderIsCreated Then - Dim uta = New ToolStripMenuItem() With {.Text = "Jahresabschluss", .Name = "yearly", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} - AddHandler uta.Click, AddressOf mnuItemAuftrauege_Clicked - cm_FT.Items.Add(uta) - End If - - If Not cm_FT.Items.ContainsKey("verbindungstest") Then - Dim ids = New ToolStripMenuItem() With {.Text = "Verbindungstest", .Name = "verbindungstest", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} - AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked - cm_FT.Items.Add(ids) - End If - - If Not cm_FT.Items.ContainsKey("version") Then - Dim ids = New ToolStripMenuItem() With {.Text = "Journal - Version", .Name = "version", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} - AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked - cm_FT.Items.Add(ids) - End If - - If Not cm_FT.Items.ContainsKey("signatures") AndAlso isADMIN Then - Dim ids = New ToolStripMenuItem() With {.Text = "Journal - Signaturen", .Name = "signatures", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} - AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked - cm_FT.Items.Add(ids) - End If - - If Not cm_FT.Items.ContainsKey("action") AndAlso isADMIN Then - Dim ids = New ToolStripMenuItem() With {.Text = "Journal - Action", .Name = "action", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} - AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked - cm_FT.Items.Add(ids) - End If - - If Not cm_FT.Items.ContainsKey("queueitem") AndAlso isADMIN Then - Dim ids = New ToolStripMenuItem() With {.Text = "Journal - Queue", .Name = "queueitem", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} - AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked - cm_FT.Items.Add(ids) - End If - - If Not cm_FT.Items.ContainsKey("exportJournal") Then - Dim ids = New ToolStripMenuItem() With {.Text = "Journal - EXPORT", .Name = "exportJournal", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} - AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked - cm_FT.Items.Add(ids) - End If - - - If Not cm_FT.Items.ContainsKey("setMissingSignatures") Then - Dim ids = New ToolStripMenuItem() With {.Text = "fehlende Signaturen nachtragen", .Name = "setMissingSignatures", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} - AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked - cm_FT.Items.Add(ids) - End If - - cm_FT.Show(Cursor.Position) - - End Sub - - - Private Async Function mnuItemAuftrauege_Clicked(sender As Object, e As EventArgs) As Task(Of Object) - - cm_FT.Hide() - Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem) - - If item IsNot Nothing Then - - 'PERSONAL.cRKSV_Kasse.LOAD(cboKassen._value) - - 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 item.Name = "null" Then - - Dim info As String = "Möchten Sie einen 0-Beleg an die TSE schicken?" - - If NULLBelegIsCreated Then - info = "Für die Kasse " & PERSONAL.cRKSV_Kasse.rksv_bez & " wurde bereits ein 0-Beleg erstellt, sind Sie wirklich sicher?" - End If - - If vbYes = MsgBox(info, vbYesNoCancel) Then - - Dim result As String = client_chilkat.SignNullReceipt(PERSONAL.cRKSV_Kasse.rksv_id) - - - If result <> "" Then - - MsgBox(client_chilkat.PrettyPrintJson(result)) - - Dim rksv As New cRKSV_Kasse(PERSONAL.cRKSV_Kasse.rksv_id) - rksv.SET_NULLBELEG() - init() - End If - - End If - - ElseIf item.Name = "setMissingSignatures" Then - - Dim dt As DataTable = SQL.loadDgvBySql("SELECT * FROM [tblEABelegnummer] WHERE [rksv_id]='" & PERSONAL.cRKSV_KasseID & "' AND isnull(FT_MissingSignature,0)=1", "FMZOLL") - - If dt.Rows.Count = 0 Then - MsgBox("Für die Kasse " & PERSONAL.cRKSV_Kasse.rksv_bez & " existieren keine unsignierten Belege!") - Return False - End If - - If vbYes = MsgBox("Möchten die " & dt.Rows.Count & " nicht signierten Belege an die TSE schicken?", vbYesNoCancel) Then - - Dim result As Boolean = False - For Each r As DataRow In dt.Rows - - Dim BELEG = New EABeleg("LOAD", r("Mandant"), r("Niederlassung"), r("Benutzer"), r("BelegNr"), r("BelegDat")) - Dim summeBRUTTO As Double = BELEG.rksv_umsatz - Dim QR_CodeString As String = "" - Dim LastJWS As String = "" - Dim EA As String = "" - Dim kindOfReceiptCase As String = "" - - Select Case BELEG.Beleg_TYP - Case "0" - Continue For 'null Belege nicht senden! - Case "E" 'Eingang/Ausgang - If BELEG.Belegart = "1" Then - EA = "E" - Else - EA = "A" - End If - Case "L" - If BELEG.Belegart = "1" Then - EA = "E" - Else - EA = "A" - End If - - Case Else - If BELEG.Belegart = "1" Then - EA = "E" - Else - EA = "A" - End If - End Select - - kindOfReceiptCase = ReceiptCaseIntern.WIEDERHOLUNG - - result = cRKSV.insertRKSVFiskaltrustAsync(PERSONAL.cRKSV_Kasse, BELEG, BELEG.rksv_BelegId, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), False, QR_CodeString, LastJWS, kindOfReceiptCase, BELEG.FT_ReceiptReference) - - If result Then - BELEG.FT_MissingSignature = False - BELEG.SAVE() - Else - MsgBox("Fehler bei der nachträglichen Signierung von BelegNr: " & BELEG.BelegNr & vbNewLine & "Beleg wurde nicht in der QUEUE gefunden!" & vbNewLine & "Beleg muss erneut an Fiskaltrust gesendet werden!") - BELEG.FT_MissingSignature = False - BELEG.FT_setMissingSignatureFailed = True - BELEG.SAVE() - End If - - Next - - If result Then - init() - End If - - End If - - - - ElseIf item.Name = "tempoutoforder" Then - - - If vbYes = MsgBox("Möchten Sie einen temp. Ausfall an die TSE schicken?" & vbNewLine & "Falls die TSE zwar Online ist, jedoch ein technischer Fehler beim Signieren besteht", vbYesNoCancel) Then - - Dim result As String = client_chilkat.SignOutOfOrderReceipt(PERSONAL.cRKSV_Kasse.rksv_id) - - If result <> "" Then - - MsgBox(client_chilkat.PrettyPrintJson(result)) - - Dim rksv As New cRKSV_Kasse(PERSONAL.cRKSV_Kasse.rksv_id) - rksv.SET_OUTOFORDERBELEG() - init() - End If - - End If - - - - ElseIf item.Name = "outoforder" Then - - - If vbYes = MsgBox("Möchten Sie einen OutOfOrder an die TSE schicken?" & vbNewLine & "Die Queue wird dauerhaft geschlossen und kann NICHT reaktiviert werden!", vbYesNoCancel) Then - - Dim result As String = client_chilkat.SignOutOfOrderReceipt(PERSONAL.cRKSV_Kasse.rksv_id) - - - If result <> "" Then - - MsgBox(client_chilkat.PrettyPrintJson(result)) - - Dim rksv As New cRKSV_Kasse(PERSONAL.cRKSV_Kasse.rksv_id) - rksv.SET_OUTOFORDERBELEG() - init() - End If - - End If - - - ElseIf item.Name = "initialstart" Then - - - If vbYes = MsgBox("Möchten Sie einen Start an die TSE schicken?", vbYesNoCancel) Then - - Dim result As String = client_chilkat.SignInitialOperationReceipt(PERSONAL.cRKSV_Kasse.rksv_id) - - - If result <> "" Then - - MsgBox(client_chilkat.PrettyPrintJson(result)) - - Dim rksv As New cRKSV_Kasse(PERSONAL.cRKSV_Kasse.rksv_id) - rksv.SET_INITIALSTARTBELEG() - init() - End If - - End If - - - - ElseIf item.Name = "verbindungstest" Then - - Dim result As String = client_chilkat.Echo(PERSONAL.cRKSV_Kasse.rksv_bez & " " & PERSONAL.cRKSV_Kasse.rksv_FT_Country & " - ") - - If result <> "" Then - - MsgBox(client_chilkat.PrettyPrintJson(result)) - - End If - - - ElseIf item.Name = "storno" Then - If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM AndAlso isADMIN Then - - If vbYes = MsgBox("Möchten Sie wirklich einen Teststorno durchführen?" & vbNewLine & "NIEMALS auf einer produktiven TSE durchführen!", vbYesNoCancel) Then - - Dim result As String = client_chilkat.ChancelReceipt_test("-1", PERSONAL.cRKSV_Kasse.rksv_id, TSEIsOnline) - - If result <> "" Then - - MsgBox(client_chilkat.PrettyPrintJson(result)) - - End If - - End If - - Else - MsgBox("ACHTUNG, im Produktivsystem nicht möglich!") - End If - - - ElseIf item.Name = "bar" Then - - If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM AndAlso isADMIN Then - - If vbYes = MsgBox("Möchten Sie wirklich einen Testzahlung durchführen?" & vbNewLine & "NIEMALS auf einer produktiven TSE durchführen!", vbYesNoCancel) Then - - Dim result As String = client_chilkat.SignReceipt_test(PERSONAL.cRKSV_Kasse.rksv_id, TSEIsOnline) - - If result <> "" Then - - If vbYes = MsgBox(result & vbNewLine & vbNewLine & "Testdaten in DB speichern?", vbYesNoCancel) Then - Dim QR_CodeString As String = "" - client_chilkat.saveRKSV_FT(result, QR_CodeString, Nothing, False) - End If - Else - Return False - End If - - - If result <> "" Then - - MsgBox(client_chilkat.PrettyPrintJson(result)) - - End If - End If - Else - MsgBox("ACHTUNG, im Produktivsystem nicht möglich!") - - End If - - - - ElseIf item.Name = "monthly" Then - - If Not monatsabschlussIsSet Then - If vbYes = MsgBox("Möchten Sie einen Monatsbeleg an die TSE schicken, anschließend kann in diesem Monat kein Beleg mehr signiert werden!", vbYesNoCancel) Then - - Dim result As String = client_chilkat.SignClosingReceipt(item.Name, PERSONAL.cRKSV_Kasse.rksv_id, item.Name) - - If result <> "" Then - - MsgBox(client_chilkat.PrettyPrintJson(result)) - - SQL.doSQL("UPDATE [tblRKSV_FT] set ftEndOfMonthReceipt = getDate() where Month(ftReceiptMoment) = Month(GETDATE()) and ftEndOfMonthReceipt is null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "' ", "FMZOLL") - - End If - - End If - Else - MsgBox("Für die Kasse " & PERSONAL.cRKSV_Kasse.rksv_bez & " wurde bereits ein Monatsabschluss erstellt!") - End If - - - ElseIf item.Name = "daily" And Not tagesabschlussIsSet Then - 'Nur DE - - If Not tagesabschlussIsSet Then - - If vbYes = MsgBox("Möchten Sie einen Tagesabschluss durchführen, anschließend kann heute kein Beleg mehr signiert werden!", vbYesNoCancel) Then - If PERSONAL.cRKSV_Kasse.rksv_FT_Country = "DE" Then - Dim result As String = client_chilkat.SignClosingReceipt(item.Name, PERSONAL.cRKSV_Kasse.rksv_id, item.Name) - - If result <> "" Then - - MsgBox(client_chilkat.PrettyPrintJson(result)) - - SQL.doSQL("UPDATE [tblRKSV_FT] set ftEndOfDayReceipt = getDate() where Day(ftReceiptMoment) = Day(GETDATE()) and ftEndOfDayReceipt is null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "' ", "FMZOLL") - init() - End If - Else - MsgBox("nicht für AT-Kassen möglich!") - End If - End If - - Else - MsgBox("Für die Kasse " & PERSONAL.cRKSV_Kasse.rksv_bez & " wurde bereits ein Tagesabschluss erstellt!") - - End If - - ElseIf item.Name = "yearly" Then - - If Not jahresabschlussIsSet Then - - If vbYes = MsgBox("Möchten Sie einen Jahresbeleg an die TSE schicken, anschließend kann in diesem Jahr kein Beleg mehr signiert werden!", vbYesNoCancel) Then - - - Dim result As String = client_chilkat.SignClosingReceipt(item.Name, PERSONAL.cRKSV_Kasse.rksv_id, item.Name) - If result <> "" Then - - MsgBox(client_chilkat.PrettyPrintJson(result)) - - SQL.doSQL("UPDATE [tblRKSV_FT] set ftEndOfYearReceipt = getDate() where Year(ftReceiptMoment) = Year(GETDATE()) and ftEndOfYearReceipt is null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "' ", "FMZOLL") - - End If - - End If - Else - MsgBox("Für die Kasse " & PERSONAL.cRKSV_Kasse.rksv_bez & " wurde bereits ein Jahresabschluss erstellt!") - - End If - - - - ElseIf (item.Name = "version" Or item.Name = "action" Or item.Name = "signatures" Or item.Name = "queueitem" Or item.Name = "exportJournal") Then - - Dim result As String = "" - Select Case item.Name - Case "version" : result = client_chilkat.Journal(FtJournalType.VersionInformation) - Case "action" : result = client_chilkat.Journal(FtJournalType.ActionJournal) - Case "signatures" : result = client_chilkat.Journal(FtJournalType.ReceiptJournal) - Case "queueitem" : result = client_chilkat.Journal(FtJournalType.QueueItemJournal) - Case "exportJournal" : result = client_chilkat.Journal(FtJournalType.ReceiptJournal) - End Select - - If result <> "" Then - - MsgBox(client_chilkat.PrettyPrintJson(result)) - - If item.Name = "exportJournal" Then - client_chilkat.exportJournal(result) - End If - - End If - - - - End If - - - End If - - - - End Function - - -End Class \ No newline at end of file