Files
SDL/SDL/Fakturierung/frmRechnungenSuche.vb
2024-10-02 08:59:41 +00:00

886 lines
46 KiB
VB.net

Imports System.Data.SqlClient
Imports DAKOSY_Worker.DEERRE
Imports TAlex.WPF.Helpers
Public Class frmRechnungenSuche
Dim SQL As New SQL
Dim brexitXLS = False
Private Sub btnSuche_Click(sender As Object, e As EventArgs) Handles btnSuche.Click
Me.Cursor = Cursors.WaitCursor
Dim sqlstr As String = ""
Dim TopMax = If(IsNumeric(txtMaxSrch.Text), " TOP " & txtMaxSrch.Text, "")
sqlstr &= "SELECT " & TopMax & " RK_ID,[RechnungsNr],cast([RechnungsDatum] as date) RechnungsDatum, Sammelrechnung, [FilialenNr],[AbfertigungsNr],[UnterNr],cast(Abfertigungsdatum as date) Abfertigungsdatum, isnull(cast(RechnungsKundenNr as nvarchar(10)) + ' ','') + [RechnungsName 1] as [RechnungAn], " &
" /* isnull(cast([AbsenderKundenNr] as nvarchar(10)) + ' ','') + [AbsenderName 1] as Absender,isnull(cast([EmpfängerKundenNr] as nvarchar(10)) + ' ','') + [EmpfängerName 1] as Empfänger,*/ isnull(cast([VermittlerKundenNr] as nvarchar(10)) + ' ','') + [VermittlerName 1] as Vermittler, [LKW Kennzeichen],Sachbearbeiter,[SteuerpflichtigerGesamtbetrag],[SteuerfreierGesamtbetrag] " &
" FROM [Rechnungsausgang] WHERE 1=1 "
With DataGridView
' .DataSource = myTable
' MsgBox(sqlstr & getRechnungsAusgangWhere() & " ORDER BY Rechnungsdatum, RK_ID")
.SET_SQL(sqlstr & getRechnungsAusgangWhere() & " ORDER BY Rechnungsdatum, RK_ID", "FMZOLL", getSpedbuchList)
.LOAD()
If .RowCount = 0 Then Me.Cursor = Cursors.Default : Exit Sub
.RowHeadersVisible = False
.ReadOnly = True
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
' .MultiSelect = False
.Columns("RK_ID").Visible = False
.Columns("RechnungsNr").Width = 70
.Columns("RechnungsNr").HeaderText = "Rechnugs-Nr"
.Columns("RechnungsNr").HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("RechnungsNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("RechnungsDatum").Width = 100
.Columns("RechnungsDatum").HeaderText = "Rg-Dat."
.Columns("RechnungsDatum").HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("RechnungsDatum").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("Sammelrechnung").Width = 45
.Columns("Sammelrechnung").HeaderText = "SR"
.Columns("FilialenNr").Width = 45
.Columns("FilialenNr").HeaderText = "Filiale"
.Columns("FilialenNr").HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("FilialenNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("AbfertigungsNr").Width = 70
.Columns("AbfertigungsNr").HeaderText = "Abf-Nr"
.Columns("AbfertigungsNr").HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("AbfertigungsNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("UnterNr").Width = 45
.Columns("UnterNr").HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("UnterNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("Abfertigungsdatum").Width = 100
.Columns("Abfertigungsdatum").HeaderText = "Abf-Dat."
.Columns("Abfertigungsdatum").HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("Abfertigungsdatum").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("RechnungAn").MinimumWidth = 150
.Columns("RechnungAn").HeaderText = "Rechnung an"
.Columns("RechnungAn").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
'.Columns("Absender").MinimumWidth = 150
'.Columns("Absender").HeaderText = "Absender"
'.Columns("Absender").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("Vermittler").MinimumWidth = 150
.Columns("Vermittler").HeaderText = "Auftraggeber"
.Columns("Vermittler").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
'.Columns("Empfänger").MinimumWidth = 150
'.Columns("Empfänger").HeaderText = "Empfänger"
'.Columns("Empfänger").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("LKW Kennzeichen").Width = 120
.Columns("LKW Kennzeichen").HeaderText = "LKW Kennzeichen"
.Columns("Sachbearbeiter").MinimumWidth = 100
.Columns("Sachbearbeiter").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("SteuerpflichtigerGesamtbetrag").Width = 120
.Columns("SteuerpflichtigerGesamtbetrag").HeaderText = "Betrag (stpfl.)"
.Columns("SteuerpflichtigerGesamtbetrag").DefaultCellStyle.Format = "N2"
.Columns("SteuerfreierGesamtbetrag").Width = 120
.Columns("SteuerfreierGesamtbetrag").HeaderText = "Betrag (stfr.)"
.Columns("SteuerfreierGesamtbetrag").DefaultCellStyle.Format = "N2"
lblErgebnis.Text = "Ergebnisse: " & .RowCount
lblunterschRe.Text = "Anz. untersch. Belege: " & .Rows.Cast(Of DataGridViewRow)().[Select](Function(r) CInt(r.Cells("RechnungsNr").Value)).Distinct().Count()
End With
brexitXLS = False
Me.Cursor = Cursors.Default
End Sub
Function getRechnungsAusgangWhere() As String
Dim sqlstr = ""
If txtAvisiererKdNr.Text <> "" And IsNumeric(txtAvisiererKdNr.Text) Then : sqlstr &= " AND Rechnungsausgang.[AvisiererKundenNr] LIKE @AvisiererKundenNr "
ElseIf kdtxtAvisierer.Text <> "" Then : sqlstr &= " AND Rechnungsausgang.[Avisierer] LIKE @Avisierer " : End If
If txtAbsenderKdnr.Text <> "" And IsNumeric(txtAbsenderKdnr.Text) Then : sqlstr &= " AND Rechnungsausgang.[AbsenderKundenNr] LIKE @AbsenderKundenNr "
ElseIf kdtxtAbsender.Text <> "" Then : sqlstr &= " AND Rechnungsausgang.[AbsenderName 1] LIKE @Absender " : End If
If txtEmpfaengerKdnr.Text <> "" And IsNumeric(txtEmpfaengerKdnr.Text) Then : sqlstr &= " AND Rechnungsausgang.[EmpfängerKundenNr] LIKE @EmpfängerKundenNr "
ElseIf kdtxtEmpfaenger.Text <> "" Then : sqlstr &= " AND Rechnungsausgang.[EmpfängerName 1] LIKE @Empfänger " : End If
If txtAuftraggeberKdnr.Text <> "" And IsNumeric(txtAuftraggeberKdnr.Text) Then : sqlstr &= " AND [VermittlerKundenNr] LIKE @VermittlerKundenNr "
ElseIf kdtxtAuftraggeber.Text <> "" Then : sqlstr &= " AND [VermittlerName 1] LIKE @Vermittler " : End If
If txtRechnungAnKdNr.Text <> "" And IsNumeric(txtRechnungAnKdNr.Text) Then : sqlstr &= " AND [RechnungsKundenNr] LIKE @RechnungsKundenNr "
ElseIf kdtxtRechnungAn.Text <> "" Then : sqlstr &= " AND [RechnungsName 1] LIKE @RechnungAn " : End If
If KdFrachtfuehrerKdnr.Text <> "" And IsNumeric(KdFrachtfuehrerKdnr.Text) Then : sqlstr &= " AND (Select COUNT(*) from Speditionsbuch where Speditionsbuch.FilialenNr=[Rechnungsausgang].FilialenNr and Speditionsbuch.AbfertigungsNr=[Rechnungsausgang].AbfertigungsNr and Speditionsbuch.UnterNr=[Rechnungsausgang].UnterNr and FrachtführerKundenNr like @KdFrachtfuehrerKdNr )>0 "
ElseIf KdFrachtfuehrer.Text <> "" Then : sqlstr &= " AND (Select COUNT(*) from Speditionsbuch where Speditionsbuch.FilialenNr=[Rechnungsausgang].FilialenNr and Speditionsbuch.AbfertigungsNr=[Rechnungsausgang].AbfertigungsNr and Speditionsbuch.UnterNr=[Rechnungsausgang].UnterNr and Frachtführer like @KdFrachtfuehrer )>0 " : End If
If cboDatum._value = "ADat" Then
If txtAbfertDat.Text <> "" Then
If txtAbfertDatBis.Text <> "" Then
sqlstr &= " AND (Rechnungsausgang.[Abfertigungsdatum] BETWEEN @Datum_von AND @Datum_bis ) "
Else
sqlstr &= " AND (Rechnungsausgang.[Abfertigungsdatum] BETWEEN @Datum_von AND @Datum_von ) "
End If
End If
ElseIf cboDatum._value = "RDat" Then
If txtAbfertDat.Text <> "" Then
If txtAbfertDatBis.Text <> "" Then
sqlstr &= " AND (Rechnungsausgang.[RechnungsDatum] BETWEEN @Datum_von AND @Datum_bis ) "
Else
sqlstr &= " AND (Rechnungsausgang.[RechnungsDatum] BETWEEN @Datum_von AND @Datum_von ) "
End If
End If
End If
If txtAbfertigungsnummer.Text <> "" Then
If txtAbfertigungsnummerBis.Text <> "" Then
sqlstr &= " AND (Rechnungsausgang.[AbfertigungsNr] BETWEEN @AbfertigungsNr AND @AbfertigungsNr_bis) "
Else
sqlstr &= " AND Rechnungsausgang.AbfertigungsNr LIKE @AbfertigungsNr "
End If
End If
If txtRechungsNr_von.Text <> "" Then
If txtRechungsNr_bis.Text <> "" Then
sqlstr &= " AND (Rechnungsausgang.[RechnungsNr] BETWEEN @RechnungsNr AND @RechnungsNr_bis) "
Else
sqlstr &= " AND Rechnungsausgang.RechnungsNr LIKE @RechnungsNr "
End If
End If
If txtUnterNr.Text <> "" Then sqlstr &= " AND Rechnungsausgang.[UnterNr] LIKE @UnterNr "
If cboFiliale._value <> "" Then sqlstr &= " AND Rechnungsausgang.[FilialenNr] LIKE @FilialenNr "
If cboFirma._value <> "" Then sqlstr &= " AND Rechnungsausgang.[Firma_ID] = @Firma_ID "
If MyTextBox14.Text <> "" Then sqlstr &= " AND Rechnungsausgang.[LKW Kennzeichen] LIKE @LKW "
If txtSachbearbeiter.Text <> "" Then sqlstr &= " AND Rechnungsausgang.[Sachbearbeiter] = @Sachbearbeiter "
Dim abfertigungsarten = getValues()
If abfertigungsarten <> "" Then sqlstr &= " AND (SELECT TOP 1 Abfertigungsart FROM Speditionsbuch WHERE Speditionsbuch.AbfertigungsNr=Rechnungsausgang.AbfertigungsNr AND Speditionsbuch.FilialenNr=Rechnungsausgang.FilialenNr AND Speditionsbuch.UnterNr=Rechnungsausgang.SpeditionsbuchUnterNr ) IN (" & abfertigungsarten & ") "
Return sqlstr
End Function
Function getSpedbuchList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Avisierer", kdtxtAvisierer.Text.Replace("*", "%")))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisiererKundenNr", txtAvisiererKdNr.Text.Replace("*", "%")))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Absender", kdtxtAbsender.Text.Replace("*", "%")))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderKundenNr", txtAbsenderKdnr.Text.Replace("*", "%")))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Empfänger", kdtxtEmpfaenger.Text.Replace("*", "%")))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerKundenNr", txtEmpfaengerKdnr.Text.Replace("*", "%")))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vermittler", kdtxtAuftraggeber.Text.Replace("*", "%")))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerKundenNr", txtAuftraggeberKdnr.Text.Replace("*", "%")))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungAn", kdtxtRechnungAn.Text.Replace("*", "%")))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsKundenNr", txtRechnungAnKdNr.Text.Replace("*", "%")))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KdFrachtfuehrerKdNr", KdFrachtfuehrerKdnr.Text.Replace("*", "%")))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KdFrachtfuehrer", KdFrachtfuehrer.Text.Replace("*", "%")))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Datum_von", txtAbfertDat.Text & " 00:00:00"))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Datum_bis", txtAbfertDatBis.Text & " 23:59:59"))
If txtAbfertigungsnummerBis.Text <> "" Then
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", txtAbfertigungsnummer.Text.Replace("*", "")))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr_bis", txtAbfertigungsnummerBis.Text.Replace("*", "")))
Else
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", txtAbfertigungsnummer.Text.Replace("*", "%")))
End If
If txtRechungsNr_bis.Text <> "" Then
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsNr", txtRechungsNr_von.Text.Replace("*", "")))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsNr_bis", txtRechungsNr_bis.Text.Replace("*", "")))
Else
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsNr", txtRechungsNr_von.Text.Replace("*", "%")))
End If
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UnterNr", txtUnterNr.Text))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", cboFiliale._value))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_ID", cboFirma._value))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKW", MyTextBox14.Text.Replace("*", "%").ToUpper))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", txtSachbearbeiter.Text))
Return list
End Function
Private Sub frmSpeditionsbuchSuche_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.Height = Screen.FromRectangle(Me.Bounds).WorkingArea.Size.Height
Me.Top = 0
txtAbfertDat.Text = Now.ToShortDateString 'CDate("01." & Now.ToString("MM.yyyy")).AddMonths(-1).txtAbfertDatBisToShortDateString
txtAbfertDatBis.Text = Now.ToShortDateString
btnMonat.Text = MONAT.ToString("MMMM")
btnJahr.Text = JAHR.Year
kdtxtAbsender.initKdBox(Me, txtAbsenderKdnr) ' initKdAbsender()
kdtxtEmpfaenger.initKdBox(Me, txtEmpfaengerKdnr) 'initKdEmpfaenger()
kdtxtAuftraggeber.initKdBox(Me, txtAuftraggeberKdnr) 'initKdAuftraggeber()
kdtxtAvisierer.initKdBox(Me, txtAvisiererKdNr) 'initKdAuftraggeber()
cboFirma.fillWithSQL(" SELECT [Firma_ID],[Firma_Bez] FROM [tblFirma] order by Firma_ID ", True, "FMZOLL", True)
cboBerichtRgAbfArt.fillWithSQL(" SELECT [Abfertigungsart],[Abfertigungsbezeichnung] FROM [Abfertigungsarten] ORDER BY Abfertigungsart ", True, "FMZOLL", True)
' cboSachbearbeiter.fillWithSQL("SELECT ID, Name FROM Personal WHERE [Status]<>'L' ORDER BY Name ", True, "FMZOLL", True)
' cboSachbearbeiter.fillWithSQL("SELECT ID,/*cast(ID as nvarchar(3)) +' ' + Name as*/ Name FROM Personal WHERE [Status]<>'L' ORDER BY Name ", False, "FMZOLL", True)
cboFiliale.fillWithSQL("SELECT FilialenNr, Grenzstelle FROM Filialen WHERE Fil_Status='A' ORDER BY FilialenNr ", True, "FMZOLL", True)
'ComboBox1.fillWithSQL("SELECT [Abfertigungsart],[Abfertigungsbezeichnung] FROM [Abfertigungsarten] ORDER BY Abfertigungsart ", True, "FMZOLL")
MyListBox1.fillWithSQL(" SELECT [Abfertigungsart],[Abfertigungsbezeichnung] FROM [Abfertigungsarten] ORDER BY Abfertigungsart ", , "FMZOLL")
Button4.PerformClick()
Dim FirmaTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then
FirmaTmp = "VERAGIMEX"
End If
Select Case FirmaTmp
Case "IMEX"
cboFiliale.changeItem("5501")
cboFiliale.Enabled = False
Case "UNISPED"
cboFiliale.changeItem("5601")
cboFiliale.Enabled = False
Case "AMBAR"
cboFiliale.changeItem("5701")
cboFiliale.Enabled = False
Case "IMEX"
cboFiliale.changeItem("5501")
cboFiliale.Enabled = False
Case "VERAGIMEX"
' cboFiliale.changeItem("5501")
End Select
cboDatum.Items.Clear()
cboDatum.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Rechnugsdatum", "RDat"))
cboDatum.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Abfertigungsdatum", "ADat"))
cboDatum.changeItem("RDat")
'Label29.Visible = False
'Label30.Visible = False
'If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER IsNot Nothing Then
' If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_standartFiliale > 0 Then
' Dim aktNr = (New cOptionenDAL).getMaxPosNr(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_standartFiliale, Now.Year)
' Label30.Text = "akt. Pos-Nr. (" & VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_standartFiliale & "):"
' Label29.Text = aktNr
' Label29.Visible = True
' Label30.Visible = True
' End If
'End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMIN", Me) Then
' btnQSAufteilung.Visible = True
End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ZOLL_Auswertungen", Me) Then
pnlBerichte.Visible = True
End If
End Sub
Function getValues() As String
Dim s As String = ""
For Each i In MyListBox1.SelectedItems
s += DirectCast(i, VERAG_PROG_ALLGEMEIN.MyListItem).Value & ", "
Next
If s.EndsWith(", ") Then
s = s.Substring(0, s.Length - 2)
End If
Return s
End Function
' Private Sub Button1_Click(sender As Object, e As EventArgs)
' For i = 0 To MyListBox1.Items.Count - 1
' MyListBox1.SetSelected(i, True)
' Next
'End Sub
'
Private Sub Button2_Click(sender As Object, e As EventArgs)
For i = 0 To MyListBox1.Items.Count - 1
MyListBox1.SetSelected(i, False)
Next
End Sub
' Sub initKdAuftraggeber()
' Dim dgvFindKD As New DataGridView
' dgvFindKD.Name = "dgvFindKD"
' Me.Controls.Add(dgvFindKD)
' dgvFindKD.Visible = False
' kdtxtAuftraggeber.dgv = dgvFindKD
' AddHandler kdtxtAuftraggeber.PropertyChanged, Sub()
' txtAuftraggeberKdnr.Text = IIf(kdtxtAuftraggeber.KdNr_value > 0, kdtxtAuftraggeber.KdNr_value, "")
' End Sub
' End Sub
' Sub initKdAbsender()
' Dim dgvFindKD As New DataGridView
' dgvFindKD.Name = "dgvFindKD"
' Me.Controls.Add(dgvFindKD)
' dgvFindKD.Visible = False
' kdtxtAbsender.dgv = dgvFindKD
' kdtxtAbsender.kdNrField = txtAbsenderKdnr
' End Sub
' Sub initKdEmpfaenger()
' Dim dgvFindKD As New DataGridView
' dgvFindKD.Name = "dgvFindKD"
' Me.Controls.Add(dgvFindKD)
' dgvFindKD.Visible = False
' kdtxtEmpfaenger.dgv = dgvFindKD
' kdtxtEmpfaenger.kdNrField = txtEmpfaengerKdnr
' End Sub
' Sub initKdFrachtfuehrer()
' Dim dgvFindKD As New DataGridView
' dgvFindKD.Name = "dgvFindKD"
' Me.Controls.Add(dgvFindKD)
' dgvFindKD.Visible = False
' kdtxtFrachtfuehrer.dgv = dgvFindKD
' kdtxtFrachtfuehrer.kdNrField = txtFrachtfuehrerKdnr
' End Sub
' Sub initKdEndempfaenger()
' Dim dgvFindKD As New DataGridView
' dgvFindKD.Name = "dgvFindKD"
' Me.Controls.Add(dgvFindKD)
' dgvFindKD.Visible = False
' kdtxtEndempfaenger.dgv = dgvFindKD
' kdtxtEndempfaenger.kdNrField = txtEndempfaengerKdnr
' End Sub
Private Sub txtAbfertDat_TextChanged(sender As Object, e As EventArgs) Handles txtAbfertDat.Leave
If sender.Text <> "" AndAlso IsDate(sender.Text) Then
DateTimePicker1.Value = CDate(sender.text)
End If
End Sub
Private Sub txtAbfertDatBis_TextChanged(sender As Object, e As EventArgs) Handles txtAbfertDatBis.Leave
If sender.Text <> "" AndAlso IsDate(sender.Text) Then
DateTimePicker2.Value = CDate(sender.text)
End If
End Sub
Private Sub MyTextBox1_TextChanged(sender As Object, e As EventArgs) Handles txtAbfertigungsnummer.TextChanged
txtAbfertigungsnummerBis.Enabled = sender.text <> ""
End Sub
Private Sub DataGridView_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView.CellMouseClick
If e.Button = Windows.Forms.MouseButtons.Right Then
DataGridView.ClearSelection()
DataGridView.Rows(e.RowIndex).Selected = True
End If
End Sub
Private Sub DataGridView_CellContentClick(sender As Object, e As EventArgs) Handles DataGridView.DoubleClick ', DataGridView.CellContentDoubleClick
If DataGridView.SelectedRows.Count = 0 Then Exit Sub
Dim f As New frmKundenUebersichtZollRgDetails(DataGridView.SelectedRows(0).Cells("RK_ID").Value)
f.ShowDialog()
DataGridView.RELOAD()
' frmNacherfassung.showAll()
End Sub
Private Sub Button1_Click_1(sender As Object, e As EventArgs)
Dim frmNacherfassung As New frmNacherfassungNEU
' frmNacherfassung.cboFiliale.Text = DataGridView.SelectedRows(0).Cells("FilialenNr").Value
' frmNacherfassung.txtUnterNr.Text = DataGridView.SelectedRows(0).Cells("UnterNr").Value
' frmNacherfassung.txtAbfertigungsnummer.Text = DataGridView.SelectedRows(0).Cells("AbfertigungsNr").Value
frmNacherfassung.newEntry = True
' frmNacherfassung.FMZollPersID = VERAG_PROG_ALLGEMEIN.cglobal.AktiverMitarbeiter.mit_FMZollPersID
' frmNacherfassung.initDataBinding()
frmNacherfassung.ShowDialog(Me)
DataGridView.RELOAD()
End Sub
Private Sub EintragLöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EintragLöschenToolStripMenuItem.Click
If DataGridView.SelectedRows.Count > 0 Then
If vbYes = MsgBox("Möchten Sie den Eintrag wirklich löschen?", vbYesNoCancel) Then
Dim r As DataGridViewRow = DataGridView.SelectedRows(0)
SQL.doSQL("DELETE FROM [Speditionsbuch] WHERE [FilialenNr]='" & r.Cells("FilialenNr").Value & "' AND [AbfertigungsNr] ='" & r.Cells("AbfertigungsNr").Value & "' AND [UnterNr]='" & r.Cells("UnterNr").Value & "' ", "FMZOLL")
DataGridView.RELOAD()
End If
End If
End Sub
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
txtAbfertDat._value = CDate(sender.value).ToShortDateString
End Sub
Private Sub DateTimePicker2_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker2.ValueChanged
txtAbfertDatBis._value = CDate(sender.value).ToShortDateString
End Sub
Private Sub btnMonat_Click(sender As Object, e As EventArgs) Handles btnMonat.Click
initBtns("Monat")
End Sub
Dim MONAT As Date = CDate("01." & Now.Month & "." & Now.Year) '.AddMonths(-1)
Dim srcTAG As Date = CDate(Now.ToShortDateString)
Dim JAHR As Date = CDate("01.01." & Now.Year)
Sub initBtns(MonatJahr)
btnMonat.Text = MONAT.ToString("MMMM")
btnJahr.Text = JAHR.Year
Select Case MonatJahr
Case "Monat"
DateTimePicker1.Value = MONAT
DateTimePicker2.Value = MONAT.AddMonths(1).AddDays(-1)
Case "Jahr"
' If cbxGeschaftsjahr.Checked Then
'DateTimePicker1.Value = JAHR.AddMonths(1)
' DateTimePicker2.Value = JAHR.AddYears(1).AddMonths(1).AddDays(-1)
' Else
DateTimePicker1.Value = JAHR
DateTimePicker2.Value = JAHR.AddYears(1).AddDays(-1)
'End If
Case "Tag"
' If cbxGeschaftsjahr.Checked Then
'DateTimePicker1.Value = JAHR.AddMonths(1)
' DateTimePicker2.Value = JAHR.AddYears(1).AddMonths(1).AddDays(-1)
' Else
DateTimePicker1.Value = srcTAG
DateTimePicker2.Value = srcTAG
If srcTAG = Now.ToShortDateString Then
Button5.Text = "Heute"
ElseIf srcTAG = Now.AddDays(-1).ToShortDateString Then
Button5.Text = "Gestern"
ElseIf srcTAG = Now.AddDays(-2).ToShortDateString Then
Button5.Text = "Vorgestern"
Else
Button5.Text = srcTAG.ToString("dd.MM")
End If
'End If
Case ""
DateTimePicker1.Value = ("01." & Now.Month & "." & Now.Year)
DateTimePicker2.Value = Now
End Select
End Sub
Private Sub btnJahr_Click(sender As Object, e As EventArgs) Handles btnJahr.Click
initBtns("Jahr")
End Sub
Private Sub btnBisMonat_Click(sender As Object, e As EventArgs) Handles btnBisMonat.Click
MONAT = MONAT.AddMonths(1)
initBtns("Monat")
End Sub
Private Sub btnVonMonat_Click(sender As Object, e As EventArgs) Handles btnVonMonat.Click
MONAT = MONAT.AddMonths(-1)
initBtns("Monat")
End Sub
Private Sub btnBisJahr_Click(sender As Object, e As EventArgs) Handles btnBisJahr.Click
JAHR = JAHR.AddYears(1)
initBtns("Jahr")
End Sub
Private Sub btnVonJahr_Click(sender As Object, e As EventArgs) Handles btnVonJahr.Click
JAHR = JAHR.AddYears(-1)
initBtns("Jahr")
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
SplitContainer1.Panel2Collapsed = Not SplitContainer1.Panel2Collapsed
If SplitContainer1.Panel2Collapsed Then
' pnlSearch.Height = SplitContainer1.Panel1.Height
SplitContainer.SplitterDistance -= 150
Else
'pnlSearch.Height = SplitContainer1.Height
SplitContainer.SplitterDistance += 150
End If
If Button4.Image Is SDL.My.Resources.Resources.pfeil_unten Then
Button4.Image = SDL.My.Resources.Resources.pfeil_oben
Else
Button4.Image = SDL.My.Resources.Resources.pfeil_unten
End If
End Sub
Private Sub FlatButton7_Click(sender As Object, e As EventArgs) Handles FlatButton7.Click
DataGridView.RELOAD()
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
srcTAG = srcTAG.AddDays(-1)
initBtns("Tag")
End Sub
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
srcTAG = srcTAG.AddDays(1)
initBtns("Tag")
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
initBtns("Tag")
End Sub
Private Sub btnExcel_Click(sender As Object, e As EventArgs) Handles btnExcel.Click
Me.Cursor = Cursors.WaitCursor
'cProgramFunctions.genExcelFromDGV_NEW(DataGridView, False)
If brexitXLS Then
cProgramFunctions.genExcelFromDT_NEW(DataGridView.DataSource, {"J1:J" & (DataGridView.DataSource.Rows.Count + 2), "L1:M" & (DataGridView.DataSource.Rows.Count + 2)},,,, "£")
Else
Dim sqlstr As String = ""
' Dim TopMax = If(IsNumeric(txtMaxSrch.Text), " TOP " & txtMaxSrch.Text, "")
sqlstr &= "SELECT RK_ID,[RechnungsNr],cast([RechnungsDatum] as date) RechnungsDatum, Sammelrechnung, [FilialenNr],[AbfertigungsNr],[UnterNr],cast(Abfertigungsdatum as date) Abfertigungsdatum, isnull(cast(RechnungsKundenNr as nvarchar(10)) + ' ','') + [RechnungsName 1] as [RechnungAn], " &
" isnull(cast([AbsenderKundenNr] as nvarchar(10)) + ' ','') + [AbsenderName 1] as Absender,isnull(cast([EmpfängerKundenNr] as nvarchar(10)) + ' ','') + [EmpfängerName 1] as Empfänger, isnull(cast([VermittlerKundenNr] as nvarchar(10)) + ' ','') + [VermittlerName 1] as Vermittler, [LKW Kennzeichen],Sachbearbeiter,[SteuerpflichtigerGesamtbetrag],[SteuerfreierGesamtbetrag] " &
" FROM [Rechnungsausgang] WHERE 1=1 "
Dim dt = SQL.loadDgvBySql_Param(sqlstr & getRechnungsAusgangWhere() & " ORDER BY Rechnungsdatum, RK_ID", "FMZOLL", , getSpedbuchList)
cProgramFunctions.genExcelFromDT_NEW(dt, {"M1:N" & (DataGridView.DataSource.Rows.Count + 2)})
End If
Me.Cursor = Cursors.Default
'Me.Cursor = Cursors.WaitCursor
''cProgramFunctions.genExcelFromDGV_NEW(DataGridView, False)
'If brexitXLS Then
' cProgramFunctions.genExcelFromDT_NEW(dt, {"J1:J" & (dt.Rows.Count + 2), "L1:M" & (dt.Rows.Count + 2)},,,, "£")
'Else
' cProgramFunctions.genExcelFromDT_NEW(dt, {"M1:N" & (dt.Rows.Count + 2)})
'End If
'Me.Cursor = Cursors.Default
''If brexitXLS Then
'' cProgramFunctions.genExcelFromDT_NEW(DataGridView.DataSource, {"J1:J" & (DataGridView.DataSource.Rows.Count + 2), "L1:M" & (DataGridView.DataSource.Rows.Count + 2)},,,, "£")
''Else
'' cProgramFunctions.genExcelFromDT_NEW(DataGridView.DataSource, {"M1:N" & (DataGridView.DataSource.Rows.Count + 2)})
''End If
''Me.Cursor = Cursors.Default
End Sub
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ZOLL_Auswertungen", Me) Then
Dim sqlstr As String = ""
sqlstr &= " SELECT COUNT(*) as Anzahl,RechnungsKundenNr,[RechnungsName 1] as RechnungAn,isnull(max(RechnungsLandKz),'') as RechnungsLandKz,isnull(max(RechnungsOrt),'') as RechnungsOrt,isnull(max(RechnungsStraße),'') as RechnungsStraße"
sqlstr &= " FROM [Rechnungsausgang] INNER JOIN Speditionsbuch on Speditionsbuch.FilialenNr=Rechnungsausgang.FilialenNr and Speditionsbuch.AbfertigungsNr=Rechnungsausgang.AbfertigungsNr and Speditionsbuch.UnterNr=Rechnungsausgang.UnterNr"
sqlstr &= " WHERE 1=1"
sqlstr &= getRechnungsAusgangWhere().Replace("Rechnungsausgang.[Avisierer", "Speditionsbuch.[Avisierer")
If cboBerichtRgAbfArt._value <> "" Then sqlstr &= " AND Speditionsbuch.Abfertigungsart=" & cboBerichtRgAbfArt._value
sqlstr &= " group by RechnungsKundenNr, [RechnungsName 1]"
sqlstr &= " order by COUNT(*) desc,[RechnungsName 1]"
If cboBerichtRgAbfArt._value <> "" Then
End If
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL", , getSpedbuchList())
'DataGridView.DataSource = dt
Dim print As New frmPrintLayout
print.Text = "Rechnungsempfänger Bericht"
Dim rpt As New rptFaktRechnungAn
rpt.DataSource = dt
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 = "Rechnungsanschrift Bericht " & txtAbfertDat.Text & " bis " & txtAbfertDatBis.Text
rpt.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung
'Dim cnt As Integer = 0
rpt.lblDat.Text = Now.ToLongDateString
Dim sumAnz As Double = 0
For Each r In dt.Rows
If r("Anzahl") Then sumAnz += r("Anzahl")
Next
rpt.lblGesAnzahl.Text = sumAnz
AddHandler rpt.Detail.Format, Sub()
rpt.lblAnzahl.Text = rpt.Fields.Item("Anzahl").Value
rpt.lblKdNr.Text = rpt.Fields.Item("RechnungsKundenNr").Value
rpt.lblRechnungsAn.Text = rpt.Fields.Item("RechnungAn").Value
rpt.lblRechnungsadresse.Text = rpt.Fields.Item("RechnungsOrt").Value
If IsNumeric(rpt.Fields.Item("Anzahl").Value) Then
rpt.lblPercent.Text = CDbl(CDbl(rpt.Fields.Item("Anzahl").Value) / sumAnz).ToString("P1")
Else
rpt.lblPercent.Text = ""
End If
End Sub
print.Viewer.LoadDocument(rpt)
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
print.Show()
End If
End Sub
Private Sub Button9_Click(sender As Object, e As EventArgs)
Dim sqlstr As String = ""
sqlstr &= " SELECT Aviso.[Grenzstelle], COUNT (*) as Anzahl FROM Speditionsbuch INNER JOIN " & VERAG_PROG_ALLGEMEIN.cAllgemein.AVISO_SERVER & ".AVISO.dbo.AVISO on Aviso.avisoid=Speditionsbuch.AvisoID WHERE PersonalnummerQS is not null "
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr & getRechnungsAusgangWhere() &
" GROUP BY Aviso.[Grenzstelle]" &
" ORDER BY Anzahl DESC",
"FMZOLL", , getSpedbuchList())
DataGridView.DataSource = dt
End Sub
Private Sub SplitContainer1_Panel2_Paint(sender As Object, e As PaintEventArgs) Handles SplitContainer1.Panel2.Paint
End Sub
Private Sub MyComboBox6_SelectedIndexChanged(sender As Object, e As EventArgs)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim sqlstr As String = ""
sqlstr &= " SELECT "
sqlstr &= " max(DATENAME(YEAR, (RechnungsDatum))) as jahr,"
sqlstr &= " max(DATENAME(month, (RechnungsDatum))) as monat,"
sqlstr &= " RechnungsDatum = DateAdd(Month, DateDiff(Month, 0, RechnungsDatum), 0)"
sqlstr &= " ,(SELECT COUNT (*) FROM [VERAG].[dbo].[RechnungsausgangPositionen] inner join [VERAG].[dbo].[Rechnungsausgang] ON [RechnungsausgangPositionen].RK_ID=[Rechnungsausgang].RK_ID where LeistungsNr =347 AND RechnungsDatum between MIN(RA.RechnungsDatum) and MAX(RA.RechnungsDatum) ) as Clearing_Anzahl"
sqlstr &= " ,(SELECT sum ([SteuerpflichtigerBetrag]+[SteuerfreierBetrag]) as Betrag FROM [VERAG].[dbo].[RechnungsausgangPositionen] inner join [VERAG].[dbo].[Rechnungsausgang] ON [RechnungsausgangPositionen].RK_ID=[Rechnungsausgang].RK_ID where LeistungsNr =347 AND RechnungsDatum between MIN(RA.RechnungsDatum) and MAX(RA.RechnungsDatum) ) as Clearing_Einnahmen"
sqlstr &= " ,(SELECT COUNT (*) FROM [VERAG].[dbo].[RechnungsausgangPositionen] inner join [VERAG].[dbo].[Rechnungsausgang] ON [RechnungsausgangPositionen].RK_ID=[Rechnungsausgang].RK_ID where LeistungsNr =348 AND RechnungsDatum between MIN(RA.RechnungsDatum) and MAX(RA.RechnungsDatum) ) as Aviso_Anzahl"
sqlstr &= " ,(SELECT sum ([SteuerpflichtigerBetrag]+[SteuerfreierBetrag]) as Betrag FROM [VERAG].[dbo].[RechnungsausgangPositionen] inner join [VERAG].[dbo].[Rechnungsausgang] ON [RechnungsausgangPositionen].RK_ID=[Rechnungsausgang].RK_ID where LeistungsNr =348 AND RechnungsDatum between MIN(RA.RechnungsDatum) and MAX(RA.RechnungsDatum) ) as Aviso_Einnahmen"
sqlstr &= " FROM [VERAG].[dbo].[Rechnungsausgang] as RA "
sqlstr &= " WHERE RechnungsDatum between '" & txtAbfertDat.Text & " 00:00:00" & "' and '" & txtAbfertDatBis.Text & " 23:59:59" & "' "
sqlstr &= " GROUP BY(DATENAME(Year, (RechnungsDatum))), DateAdd(Month, DateDiff(Month, 0, RechnungsDatum), 0)"
sqlstr &= " ORDER BY RechnungsDatum "
'MsgBox(sqlstr)
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL", , getSpedbuchList())
DataGridView.DataSource = dt
End Sub
Private Sub txtRechungsNr_von_TextChanged(sender As Object, e As EventArgs) Handles txtRechungsNr_von.TextChanged
txtRechungsNr_bis.Enabled = (txtRechungsNr_von.Text <> "")
End Sub
Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click
For i = 0 To MyListBox1.Items.Count - 1
MyListBox1.SetSelected(i, True)
Next
End Sub
Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click
For i = 0 To MyListBox1.Items.Count - 1
MyListBox1.SetSelected(i, False)
Next
End Sub
Private Sub EVOLOGToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EVOLOGSammelrechnungAuswählenToolStripMenuItem.Click
If DataGridView.SelectedRows.Count = 0 Then Exit Sub
Dim RG_TMP As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(DataGridView.SelectedRows(0).Cells("RK_ID").Value)
If RG_TMP.Sammelrechnung <> 0 Then
cFakturierung.doSAMMELRechnungDruck_Rechnungsdruck_Sammelrechnungsbericht_ExcelEvolog(RG_TMP.RechnungsNr, RG_TMP.DruckDatumZeit, 3, "", "")
End If
End Sub
Private Sub ZFPASSAUToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ZFFriedrichshafenAGZeitraumAuswählenToolStripMenuItem.Click
Me.Cursor = Cursors.WaitCursor
Try
Dim dt As DataTable = SQL.loadDgvBySql("SELECT CAST(Rechnungsausgang.[FilialenNr] as varchar) + '/' + CAST(Rechnungsausgang.[AbfertigungsNr] as varchar) Abfertigungsnummer
,[RechnungsNr],RechnungsKundenNr
,cast([RechnungsDatum] as date)RechnungsDatum
,[AbsenderName 1]Absender
,(SteuerfreierGesamtbetrag+SteuerpflichtigerGesamtbetrag) Betrag
,Speditionsbuch.BelegNr
,Rechnungsausgang.[FilialenNr],Rechnungsausgang.[AbfertigungsNr] ,Speditionsbuch.Abfertigungsart
FROM [Rechnungsausgang] inner join Speditionsbuch ON Speditionsbuch.FilialenNr=Rechnungsausgang.FilialenNr and Speditionsbuch.AbfertigungsNr=Rechnungsausgang.AbfertigungsNr and Speditionsbuch.UnterNr=Rechnungsausgang.SpeditionsbuchUnterNr
where RechnungsKundenNr IN (714869) and rechnungsdatum BETWEEN '" & txtAbfertDat.Text & "' AND '" & txtAbfertDatBis.Text & "'", "FMZOLL")
Dim Path = ""
If dt IsNot Nothing And dt.Rows.Count > 0 Then
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SR\"
If Not My.Computer.FileSystem.DirectoryExists(sPath) Then
My.Computer.FileSystem.CreateDirectory(sPath)
End If
Dim exclApp As Object 'as Application
Dim Datei As Object 'as WorkBook
Dim Blatt As Object 'Microsoft.Office.Interop.Excel.Worksheet 'As Object 'as Worksheet
exclApp = CreateObject("Excel.Application")
With exclApp
.Visible = False
Try
Path = sPath & "ZF_" & txtAbfertDat.Text & "-" & txtAbfertDatBis.Text & "" & " .xlsx"
While System.IO.File.Exists(Path)
Path = sPath & "ZF_" & txtAbfertDat.Text & "-" & txtAbfertDatBis.Text & "_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx"
End While
My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.RG_ZF, False)
Catch ex As System.Exception
' MsgBox(ex.Message)
MsgBox("ERROR 01: " & ex.Message & vbNewLine & ex.StackTrace)
Me.Cursor = Cursors.Default
Exit Sub
End Try
Datei = .Workbooks.Open(Path) 'Anpassen
Blatt = Datei.Worksheets(1) 'Anpassen
Blatt.Range("G1").Value = txtAbfertDat.Text & "-" & txtAbfertDatBis.Text
Dim cnt = 3
For Each r In dt.Rows
Blatt.Range("A" & cnt).Value = cnt - 2
Blatt.Range("B" & cnt).Value = r("Abfertigungsnummer")
Blatt.Range("C" & cnt).Value = r("RechnungsNr")
Blatt.Range("D" & cnt).Value = r("RechnungsDatum")
Blatt.Range("E" & cnt).Value = r("Absender")
Blatt.Range("F" & cnt).Value = r("Betrag")
Blatt.Range("G" & cnt).Value = r("BelegNr")
'Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung
'If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "") Then
' Blatt.Range("H" & cnt).Value = ZOLLANMELDUNG.Rechnungspreis
' Blatt.Range("I" & cnt).Value = ZOLLANMELDUNG.Handelsrechnung
'End If
cnt += 1
Next
Datei.Save
If False Then
Blatt.PrintOutEx()
Else
'Process.Start(Path)
.Visible = True
End If
End With
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub ToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem1.Click
If DataGridView.SelectedRows.Count = 0 Then Exit Sub
Dim RG_TMP As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(DataGridView.SelectedRows(0).Cells("RK_ID").Value)
If RG_TMP.Sammelrechnung <> 0 Then
cFakturierung.doSAMMELRechnungDruck_Rechnungsdruck_Sammelrechnungsbericht_ExcelTransFerry360(RG_TMP.RechnungsNr, RG_TMP.DruckDatumZeit, 3, "", "")
End If
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If cboFiliale._value = "" Then MsgBox("Filiale auswählen!") : Exit Sub
Dim TopMax = If(IsNumeric(txtMaxSrch.Text), " TOP " & txtMaxSrch.Text, "")
With DataGridView
Dim sqlStr = "SELECT " & TopMax & " [FilialenNr],[AbfertigungsNr]
,cast([Abfertigungsdatum] as date) Abfertigungsdatum
,[RechnungsNr]
,cast([RechnungsDatum] as date) [RechnungsDatum]
,[RechnungsName 1]
,RechnungsLandKz
,RechnungsausgangPositionen.LeistungsNr
, RechnungsausgangPositionen.LeistungsBez,
Preis,Anzahl, RechnungsausgangPositionen.SteuerfreierBetrag,RechnungsausgangPositionen.SteuerpflichtigerBetrag
FROM [VERAG].[dbo].[Rechnungsausgang] inner join RechnungsausgangPositionen on Rechnungsausgang.RK_ID=RechnungsausgangPositionen.RK_ID
inner join Leistungen on Leistungen.LeistungsNr = RechnungsausgangPositionen.LeistungsNr
where /*RechnungsDatum BETWEEN '01.01.2021' and '31.12.2021'*/
FilialenNr=" & cboFiliale._value & "
/*and Rechnungsausgang.SteuerpflichtigerGesamtbetrag<>0*/
/*and Leistungen.Steuerpflichtig=1*/
and (Leistungen.Abfertigungskosten=1 or Leistungen.LeistungsNr IN (656,425))
and RechnungsausgangPositionen.LeistungsNr NOT IN (700,710,750,751,20,60,61)
and Firma_ID=26
"
' MsgBox(sqlStr & getRechnungsAusgangWhere() & " order by [RechnungsDatum],RechnungsNr,RechnungsausgangPositionen.LeistungsNr")
.SET_SQL(sqlStr & getRechnungsAusgangWhere() & " order by [RechnungsDatum],RechnungsNr,RechnungsausgangPositionen.LeistungsNr", "FMZOLL", getSpedbuchList)
.LOAD()
lblErgebnis.Text = "Ergebnisse: " & .RowCount
brexitXLS = True
End With
End Sub
Function getList_RK_ID() As List(Of Integer)
Dim listRgNr As New List(Of Integer)
Dim list As New List(Of Integer)
If DataGridView.SelectedRows.Count > 0 Then
For Each r As DataGridViewRow In DataGridView.SelectedRows
If listRgNr.FindIndex((Function(x) x.ToString = r.Cells("RechnungsNr").Value)) <0 Then
List.Add(r.Cells("RK_ID").Value)
listRgNr.Add(r.Cells("RechnungsNr").Value)
End If
Next
End If
Return list
End Function
Private Sub Button9_Click_1(sender As Object, e As EventArgs) Handles btnPDF.Click
Me.Cursor = Cursors.WaitCursor
Try
For Each RK_ID In getList_RK_ID()
Dim RG_PATH = ""
cFakturierung.doRechnungsDruck_SRorER(RK_ID,, False, 4, RG_PATH,,, True)
Process.Start(RG_PATH)
Next
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub DateiHochladenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DateiHochladenToolStripMenuItem.Click
Me.Cursor = Cursors.WaitCursor
Try
Dim list As New List(Of String)
For Each RK_ID In getList_RK_ID()
Dim RG_PATH = ""
cFakturierung.doRechnungsDruck_SRorER(RK_ID,, False, 4, RG_PATH,,, True)
list.Add(RG_PATH)
Next
'Zwischenablage
Clipboard.Clear()
Dim d As New DataObject(DataFormats.FileDrop, list.ToArray)
Clipboard.SetDataObject(d, True)
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub DataGridView_SelectionChanged(sender As Object, e As EventArgs) Handles DataGridView.SelectionChanged
btnPDF.Enabled = (DataGridView.SelectedRows.Count > 0)
End Sub
Private Sub PictureBox5_Click(sender As Object, e As EventArgs) Handles PictureBox5.Click
Dim webAddress As String = "https://wiki.verag.ag/de/abteilungen/verrechnung/xxxx"
Process.Start(webAddress)
End Sub
End Class