Files
SDL/SDL/kassenbuch/frmKassenbuch.vb

1314 lines
82 KiB
VB.net

Imports DocumentFormat.OpenXml.Drawing
Imports SDL.RKSVServer
Public Class frmKassenbuch
Dim SQL As New SQL
Public GESCHAEFTSJAHR As Integer = cRKSV.getGJ(Now) '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
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
Button6.Visible = True
End If
KennwortTime = Now
initDgv() 'nur set
init()
cboKassen.fillWithSQL("SELECT [rksv_id], [rksv_bez] FROM [tblRKSV_Kassen] WHERE ([rksv_aktiv]=1 OR [rksvde_aktiv]=1 or rksv_id=4) ", False, "FMZOLL") ' [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
End Sub
Sub init()
Dim sqlstr = ""
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
' Label9.Text = PERSONAL.Name
DataGridView2.ClearSelection()
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()
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 &
" 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, 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()
.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("Benutzer").Visible = False
If PERSONAL.isLeihgeldkasse Then
.Columns("Fahrer").Visible = False
.Columns("Passnummer").Visible = False
End If
If master_Kasse Then
.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 " &
" 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")
' .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()
.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
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
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 Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
MsgBox("Leider noch nicht verfügbar")
Exit Sub
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!")
Exit Sub
End Select
End Sub
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(Now) <> cRKSV.getGJ(BELEGTmp.BelegDat) Then
MsgBox("Das Geschäftsjahr im Beleg ist '" & cRKSV.getGJ(BELEGTmp.BelegDat) & "', 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 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
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 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
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 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
cRKSV.printNULLBeleg(KASSE, PERSONAL, True, KASSE.rksv_firma)
' 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(von) ' 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(BuDat) '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
End Class