abrechnung, BH, Fakt, Auswertung, etc.

This commit is contained in:
2026-11-03 14:41:10 +01:00
parent 3e841185e4
commit e4db935edc
9 changed files with 643 additions and 508 deletions

View File

@@ -114,7 +114,7 @@ Partial Class frmAbrechnungsMaske
Me.pnl.Dock = System.Windows.Forms.DockStyle.Fill
Me.pnl.Location = New System.Drawing.Point(0, 0)
Me.pnl.Name = "pnl"
Me.pnl.Size = New System.Drawing.Size(1442, 646)
Me.pnl.Size = New System.Drawing.Size(1487, 646)
Me.pnl.TabIndex = 0
'
'SplitContainer
@@ -133,8 +133,8 @@ Partial Class frmAbrechnungsMaske
'SplitContainer.Panel2
'
Me.SplitContainer.Panel2.Controls.Add(Me.UsrCntlFaktAbrechnung1)
Me.SplitContainer.Size = New System.Drawing.Size(1442, 646)
Me.SplitContainer.SplitterDistance = 575
Me.SplitContainer.Size = New System.Drawing.Size(1487, 646)
Me.SplitContainer.SplitterDistance = 620
Me.SplitContainer.TabIndex = 0
'
'tbcntr
@@ -144,7 +144,7 @@ Partial Class frmAbrechnungsMaske
Me.tbcntr.Location = New System.Drawing.Point(0, 187)
Me.tbcntr.Name = "tbcntr"
Me.tbcntr.SelectedIndex = 0
Me.tbcntr.Size = New System.Drawing.Size(575, 459)
Me.tbcntr.Size = New System.Drawing.Size(620, 459)
Me.tbcntr.TabIndex = 3
'
'TabPage1
@@ -156,7 +156,7 @@ Partial Class frmAbrechnungsMaske
Me.TabPage1.Location = New System.Drawing.Point(4, 22)
Me.TabPage1.Name = "TabPage1"
Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage1.Size = New System.Drawing.Size(567, 433)
Me.TabPage1.Size = New System.Drawing.Size(612, 433)
Me.TabPage1.TabIndex = 0
Me.TabPage1.Text = "Rechnungen"
Me.TabPage1.UseVisualStyleBackColor = True
@@ -200,7 +200,7 @@ Partial Class frmAbrechnungsMaske
Me.dgvRechnungen.RowHeadersVisible = False
Me.dgvRechnungen.RowTemplate.Height = 28
Me.dgvRechnungen.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
Me.dgvRechnungen.Size = New System.Drawing.Size(561, 334)
Me.dgvRechnungen.Size = New System.Drawing.Size(606, 334)
Me.dgvRechnungen.TabIndex = 1
'
'Panel2
@@ -231,7 +231,7 @@ Partial Class frmAbrechnungsMaske
Me.Panel2.Location = New System.Drawing.Point(3, 337)
Me.Panel2.Margin = New System.Windows.Forms.Padding(2)
Me.Panel2.Name = "Panel2"
Me.Panel2.Size = New System.Drawing.Size(561, 93)
Me.Panel2.Size = New System.Drawing.Size(606, 93)
Me.Panel2.TabIndex = 0
'
'txtMailanzeigen
@@ -371,7 +371,7 @@ Partial Class frmAbrechnungsMaske
Me.btn.BackgroundImage = Global.SDL.My.Resources.Resources.plus
Me.btn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn.Location = New System.Drawing.Point(505, 10)
Me.btn.Location = New System.Drawing.Point(550, 10)
Me.btn.Name = "btn"
Me.btn.Size = New System.Drawing.Size(53, 36)
Me.btn.TabIndex = 4
@@ -381,7 +381,7 @@ Partial Class frmAbrechnungsMaske
'
Me.Label6.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Label6.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!)
Me.Label6.Location = New System.Drawing.Point(502, 46)
Me.Label6.Location = New System.Drawing.Point(547, 46)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(56, 26)
Me.Label6.TabIndex = 13
@@ -509,7 +509,7 @@ Partial Class frmAbrechnungsMaske
Me.Panel1.Location = New System.Drawing.Point(0, 0)
Me.Panel1.Margin = New System.Windows.Forms.Padding(2)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(575, 187)
Me.Panel1.Size = New System.Drawing.Size(620, 187)
Me.Panel1.TabIndex = 0
'
'txtRechnungsdatumAutomail
@@ -528,7 +528,7 @@ Partial Class frmAbrechnungsMaske
Me.txtRechnungsdatumAutomail._WaehrungZeichen = True
Me.txtRechnungsdatumAutomail.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtRechnungsdatumAutomail.ForeColor = System.Drawing.Color.Black
Me.txtRechnungsdatumAutomail.Location = New System.Drawing.Point(442, 42)
Me.txtRechnungsdatumAutomail.Location = New System.Drawing.Point(485, 42)
Me.txtRechnungsdatumAutomail.MaxLength = 10
Me.txtRechnungsdatumAutomail.MaxLineLength = -1
Me.txtRechnungsdatumAutomail.MaxLines_Warning = ""
@@ -542,7 +542,7 @@ Partial Class frmAbrechnungsMaske
'
Me.dtp_RD_automail.CustomFormat = "''"
Me.dtp_RD_automail.Format = System.Windows.Forms.DateTimePickerFormat.Custom
Me.dtp_RD_automail.Location = New System.Drawing.Point(442, 42)
Me.dtp_RD_automail.Location = New System.Drawing.Point(485, 42)
Me.dtp_RD_automail.Margin = New System.Windows.Forms.Padding(0)
Me.dtp_RD_automail.Name = "dtp_RD_automail"
Me.dtp_RD_automail.RightToLeft = System.Windows.Forms.RightToLeft.No
@@ -560,6 +560,7 @@ Partial Class frmAbrechnungsMaske
Me.KdSearchBox1._displayFullName = False
Me.KdSearchBox1._displayWoelflKd = False
Me.KdSearchBox1._hideIfListEmpty = True
Me.KdSearchBox1._hideMDMKd = False
Me.KdSearchBox1._loadKdData = False
Me.KdSearchBox1._searchName1 = True
Me.KdSearchBox1._UseFIRMA = ""
@@ -581,7 +582,7 @@ Partial Class frmAbrechnungsMaske
'lblRechnungsdatumAUTOMAIL
'
Me.lblRechnungsdatumAUTOMAIL.AutoSize = True
Me.lblRechnungsdatumAUTOMAIL.Location = New System.Drawing.Point(331, 45)
Me.lblRechnungsdatumAUTOMAIL.Location = New System.Drawing.Point(374, 45)
Me.lblRechnungsdatumAUTOMAIL.Name = "lblRechnungsdatumAUTOMAIL"
Me.lblRechnungsdatumAUTOMAIL.Size = New System.Drawing.Size(74, 13)
Me.lblRechnungsdatumAUTOMAIL.TabIndex = 60
@@ -614,7 +615,7 @@ Partial Class frmAbrechnungsMaske
Me.cboRechnungsdruck._value = ""
Me.cboRechnungsdruck.DropDownWidth = 120
Me.cboRechnungsdruck.FormattingEnabled = True
Me.cboRechnungsdruck.Location = New System.Drawing.Point(442, 23)
Me.cboRechnungsdruck.Location = New System.Drawing.Point(485, 23)
Me.cboRechnungsdruck.Margin = New System.Windows.Forms.Padding(2)
Me.cboRechnungsdruck.Name = "cboRechnungsdruck"
Me.cboRechnungsdruck.Size = New System.Drawing.Size(106, 21)
@@ -623,7 +624,7 @@ Partial Class frmAbrechnungsMaske
'Label14
'
Me.Label14.AutoSize = True
Me.Label14.Location = New System.Drawing.Point(329, 26)
Me.Label14.Location = New System.Drawing.Point(372, 26)
Me.Label14.Name = "Label14"
Me.Label14.Size = New System.Drawing.Size(108, 13)
Me.Label14.TabIndex = 52
@@ -634,7 +635,7 @@ Partial Class frmAbrechnungsMaske
Me.cbx.AutoSize = True
Me.cbx.Checked = True
Me.cbx.CheckState = System.Windows.Forms.CheckState.Checked
Me.cbx.Location = New System.Drawing.Point(313, 65)
Me.cbx.Location = New System.Drawing.Point(356, 65)
Me.cbx.Name = "cbx"
Me.cbx.Size = New System.Drawing.Size(139, 17)
Me.cbx.TabIndex = 34
@@ -647,7 +648,7 @@ Partial Class frmAbrechnungsMaske
Me.cboER_SR._allowFreiText = False
Me.cboER_SR._value = ""
Me.cboER_SR.FormattingEnabled = True
Me.cboER_SR.Location = New System.Drawing.Point(442, 3)
Me.cboER_SR.Location = New System.Drawing.Point(485, 3)
Me.cboER_SR.Margin = New System.Windows.Forms.Padding(2)
Me.cboER_SR.Name = "cboER_SR"
Me.cboER_SR.Size = New System.Drawing.Size(106, 21)
@@ -656,7 +657,7 @@ Partial Class frmAbrechnungsMaske
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Location = New System.Drawing.Point(329, 6)
Me.Label5.Location = New System.Drawing.Point(372, 6)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(103, 13)
Me.Label5.TabIndex = 32
@@ -730,7 +731,7 @@ Partial Class frmAbrechnungsMaske
Me.MyPanel1.Dock = System.Windows.Forms.DockStyle.Bottom
Me.MyPanel1.Location = New System.Drawing.Point(0, 100)
Me.MyPanel1.Name = "MyPanel1"
Me.MyPanel1.Size = New System.Drawing.Size(575, 87)
Me.MyPanel1.Size = New System.Drawing.Size(620, 87)
Me.MyPanel1.TabIndex = 51
Me.MyPanel1.Visible = False
'
@@ -750,7 +751,7 @@ Partial Class frmAbrechnungsMaske
Me.MyTextBox2._WaehrungZeichen = False
Me.MyTextBox2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.MyTextBox2.ForeColor = System.Drawing.Color.Black
Me.MyTextBox2.Location = New System.Drawing.Point(374, 34)
Me.MyTextBox2.Location = New System.Drawing.Point(415, 34)
Me.MyTextBox2.MaxLength = 10
Me.MyTextBox2.MaxLineLength = -1
Me.MyTextBox2.MaxLines_Warning = ""
@@ -776,7 +777,7 @@ Partial Class frmAbrechnungsMaske
Me.MyTextBox3.Enabled = False
Me.MyTextBox3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.MyTextBox3.ForeColor = System.Drawing.Color.Black
Me.MyTextBox3.Location = New System.Drawing.Point(374, 63)
Me.MyTextBox3.Location = New System.Drawing.Point(415, 63)
Me.MyTextBox3.MaxLength = 10
Me.MyTextBox3.MaxLineLength = -1
Me.MyTextBox3.MaxLines_Warning = ""
@@ -788,7 +789,7 @@ Partial Class frmAbrechnungsMaske
'Label9
'
Me.Label9.AutoSize = True
Me.Label9.Location = New System.Drawing.Point(345, 38)
Me.Label9.Location = New System.Drawing.Point(386, 38)
Me.Label9.Name = "Label9"
Me.Label9.Size = New System.Drawing.Size(28, 13)
Me.Label9.TabIndex = 57
@@ -797,7 +798,7 @@ Partial Class frmAbrechnungsMaske
'Label11
'
Me.Label11.AutoSize = True
Me.Label11.Location = New System.Drawing.Point(345, 66)
Me.Label11.Location = New System.Drawing.Point(386, 66)
Me.Label11.Name = "Label11"
Me.Label11.Size = New System.Drawing.Size(23, 13)
Me.Label11.TabIndex = 56
@@ -807,7 +808,7 @@ Partial Class frmAbrechnungsMaske
'
Me.Label8.AutoSize = True
Me.Label8.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label8.Location = New System.Drawing.Point(345, 13)
Me.Label8.Location = New System.Drawing.Point(386, 13)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(114, 13)
Me.Label8.TabIndex = 52
@@ -1048,7 +1049,7 @@ Partial Class frmAbrechnungsMaske
'cbxGutschriftenAnVerag
'
Me.cbxGutschriftenAnVerag.AutoSize = True
Me.cbxGutschriftenAnVerag.Location = New System.Drawing.Point(454, 65)
Me.cbxGutschriftenAnVerag.Location = New System.Drawing.Point(497, 65)
Me.cbxGutschriftenAnVerag.Name = "cbxGutschriftenAnVerag"
Me.cbxGutschriftenAnVerag.Size = New System.Drawing.Size(118, 17)
Me.cbxGutschriftenAnVerag.TabIndex = 54
@@ -1076,7 +1077,7 @@ Partial Class frmAbrechnungsMaske
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1442, 646)
Me.ClientSize = New System.Drawing.Size(1487, 646)
Me.Controls.Add(Me.pnl)
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.KeyPreview = True

View File

@@ -202,7 +202,7 @@ Public Class frmAbrechnungsMaske
Dim sqlstr = ""
If cbxGutschriftenAnVerag.Checked AndAlso cboFirma._value <> "" AndAlso cboFirma._value = "24" Then
sqlstr &= " SELECT Rechnungsausgang.Rechnungsdatum, isnull(R1.RechnungsNr,'-') as ReNr, R1.FilialenNr, R1.AbfertigungsNr, cast(R1.FilialenNr as varchar) + ' ' + cast(R1.AbfertigungsNr as varchar) as PosNr, R1.UnterNr, Firma_ID,R1.Sammelrechnung as Art, [RechnungsName 1] as Rechnungsempfänger, (isnull(SteuerpflichtigerGesamtbetrag,0) + isnull(SteuerfreierGesamtbetrag,0)) as Betrag, RK_ID,RechnungsLandKz,RechnungsKundenNr FROM Rechnungsausgang as R1 INNER JOIN Adressen ON AdressenNr=R1.RechnungsKundenNr inner Join Speditionsbuch on Speditionsbuch.FilialenNr = R1.FilialenNr And Speditionsbuch.AbfertigungsNr = R1.AbfertigungsNr and Speditionsbuch.UnterNr = R1.SpeditionsbuchUnterNr "
sqlstr &= " SELECT Rechnungsausgang.Rechnungsdatum, isnull(R1.RechnungsNr,'-') as ReNr, R1.FilialenNr, R1.AbfertigungsNr, cast(R1.FilialenNr as varchar) + ' ' + cast(R1.AbfertigungsNr as varchar) as PosNr, R1.UnterNr, Firma_ID,R1.Sammelrechnung as Art,RechnungsKundenNr, [RechnungsName 1] as Rechnungsempfänger, (isnull(SteuerpflichtigerGesamtbetrag,0) + isnull(SteuerfreierGesamtbetrag,0)) as Betrag, RK_ID,RechnungsLandKz FROM Rechnungsausgang as R1 INNER JOIN Adressen ON AdressenNr=R1.RechnungsKundenNr inner Join Speditionsbuch on Speditionsbuch.FilialenNr = R1.FilialenNr And Speditionsbuch.AbfertigungsNr = R1.AbfertigungsNr and Speditionsbuch.UnterNr = R1.SpeditionsbuchUnterNr "
sqlstr &= " WHERE 1=1 AND R1.Firma_ID=24 "
sqlstr &= getRGWhere(cboER_SR._value, FilialNrRestriction)
sqlstr &= " and (SELECT COUNT(*) FROM Rechnungsausgang as R2 where"
@@ -213,7 +213,7 @@ Public Class frmAbrechnungsMaske
Else
' sqlstr &= " SELECT FilialenNr, AbfertigungsNr, UnterNr, Firma_ID, Status, Sammelrechnung, Sachbearbeiter, SteuerpflichtigerGesamtbetrag, SteuerfreierGesamtbetrag, RechnungsNr, RechnungsDatum, DruckDatumZeit, Buchungsjahr, RK_ID"
sqlstr &= " SELECT cast(isnull(Automailversand_sent, 0) as bit) as AUTO_sent,Rechnungsausgang.Rechnungsdatum, isnull(Rechnungsausgang.RechnungsNr,'-') as ReNr, FilialenNr, AbfertigungsNr, cast(FilialenNr as varchar) + ' ' + cast(AbfertigungsNr as varchar) as PosNr,UnterNr, Firma_ID,Rechnungsausgang.Sammelrechnung as Art, [RechnungsName 1] as Rechnungsempfänger, (isnull(SteuerpflichtigerGesamtbetrag,0) + isnull(SteuerfreierGesamtbetrag,0)) as Betrag, RK_ID,RechnungsLandKz,RechnungsKundenNr, ReErfZeitstempel"
sqlstr &= " SELECT cast(isnull(Automailversand_sent, 0) as bit) as AUTO_sent,Rechnungsausgang.Rechnungsdatum, isnull(Rechnungsausgang.RechnungsNr,'-') as ReNr, FilialenNr, AbfertigungsNr, cast(FilialenNr as varchar) + ' ' + cast(AbfertigungsNr as varchar) as PosNr,UnterNr, Firma_ID,Rechnungsausgang.Sammelrechnung as Art,RechnungsKundenNr, [RechnungsName 1] as Rechnungsempfänger, (isnull(SteuerpflichtigerGesamtbetrag,0) + isnull(SteuerfreierGesamtbetrag,0)) as Betrag, RK_ID,RechnungsLandKz, ReErfZeitstempel"
sqlstr &= ",(CASE WHEN Rechnungsdruck =0 THEN 'POST' WHEN Rechnungsdruck=1 THEN 'FAX' WHEN Rechnungsdruck=2 THEN 'E-MAIL' WHEN Rechnungsdruck=5 THEN 'MAIL+KOPIE' ELSE '-' END) as Rechnungsdruck, isnull(BelegartenKz, '') as BelegartenKz "
sqlstr &= " FROM Rechnungsausgang INNER JOIN Adressen ON AdressenNr=Rechnungsausgang.RechnungsKundenNr"
sqlstr &= " WHERE 1=1 "
@@ -231,7 +231,13 @@ Public Class frmAbrechnungsMaske
.Columns("AbfertigungsNr").Visible = False
.Columns("Firma_ID").Visible = False
.Columns("RechnungsLandKz").Visible = False
.Columns("RechnungsKundenNr").Visible = False
'.Columns("RechnungsKundenNr").Visible = False
.Columns("RechnungsKundenNr").Visible = True
.Columns("RechnungsKundenNr").Width = 75
.Columns("RechnungsKundenNr").HeaderText = "KdNr"
.Columns("Rechnungsdatum").Visible = False
.Columns("ReErfZeitstempel").Visible = False
.Columns("PosNr").HeaderText = "Pos-Nr."
@@ -277,6 +283,11 @@ Public Class frmAbrechnungsMaske
If cboFirma._value <> "" AndAlso cboFirma._value = "19" Then
.Columns("RechnungsLandKz").HeaderText = "Land"
.Columns("RechnungsLandKz").Width = 50
.Columns("RechnungsLandKz").Visible = True
For Each r In .Rows
If r.Cells("Betrag").Value IsNot DBNull.Value AndAlso IsNumeric(r.Cells("Betrag").Value) Then

View File

@@ -2,6 +2,7 @@
Imports System.Globalization
Imports System.Text
Imports System.Web.UI.WebControls.Expressions
Imports Microsoft.Office.Interop.Excel
Imports QRCoder.PayloadGenerator.SwissQrCode
Imports VERAG_PROG_ALLGEMEIN
@@ -492,7 +493,7 @@ Public Class usrCntlBH
If (dummycount Mod 2) = 0 Then
rpt.Detail.BackColor = Color.FromArgb(240, 240, 240)
Else
rpt.Detail.BackColor = Drawing.Color.White
rpt.Detail.BackColor = System.Drawing.Color.White
End If
End Sub
@@ -622,7 +623,7 @@ Public Class usrCntlBH
If fd.ShowDialog = DialogResult.OK Then
If fd.FileName.ToUpper.EndsWith(".CSV") Then
Dim Lines As String() = My.Computer.FileSystem.ReadAllText(fd.FileName, System.Text.Encoding.Default).split(vbCr)
Dim Lines As String() = My.Computer.FileSystem.ReadAllText(fd.FileName, System.Text.Encoding.Default).Split(vbCr)
Dim LineCount As Integer = Lines.Length
' fd.FileName.EndsWith(".csv")
@@ -697,7 +698,7 @@ Public Class usrCntlBH
cnt += 1
If cnt Mod 10 = 0 Then
Application.DoEvents()
My.Application.DoEvents()
Label30.Text = (cnt) & " / " & LineCount
End If
@@ -967,7 +968,7 @@ Public Class usrCntlBH
MsgBox("In der Zinsberechnung befinden sich " & counter & " Positionen, die bereits abgerechnet wurden!" & vbNewLine & "Diese werden übersprungen bzw. nicht nochmals verrechnet!")
End If
Dim dtTemp As New DataTable
Dim dtTemp As New System.Data.DataTable
dtTemp = dt.Select("Zinsbetrag > 0").CopyToDataTable
@@ -977,7 +978,7 @@ Public Class usrCntlBH
If dtTemp.Columns.Contains("ZZinTage") Then dtTemp.Columns.Remove("ZZinTage")
If dtTemp.Columns.Contains("ReZielZahlungsdatum") Then dtTemp.Columns.Remove("ReZielZahlungsdatum")
Dim dtTemp2 As New DataTable
Dim dtTemp2 As New System.Data.DataTable
dtTemp2.Columns.Add("KDNR", GetType(Int32))
dtTemp2.Columns.Add("Name", GetType(String))
dtTemp2.Columns.Add("Zinsbetrag", GetType(Decimal))
@@ -1175,7 +1176,7 @@ Public Class usrCntlBH
Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True)
RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0
Dim dt As New DataTable
Dim dt As New System.Data.DataTable
cMDMZinsberechnung.GET_NICHTABGERECHNETE_ZB(dt, KdNr)
For Each r In dt.Rows
@@ -1543,7 +1544,7 @@ Public Class usrCntlBH
If txtUID_Monat.Text = "" OrElse txtUID_Monat.Text <> "" AndAlso IsNumeric(txtUID_Monat.Text) AndAlso CInt(txtUID_Monat.Text) > 0 AndAlso CInt(txtUID_Monat.Text) < 13 Then
Dim dt As New DataTable
Dim dt As New System.Data.DataTable
Dim Month As Integer = CInt(txtUID_Monat.Text).ToString("D2")
Dim Year As Integer = CInt(txtUID_Jahr.Text)
@@ -2234,11 +2235,8 @@ Public Class usrCntlBH
Exit Sub
End If
Dim exclApp As Object = Nothing
Dim Datei As Object = Nothing
Dim Blatt As Object = Nothing
Dim dt As New DataTable
Dim dt As New System.Data.DataTable
Dim visibleKdNrCheck As Boolean = False
Dim missingKdNr As Integer = 0
@@ -2261,443 +2259,412 @@ Public Class usrCntlBH
End If
Dim dataRows As New List(Of Dictionary(Of String, String))
Dim requiredHeaders As String()
Select Case TYP
Case "M"
requiredHeaders = {"Belegdat", "Belegnr", "BuchText", "Soll EUR", "Haben EUR", "Gegenkto"}
Case "Q"
requiredHeaders = {"Umsatz-ID", "Datum", "IBAN", "BIC", "Buchungstext", "Währung", "Betrag", "Kontoauszug"}
End Select
Try
exclApp = CreateObject("Excel.Application")
exclApp.DisplayAlerts = False
exclApp.CutCopyMode = False
Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser(fd.FileName, Encoding.Default)
MyReader.TextFieldType = FileIO.FieldType.Delimited
MyReader.SetDelimiters(";")
MyReader.HasFieldsEnclosedInQuotes = True ' <— Important line! (semicolon inside quotes will be ignored)
'Try to open exclusively
Datei = exclApp.Workbooks.Open(Filename:=fd.FileName, ReadOnly:=False, IgnoreReadOnlyRecommended:=True, Notify:=False, Format:=6, Delimiter:=";")
Dim headerMap As New Dictionary(Of String, Integer)(StringComparer.OrdinalIgnoreCase)
Dim startHeaderRow As Integer = 1
Dim counterFile As Integer = 1
Dim currentRow As String()
If Datei.ReadOnly Then
MessageBox.Show("Die Datei wird bereits von einem anderen Benutzer oder einer anderen Excel-Instanz verwendet, bitte Datei vor dem Import schließen!")
Exit Sub
End If
While Not MyReader.EndOfData
currentRow = MyReader.ReadFields()
Blatt = Datei.Worksheets(1)
If counterFile = 1 Then
Dim headerMap As New Dictionary(Of String, Integer)(StringComparer.OrdinalIgnoreCase)
For Each rawHeader In currentRow
Dim countHeader As Integer = 0
If String.IsNullOrWhiteSpace(rawHeader) Then Continue For
Dim startHeaderRow As Integer = If(TYP = "M", 8, 1)
For col As Integer = 1 To Blatt.UsedRange.Columns.Count
Dim rawHeader As String = Convert.ToString(Blatt.Cells(startHeaderRow, col).Value2)
If String.IsNullOrWhiteSpace(rawHeader) Then Continue For
' Trennzeichen erkennen: Semikolon oder Tab
Dim sep As Char = ";"c
If Not rawHeader.Contains(";") AndAlso rawHeader.Contains(ChrW(9)) Then
sep = ChrW(9)
End If
If rawHeader.Contains(sep) Then
' Gesamte Kopfzeile steht in einer Zelle
Dim headers As String() = rawHeader.Split(sep)
For i As Integer = 0 To headers.Length - 1
Dim header As String = headers(i).Replace(ChrW(160), " "c).Trim().TrimEnd("."c).Trim()
If header <> "" AndAlso Not headerMap.ContainsKey(header) Then
headerMap.Add(header, i + 1)
End If
Next
Else
Dim header As String = rawHeader.Replace(ChrW(160), " "c).Trim().TrimEnd("."c).Trim()
If header <> "" AndAlso Not headerMap.ContainsKey(header) Then
headerMap.Add(header, col)
End If
End If
Next
' Pflichtspalten prüfen
Dim requiredHeaders As String()
Select Case TYP
Case "M"
requiredHeaders = {"Belegdat", "Belegnr", "BuchText", "Soll EUR", "Haben EUR", "Gegenkto"}
Case "Q"
requiredHeaders = {"Umsatz-ID", "Datum", "IBAN", "BIC", "Buchungstext", "Währung", "Betrag", "Kontoauszug"}
End Select
For Each h As String In requiredHeaders
If Not headerMap.ContainsKey(h) Then
MsgBox("Pflichtspalte nicht gefunden: " & h & vbNewLine & "Spaltenkopf muss sich an der " & startHeaderRow & " Zeile befinden!")
Exit Sub
End If
Next
If headerMap.ContainsKey("KDNR") Then
visibleKdNrCheck = True
End If
Dim dataRows As New List(Of Dictionary(Of String, String))
Dim lastRow As Integer = Blatt.UsedRange.Row + Blatt.UsedRange.Rows.Count - 1
For row As Integer = startHeaderRow + 1 To lastRow
Dim rawLine As String = Convert.ToString(Blatt.Cells(row, 1).Value2)
' Fall b/c: ganze Zeile in einer Zelle (mit ; oder Tab getrennt)
If Not String.IsNullOrWhiteSpace(rawLine) AndAlso
(rawLine.Contains(";") OrElse rawLine.Contains(ChrW(9))) Then
Dim sep As Char = If(rawLine.Contains(";"), ";"c, ChrW(9))
Dim parts As String() = rawLine.Split(sep)
Dim dict As New Dictionary(Of String, String)(StringComparer.OrdinalIgnoreCase)
For Each kvp In headerMap
Dim idx As Integer = kvp.Value - 1 ' Header-Position ist 1-basiert
dict(kvp.Key) = If(idx < parts.Length, parts(idx).Replace(ChrW(160), " "c).Trim(), "")
Next
dataRows.Add(dict)
' Fall a: Werte stehen in einzelnen Zellen
Else
' Überspringen, falls Zeile komplett leer
Dim rowEmpty As Boolean = True
For Each kvp In headerMap
Dim v As String = Convert.ToString(Blatt.Cells(row, kvp.Value).Value2)
If Not String.IsNullOrWhiteSpace(v) Then
rowEmpty = False
Exit For
End If
Next
If rowEmpty Then Continue For
Dim dict As New Dictionary(Of String, String)(StringComparer.OrdinalIgnoreCase)
For Each kvp In headerMap
Dim v As String = Convert.ToString(Blatt.Cells(row, kvp.Value).Value2)
dict(kvp.Key) = If(v Is Nothing, "", v.Replace(ChrW(160), " "c).Trim())
Next
dataRows.Add(dict)
End If
Next
'Dim letzteZeile As Integer = Blatt.UsedRange.Rows.Count
'For row As Integer = startHeaderRow + 1 To letzteZeile
Dim countMissingFields As Integer = 0
For Each d In dataRows
If TYP = "Q" Then
Dim Umsatz_ID As String = Convert.ToString(d("Umsatz-ID"))
Dim Datum As String = Convert.ToString(d("Datum"))
Dim IBAN As String = Convert.ToString(d("IBAN"))
Dim BIC As String = Convert.ToString(d("BIC"))
Dim Buchungstext As String = Convert.ToString(d("Buchungstext"))
Dim Währung As String = Convert.ToString(d("Währung"))
Dim Kontoauszug As String = Convert.ToString(d("Kontoauszug"))
Dim Betrag As Double = Convert.ToDouble(d("Betrag"))
Dim KundenNrCheck As String = ""
If headerMap.ContainsKey("KDNR") Then
KundenNrCheck = Convert.ToString(d("KDNR"))
End If
If String.IsNullOrWhiteSpace(Umsatz_ID) Then
countMissingFields += 1
Continue For
End If
If IsNumeric(Umsatz_ID) AndAlso IsNumeric(Betrag) AndAlso Not String.IsNullOrWhiteSpace(Kontoauszug) Then
Dim R As DataRow = dt.NewRow
R("Umsatz-ID") = Umsatz_ID
R("Datum") = Datum
R("IBAN") = IBAN
R("BIC") = BIC
R("Buchungstext") = Buchungstext
R("Währung") = Währung
R("Betrag") = Betrag
R("Kontoauszug") = Kontoauszug
Dim BuchungstextOnlyNr As String = System.Text.RegularExpressions.Regex.Replace(Buchungstext, "[^0-9]", "")
Dim KundeNr = CInt(sql.DLookup("bnk_KundenNr", "tblBankverbindungen", "bnk_iban like '%" & BuchungstextOnlyNr & "%' and isnull(bnk_archiv,0) = 0", "FMZOLL", "-1"))
R("KdNr") = KundeNr
If visibleKdNrCheck Then
R("KdNrCheck") = KundenNrCheck
If KundenNrCheck <> "" AndAlso IsNumeric(KundenNrCheck) Then
If CInt(KundenNrCheck) = KundeNr Then
R("KdNrValid") = True
Else
R("KdNrValid") = False
End If
End If
End If
If KundeNr = -1 Then
missingKdNr += 1
End If
'Betrag laut folgendem Schema berechnen:
Betrag = Betrag * -1
Betrag = Betrag + 1
Dim aufgerundet As Double = Math.Ceiling(Betrag / 5) * 5
R("Gebühr") = aufgerundet
dt.Rows.Add(R)
Else
countMissingFields += 1
Continue For
End If
Else
Dim Umsatz_ID As String = Convert.ToString(d("Belegnr"))
Dim Datum As String = Convert.ToString(d("Belegdat"))
Dim Buchungstext As String = Convert.ToString(d("BuchText"))
Dim Währung As String = "EUR"
Dim SollBetrag As String = Convert.ToString(d("Soll EUR"))
Dim HabenBetrag As String = Convert.ToString(d("Haben EUR"))
Dim Betrag As Double = 0
If SollBetrag <> "" AndAlso IsNumeric(SollBetrag) Then
Betrag = CDbl(SollBetrag)
ElseIf HabenBetrag <> "" AndAlso IsNumeric(HabenBetrag) Then
Betrag = CDbl(HabenBetrag)
End If
Dim KundenNrCheck As String = ""
If headerMap.ContainsKey("Gegenkto") Then
KundenNrCheck = Convert.ToString(d("Gegenkto"))
End If
If String.IsNullOrWhiteSpace(Umsatz_ID) Then
Continue For
End If
If IsNumeric(Betrag) AndAlso Not String.IsNullOrWhiteSpace(Buchungstext) AndAlso Not String.IsNullOrWhiteSpace(Datum) AndAlso IsDate(Datum) Then
Dim R As DataRow = dt.NewRow
R("Umsatz-ID") = Umsatz_ID
R("Datum") = Datum
R("Buchungstext") = Buchungstext
R("Währung") = Währung
R("Betrag") = Betrag
R("KdNr") = 0
If visibleKdNrCheck Then
R("KdNrCheck") = KundenNrCheck
If KundenNrCheck <> "" AndAlso IsNumeric(KundenNrCheck) Then
If CInt(KundenNrCheck) = R("KdNr") Then
R("KdNrValid") = True
Else
R("KdNrValid") = False
End If
End If
End If
If R("KdNr") = -1 Then
missingKdNr += 1
End If
'Betrag laut folgendem Schema berechnen:
If Betrag < 0 Then Betrag = Betrag * -1
Betrag = Betrag + 1
Dim aufgerundet As Double = Math.Ceiling(Betrag / 5) * 5
R("Gebühr") = aufgerundet
dt.Rows.Add(R)
Else
countMissingFields += 1
Continue For
End If
End If
Next
If dt.Rows.Count > 0 Then
Dim Warning As String = ""
If countMissingFields > 0 Then
If TYP = "Q" Then
Warning = countMissingFields & " Einträge mit fehlenden Datum/Kontoauszug/Umsatz_ID/Betrag"
Else
Warning = countMissingFields & " Einträge mit fehlenden Betrag/Buchungstext/Datum"
End If
End If
Using frm As New frmAbrechnungHandling(dt, Nothing, "Import " & dt.Rows.Count & " Buchungsdaten " & cbxBankspesentyp.SelectedItem.Text & IIf(missingKdNr > 0, missingKdNr & " Kundenkonten konnten nicht gefunden werden!", ""), Warning)
With frm
.btnPreisliste.Visible = False
.dgvHandling.RowHeadersVisible = False
.Button2.Text = "Importieren"
.cbxDivers.Visible = True
.cbxDivers.Text = "KundenNr aus Excel übernehmen"
If visibleKdNrCheck Then
.cbxDivers.Checked = True
Else
.cbxDivers.Checked = False
.cbxDivers.Enabled = False
End If
End With
frm.ShowDialog()
If frm.DialogResult = DialogResult.OK Then
Dim counter = 0
Dim dateTemp
For Each r As DataGridViewRow In frm.dgvHandling.SelectedRows
Dim Datum = r.Cells("Datum").Value
Dim KdNr = 0
If frm.cbxDivers.Checked AndAlso visibleKdNrCheck Then
If r.Cells("KdNrCheck").Value <> "" AndAlso IsNumeric(r.Cells("KdNrCheck").Value) Then KdNr = CInt(r.Cells("KdNrCheck").Value)
Else
KdNr = r.Cells("KdNr").Value
' Trennzeichen erkennen: Semikolon oder Tab
Dim sep As Char = ";"c
If Not rawHeader.Contains(";") AndAlso rawHeader.Contains(ChrW(9)) Then
sep = ChrW(9)
End If
If rawHeader.Contains(sep) Then
' Gesamte Kopfzeile steht in einer Zelle
Dim headers As String() = rawHeader.Split(sep)
dateTemp = Datum
If KdNr > 0 Then
For i As Integer = 0 To headers.Length - 1
Dim header As String = headers(i).Replace(ChrW(160), " "c).Trim().TrimEnd("."c).Trim()
Dim Bankspesen = New VERAG_PROG_ALLGEMEIN.cMDM_Bankspesen(KdNr, Datum, TYP)
If Not Bankspesen.hasEntry Then
Bankspesen.IBAN = r.Cells("IBAN").Value
Bankspesen.BIC = r.Cells("BIC").Value
Bankspesen.umsatzID = r.Cells("Umsatz-ID").Value
Bankspesen.buchungstext = r.Cells("Buchungstext").Value
Bankspesen.waehrung = r.Cells("Währung").Value
Bankspesen.betrag = r.Cells("Betrag").Value
Bankspesen.gebuehr = r.Cells("Gebühr").Value
Bankspesen.kontoauszug = r.Cells("Kontoauszug").Value
If Bankspesen.SAVE() Then
counter += 1
If header <> "" AndAlso Not headerMap.ContainsKey(header) Then
headerMap.Add(header, i + 1)
End If
Next
Else
Dim header As String = rawHeader.Replace(ChrW(160), " "c).Trim().TrimEnd("."c).Trim()
txtBankspesen.Text = counter & " / " & frm.dgvHandling.SelectedRows.Count
If header <> "" AndAlso Not headerMap.ContainsKey(header) Then
headerMap.Add(header, countHeader)
End If
End If
countHeader += 1
Next
For Each h As String In requiredHeaders
If Not headerMap.ContainsKey(h) Then
MsgBox("Pflichtspalte nicht gefunden: " & h & vbNewLine & "Spaltenkopf muss sich an der " & startHeaderRow & " Zeile befinden!")
Exit Sub
End If
Next
Dim MDMEinarb As New cMDMEinarbeitung("BANK", Now())
MDMEinarb.invoicedate = CDate(dateTemp)
MDMEinarb.import_date = Now()
MDMEinarb.importfilename = fd.FileName
MDMEinarb.ds_count += counter
MDMEinarb.ds_total += frm.dgvHandling.SelectedRows.Count
MDMEinarb.completed = 1
MDMEinarb.completed_date = Now()
MDMEinarb.SAVE()
If headerMap.ContainsKey("KDNR") OrElse headerMap.ContainsKey("Gegenkto") Then
visibleKdNrCheck = True
End If
importiert = True
MsgBox(counter & " von " & dt.Rows.Count & " erfolgreich importiert!")
Else
For Each rawLine As String In currentRow
' Fall b/c: ganze Zeile in einer Zelle (mit ; oder Tab getrennt)
If Not String.IsNullOrWhiteSpace(rawLine) AndAlso (rawLine.Contains(";") OrElse rawLine.Contains(ChrW(9))) Then
Dim sep As Char = If(rawLine.Contains(";"), ";"c, ChrW(9))
Dim parts As String() = rawLine.Split(sep)
Dim dict As New Dictionary(Of String, String)(StringComparer.OrdinalIgnoreCase)
For Each kvp In headerMap
Dim idx As Integer = kvp.Value - 1 ' Header-Position ist 1-basiert
dict(kvp.Key) = If(idx < parts.Length, parts(idx).Replace(ChrW(160), " "c).Trim(), "")
Next
dataRows.Add(dict)
' Fall a: Werte stehen in einzelnen Zellen
Else
' Überspringen, falls Zeile komplett leer
Dim rowEmpty As Boolean = True
For Each kvp In headerMap
Dim v As String = Convert.ToString(rawLine)
If Not String.IsNullOrWhiteSpace(v) Then
rowEmpty = False
Exit For
End If
Next
If rowEmpty Then Continue For
Dim dict As New Dictionary(Of String, String)(StringComparer.OrdinalIgnoreCase)
For Each kvp In headerMap
Dim v As String = Convert.ToString(rawLine)
dict(kvp.Key) = If(v Is Nothing, "", v.Replace(ChrW(160), " "c).Trim())
Next
dataRows.Add(dict)
End If
Next
End If
counterFile += 1
End While
'Dim letzteZeile As Integer = Blatt.UsedRange.Rows.Count
'For row As Integer = startHeaderRow + 1 To letzteZeile
Dim countMissingFields As Integer = 0
For Each d In dataRows
If TYP = "Q" Then
Dim Umsatz_ID As String = Convert.ToString(d("Umsatz-ID"))
Dim Datum As String = Convert.ToString(d("Datum"))
Dim IBAN As String = Convert.ToString(d("IBAN"))
Dim BIC As String = Convert.ToString(d("BIC"))
Dim Buchungstext As String = Convert.ToString(d("Buchungstext"))
Dim Währung As String = Convert.ToString(d("Währung"))
Dim Kontoauszug As String = Convert.ToString(d("Kontoauszug"))
Dim Betrag As Double = Convert.ToDouble(d("Betrag"))
Dim KundenNrCheck As String = ""
If headerMap.ContainsKey("KDNR") Then
KundenNrCheck = Convert.ToString(d("KDNR"))
End If
If String.IsNullOrWhiteSpace(Umsatz_ID) Then
countMissingFields += 1
Continue For
End If
If IsNumeric(Umsatz_ID) AndAlso IsNumeric(Betrag) Then
Dim R As DataRow = dt.NewRow
R("Umsatz-ID") = Umsatz_ID
R("Datum") = Datum
R("IBAN") = IBAN
R("BIC") = BIC
R("Buchungstext") = Buchungstext
R("Währung") = Währung
R("Betrag") = Betrag
R("Kontoauszug") = Kontoauszug
Dim BuchungstextOnlyNr As String = System.Text.RegularExpressions.Regex.Replace(Buchungstext, "[^0-9]", "")
Dim KundeNr = CInt(sql.DLookup("bnk_KundenNr", "tblBankverbindungen", "bnk_iban like '%" & BuchungstextOnlyNr & "%' and isnull(bnk_archiv,0) = 0", "FMZOLL", "-1"))
R("KdNr") = KundeNr
If visibleKdNrCheck Then
R("KdNrCheck") = KundenNrCheck
If KundenNrCheck <> "" AndAlso IsNumeric(KundenNrCheck) Then
If CInt(KundenNrCheck) = KundeNr Then
R("KdNrValid") = True
Else
R("KdNrValid") = False
End If
End If
End If
If KundeNr = -1 Then
missingKdNr += 1
End If
'Betrag laut folgendem Schema berechnen:
Betrag = Betrag * -1
Betrag = Betrag + 1
Dim aufgerundet As Double = Math.Ceiling(Betrag / 5) * 5
R("Gebühr") = aufgerundet
dt.Rows.Add(R)
Else
countMissingFields += 1
Continue For
End If
Else
Dim Umsatz_ID As String = Convert.ToString(d("Belegnr"))
Dim Datum As String = Convert.ToString(d("Belegdat"))
Dim Buchungstext As String = Convert.ToString(d("BuchText"))
Dim Währung As String = "EUR"
Dim SollBetrag As String = Convert.ToString(d("Soll EUR"))
Dim HabenBetrag As String = Convert.ToString(d("Haben EUR"))
Dim Betrag As Double = 0
If SollBetrag <> "" AndAlso IsNumeric(SollBetrag) Then
Betrag = CDbl(SollBetrag)
ElseIf HabenBetrag <> "" AndAlso IsNumeric(HabenBetrag) Then
Betrag = CDbl(HabenBetrag)
End If
Dim KundenNrCheck As String = ""
If headerMap.ContainsKey("Gegenkto") Then
KundenNrCheck = Convert.ToString(d("Gegenkto"))
End If
If String.IsNullOrWhiteSpace(Umsatz_ID) Then
Continue For
End If
If IsNumeric(Betrag) AndAlso Not String.IsNullOrWhiteSpace(Buchungstext) AndAlso Not String.IsNullOrWhiteSpace(Datum) AndAlso IsDate(Datum) Then
Dim R As DataRow = dt.NewRow
R("Umsatz-ID") = Umsatz_ID
R("Datum") = Datum
R("Buchungstext") = Buchungstext
R("Währung") = Währung
R("Betrag") = Betrag
R("KdNr") = 0
If visibleKdNrCheck Then
R("KdNrCheck") = KundenNrCheck
If KundenNrCheck <> "" AndAlso IsNumeric(KundenNrCheck) Then
If CInt(KundenNrCheck) = R("KdNr") Then
R("KdNrValid") = True
Else
R("KdNrValid") = False
End If
End If
End If
If R("KdNr") = -1 Then
missingKdNr += 1
End If
'Betrag laut folgendem Schema berechnen:
If Betrag < 0 Then Betrag = Betrag * -1
Betrag = Betrag + 1
Dim aufgerundet As Double = Math.Ceiling(Betrag / 5) * 5
R("Gebühr") = aufgerundet
dt.Rows.Add(R)
Else
countMissingFields += 1
Continue For
End If
pb_bankspesen.Value = 100
txtBankspesen.Text = frm.dgvHandling.SelectedRows.Count & " / " & frm.dgvHandling.SelectedRows.Count
lblBankspesen.Text = "100.00 %"
End If
Next
End Using
If dt.Rows.Count > 0 Then
Dim Warning As String = ""
If countMissingFields > 0 Then
If TYP = "Q" Then
Warning = countMissingFields & " Einträge mit fehlenden Datum/Umsatz_ID/Betrag"
Else
Warning = countMissingFields & " Einträge mit fehlenden Betrag/Buchungstext/Datum"
End If
End If
Using frm As New frmAbrechnungHandling(dt, Nothing, "Import " & dt.Rows.Count & " Buchungsdaten " & cbxBankspesentyp.SelectedItem.Text & IIf(missingKdNr > 0, missingKdNr & " Kundenkonten konnten nicht gefunden werden!", ""), Warning)
With frm
.btnPreisliste.Visible = False
.dgvHandling.RowHeadersVisible = False
.Button2.Text = "Importieren"
.cbxDivers.Visible = True
.cbxDivers.Text = "KundenNr aus Excel übernehmen"
If visibleKdNrCheck Then
.cbxDivers.Checked = True
Else
.cbxDivers.Checked = False
.cbxDivers.Enabled = False
End If
Else
End With
frm.ShowDialog()
If frm.DialogResult = DialogResult.OK Then
Dim counter = 0
Dim dateTemp
For Each r As DataGridViewRow In frm.dgvHandling.SelectedRows
Dim Datum = r.Cells("Datum").Value
Dim KdNr = 0
If frm.cbxDivers.Checked AndAlso visibleKdNrCheck Then
If r.Cells("KdNrCheck").Value <> "" AndAlso IsNumeric(r.Cells("KdNrCheck").Value) Then KdNr = CInt(r.Cells("KdNrCheck").Value)
Else
KdNr = r.Cells("KdNr").Value
End If
dateTemp = Datum
If KdNr > 0 Then
Dim Bankspesen = New VERAG_PROG_ALLGEMEIN.cMDM_Bankspesen(KdNr, Datum, TYP)
If Not Bankspesen.hasEntry Then
Bankspesen.IBAN = r.Cells("IBAN").Value
Bankspesen.BIC = r.Cells("BIC").Value
Bankspesen.umsatzID = r.Cells("Umsatz-ID").Value
Bankspesen.buchungstext = r.Cells("Buchungstext").Value
Bankspesen.waehrung = r.Cells("Währung").Value
Bankspesen.betrag = r.Cells("Betrag").Value
Bankspesen.gebuehr = r.Cells("Gebühr").Value
Bankspesen.kontoauszug = r.Cells("Kontoauszug").Value
If Bankspesen.SAVE() Then
counter += 1
End If
txtBankspesen.Text = counter & " / " & frm.dgvHandling.SelectedRows.Count
End If
End If
Next
Dim MDMEinarb As New cMDMEinarbeitung("BANK", Now())
MDMEinarb.invoicedate = CDate(dateTemp)
MDMEinarb.import_date = Now()
MDMEinarb.importfilename = fd.FileName
MDMEinarb.ds_count += counter
MDMEinarb.ds_total += frm.dgvHandling.SelectedRows.Count
MDMEinarb.completed = 1
MDMEinarb.completed_date = Now()
MDMEinarb.SAVE()
importiert = True
MsgBox(counter & " von " & dt.Rows.Count & " erfolgreich importiert!")
pb_bankspesen.Value = 100
txtBankspesen.Text = frm.dgvHandling.SelectedRows.Count & " / " & frm.dgvHandling.SelectedRows.Count
lblBankspesen.Text = "100.00 %"
End If
End Using
Else
MsgBox("keine zu importierende Daten vorhanden!")
Exit Sub
End If
Exit Sub
End If
End Using
Finally
If Datei IsNot Nothing Then
Datei.Close(False)
End If
If exclApp IsNot Nothing Then
exclApp.Quit()
End If
If Blatt IsNot Nothing Then
Runtime.InteropServices.Marshal.ReleaseComObject(Blatt)
End If
If Datei IsNot Nothing Then
Runtime.InteropServices.Marshal.ReleaseComObject(Datei)
End If
If exclApp IsNot Nothing Then
Runtime.InteropServices.Marshal.ReleaseComObject(exclApp)
End If
Blatt = Nothing
Datei = Nothing
exclApp = Nothing
GC.Collect()
GC.WaitForPendingFinalizers()
If importiert Then

View File

@@ -931,6 +931,10 @@ Public Class usrcntlKundeBearbeitenFull
txtERROR.Text = "Grund für Abfertigungsverbot angeben!" : Exit Sub
End If
If isVerag360 AndAlso (KUNDE_ERW.kde_BezFIBU Is Nothing OrElse KUNDE_ERW.kde_BezFIBU = "") Then
txtERROR.Text = "FIBU-Kürzel angeben!" : Exit Sub
End If
If ADRESSE.SAVE() Then
If KUNDE.SAVE() Then

View File

@@ -1055,6 +1055,8 @@ Public Class frmMDMDatenverarbetiung
txtPruefsummeBrutto.Text = CDbl(sumBto).ToString("C2")
.ClearSelection()
setLabelTTR("PLOSE")
End With
End Sub
@@ -1108,6 +1110,8 @@ Public Class frmMDMDatenverarbetiung
txtPruefsummeBrutto.Text = CDbl(sumBto).ToString("C2")
.ClearSelection()
setLabelTTR("UTA")
End With
End Sub
@@ -1151,11 +1155,7 @@ Public Class frmMDMDatenverarbetiung
txtPruefsummeBrutto.Text = CDbl(sumGes).ToString("C2")
txtTTRSum.Text = CDbl(sumFee).ToString("C2")
lblTTRSum.Visible = True
txtTTRSum.Visible = True
txtTTRSum._WaehrungZeichen = True
lblTTRSum.Text = "Tr-Kosten"
setLabelTTR("MSE")
.ClearSelection()
@@ -1193,9 +1193,7 @@ Public Class frmMDMDatenverarbetiung
txtPruefsummeNetto.Text = CDbl(sumTr).ToString("C2")
txtPruefsummeBrutto.Text = CDbl(sumGes).ToString("C2")
lblTTRSum.Visible = False
txtTTRSum.Visible = True
txtTTRSum._WaehrungZeichen = True
setLabelTTR("BANK")
.ClearSelection()
@@ -1303,12 +1301,8 @@ Public Class frmMDMDatenverarbetiung
txtPruefsummeBrutto.Text = CDbl(sumGes).ToString("C2")
txtTTRSum.Text = CDbl(sumTr).ToString("C2")
lblTTRSum.Visible = True
txtTTRSum.Visible = True
txtTTRSum._WaehrungZeichen = False
lblTTRSum.Text = "Liter"
setLabelTTR("IDS")
.ClearSelection()
@@ -1361,6 +1355,8 @@ Public Class frmMDMDatenverarbetiung
txtPruefsummeNetto.Text = CDbl(sumNto).ToString("C2")
txtPruefsummeBrutto.Text = CDbl(sumBto).ToString("C2")
setLabelTTR("ASFINAG")
.ClearSelection()
@@ -5487,11 +5483,6 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land
Dim pruefSumTTR = SQL.getValueTxtBySql("select sum(checksumAmounntInclVAT) from [ASFINAG].[dbo].[TTRTrailer] where PKHistory = 0 and [TTRTrailer].PKFileName in (select distinct([TTRBody].PKFileName) as Test from [ASFINAG].[dbo].[TTRBody] where (TTRBody.PKHistory = 0) And (TTRBody.PKFileName Like N'" & checkifTestfiles() & ".%') AND TTRBody.abrechnungsdatum = '" & f.Datum.ToShortDateString & "')", "ASFINAG")
If pruefSumTTR IsNot Nothing AndAlso IsNumeric(pruefSumTTR) Then
txtTTRSum.Text = CDbl(pruefSumTTR).ToString("C2")
lblTTRSum.Visible = True
lblTTRSum.Text = "Prüfsumme TTR:"
txtTTRSum._WaehrungZeichen = True
Else
lblTTRSum.Visible = False
End If
@@ -5897,6 +5888,48 @@ RabattBerechnen:
End If
Return checkDate
End Function
Private Function setLabelTTR(Lieferant As String)
txtTTRSum.Visible = False
lblTTRSum.Visible = False
txtTTRSum._WaehrungZeichen = False
Select Case Lieferant
Case "IDS"
lblTTRSum.Visible = True
txtTTRSum.Visible = True
lblTTRSum.Text = "Liter"
Case "ASFINAG"
txtTTRSum.Visible = True
txtTTRSum._WaehrungZeichen = True
lblTTRSum.Text = "Prüfsumme TTR:"
lblTTRSum.Visible = True
Case "MSE"
lblTTRSum.Visible = True
txtTTRSum.Visible = True
txtTTRSum._WaehrungZeichen = True
lblTTRSum.Text = "Tr-Kosten"
Case "BANK"
txtTTRSum.Visible = True
txtTTRSum._WaehrungZeichen = True
lblTTRSum.Visible = True
lblTTRSum.Text = "Gebühr"
End Select
End Function
Private Function checkFixeTaxeImOffert(Lieferant As String, dt As DataTable) As Boolean

View File

@@ -1,7 +1,6 @@
Imports System.Globalization
Imports System.IO
Imports System.Web.UI.WebControls.Expressions
Imports java.util
Imports VERAG_PROG_ALLGEMEIN
Public Class usrcntlFakturierung
@@ -623,38 +622,59 @@ Public Class usrcntlFakturierung
Dim intZlr As Integer = 0
Dim betrag As Decimal = 0
If Not IsDBNull(r("BetragExclusivFT")) Then
betrag = Math.Abs(CDec(r("BetragExclusivFT")))
End If
Dim anzahlFT As Integer = CInt(r("AnzahlFT"))
If cbxFixeTaxe.Checked AndAlso betrag < 500 Then
' Eine fixe Taxe soll verbleiben
intZlr = Math.Max(0, anzahlFT - 1)
Else
' Alle fixen Taxen löschen
intZlr = anzahlFT
End If
'-----------------------------------------OLD!
'-----------------------------------------OLD!
'-----------------------------------------OLD!
' Bei BetragExclusivFT kleiner als 500€ wird 1x fixe Taxe verrechnet, bei grösser/gleich 500€ oder cbxFixeTaxe nicht gesetzt wird kein fixe Taxe verrechnet.
' Zähler auf die Anzahl der fixe Taxe Löschungen einstellen.
If Not IsDBNull(r("BetragExclusivFT")) AndAlso r("BetragExclusivFT") > 0 Then
'If Not IsDBNull(r("BetragExclusivFT")) AndAlso r("BetragExclusivFT") > 0 Then
If r("BetragExclusivFT") < 500 AndAlso cbxFixeTaxe.Checked Then
intZlr = r("AnzahlFT") - 1
Else
intZlr = r("AnzahlFT")
End If
' If r("BetragExclusivFT") < 500 AndAlso cbxFixeTaxe.Checked Then
' intZlr = r("AnzahlFT") - 1
' Else
' intZlr = r("AnzahlFT")
' End If
Else
'Else
If cbxFixeTaxe.Checked Then
' If cbxFixeTaxe.Checked Then
If (0 - r("BetragExclusivFT")) < 500 Then
intZlr = r("AnzahlFT") - 1
Else
intZlr = r("AnzahlFT") - 1
End If
' If (0 - r("BetragExclusivFT")) < 500 Then
' intZlr = r("AnzahlFT") - 1
' Else
' intZlr = r("AnzahlFT") - 1
' End If
Else
' Else
intZlr = r("AnzahlFT")
' intZlr = r("AnzahlFT")
End If
' End If
End If
'End If
If intZlr > 0 Then
If intZlr > 0 Then
Dim steuersatz As Single = r("Steuersatz %") 'Single same as real-datatype in SQL (wichtig, sonst findet er den wert nicht!!!)
@@ -693,8 +713,6 @@ Public Class usrcntlFakturierung
For Each re In dtRechnungen.Rows
Dim dtREPOSANZ As DataTable = (New SQL).loadDgvBySql("Select [RK_ID], [LeistungsNr], cast([Steuerpflichtig] as bit) as Steuerpflichtig, [LeistungsBez],[IndexZkteing], Anzahl, SteuerpflichtigerBetrag, SteuerfreierBetrag,upsize_ts From RechnungsausgangPositionen Where RechnungsausgangPositionen.RK_ID = " & re("RK_ID") & " And RechnungsausgangPositionen.LeistungsNr = 441", "FMZOLL")
If dtREPOSANZ.Rows.Count > 0 Then

View File

@@ -238,6 +238,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.UsrCntlAuswertungenFiskal_IntrastatMeldung1 = New SDL.usrCntlAuswertungenFiskal_IntrastatMeldung()
Me.UsrCntlAuswertungenFiskalvertretung_42001 = New SDL.usrCntlAuswertungenFiskalvertretung_4200()
Me.TabPage4 = New System.Windows.Forms.TabPage()
Me.PictureBox14 = New System.Windows.Forms.PictureBox()
Me.UsrCntlAuswertungenAufschub_AbgabenKontrolleTRIER1 = New SDL.usrCntlAuswertungenAufschub_AbgabenKontrolleTRIER()
Me.UsrCntlAuswertungenAufschub_Abgabenliste1 = New SDL.usrCntlAuswertungenAufschub_Abgabenliste()
Me.TabPage5 = New System.Windows.Forms.TabPage()
@@ -287,7 +288,8 @@ Partial Class usrCntlZOLLAuswertungen
Me.Label104 = New System.Windows.Forms.Label()
Me.Label97 = New System.Windows.Forms.Label()
Me.pnl = New System.Windows.Forms.Panel()
Me.PictureBox14 = New System.Windows.Forms.PictureBox()
Me.cbxAndereTarifnummern = New System.Windows.Forms.CheckBox()
Me.TextBox1 = New System.Windows.Forms.TextBox()
Me.GroupBox1.SuspendLayout()
Me.grpDurmaz.SuspendLayout()
CType(Me.picDurmaz, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -327,6 +329,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.TabPage2.SuspendLayout()
Me.TabPage3.SuspendLayout()
Me.TabPage4.SuspendLayout()
CType(Me.PictureBox14, System.ComponentModel.ISupportInitialize).BeginInit()
Me.TabPage5.SuspendLayout()
Me.GroupBox9.SuspendLayout()
CType(Me.PictureBox8, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -334,7 +337,6 @@ Partial Class usrCntlZOLLAuswertungen
Me.GroupBox6.SuspendLayout()
Me.GroupBox2.SuspendLayout()
Me.pnl.SuspendLayout()
CType(Me.PictureBox14, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'Label3
@@ -1334,7 +1336,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.tbcntr.Location = New System.Drawing.Point(0, 57)
Me.tbcntr.Name = "tbcntr"
Me.tbcntr.SelectedIndex = 0
Me.tbcntr.Size = New System.Drawing.Size(1007, 1829)
Me.tbcntr.Size = New System.Drawing.Size(990, 1829)
Me.tbcntr.TabIndex = 22
'
'TabPage1
@@ -1377,7 +1379,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.TabPage1.Location = New System.Drawing.Point(4, 22)
Me.TabPage1.Name = "TabPage1"
Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage1.Size = New System.Drawing.Size(999, 1803)
Me.TabPage1.Size = New System.Drawing.Size(982, 1803)
Me.TabPage1.TabIndex = 0
Me.TabPage1.Text = "Bürgschaften"
Me.TabPage1.UseVisualStyleBackColor = True
@@ -2574,7 +2576,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.TabPage2.Location = New System.Drawing.Point(4, 22)
Me.TabPage2.Name = "TabPage2"
Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage2.Size = New System.Drawing.Size(1016, 1803)
Me.TabPage2.Size = New System.Drawing.Size(999, 1803)
Me.TabPage2.TabIndex = 1
Me.TabPage2.Text = "Kunden"
Me.TabPage2.UseVisualStyleBackColor = True
@@ -2604,7 +2606,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.TabPage3.Location = New System.Drawing.Point(4, 22)
Me.TabPage3.Name = "TabPage3"
Me.TabPage3.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage3.Size = New System.Drawing.Size(1016, 1803)
Me.TabPage3.Size = New System.Drawing.Size(999, 1803)
Me.TabPage3.TabIndex = 2
Me.TabPage3.Text = "Fiskalvertretung / EV-Veranlagung"
Me.TabPage3.UseVisualStyleBackColor = True
@@ -2645,6 +2647,16 @@ Partial Class usrCntlZOLLAuswertungen
Me.TabPage4.Text = "Aufschubdaten"
Me.TabPage4.UseVisualStyleBackColor = True
'
'PictureBox14
'
Me.PictureBox14.BackgroundImage = Global.SDL.My.Resources.Resources.fragezeichen
Me.PictureBox14.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.PictureBox14.Location = New System.Drawing.Point(693, 3)
Me.PictureBox14.Name = "PictureBox14"
Me.PictureBox14.Size = New System.Drawing.Size(18, 19)
Me.PictureBox14.TabIndex = 131
Me.PictureBox14.TabStop = False
'
'UsrCntlAuswertungenAufschub_AbgabenKontrolleTRIER1
'
Me.UsrCntlAuswertungenAufschub_AbgabenKontrolleTRIER1.BackColor = System.Drawing.Color.White
@@ -2669,7 +2681,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.TabPage5.Location = New System.Drawing.Point(4, 22)
Me.TabPage5.Name = "TabPage5"
Me.TabPage5.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage5.Size = New System.Drawing.Size(1016, 1803)
Me.TabPage5.Size = New System.Drawing.Size(999, 1803)
Me.TabPage5.TabIndex = 4
Me.TabPage5.Text = "UNISPED"
Me.TabPage5.UseVisualStyleBackColor = True
@@ -2879,13 +2891,15 @@ Partial Class usrCntlZOLLAuswertungen
Me.TabPage6.Controls.Add(Me.Label97)
Me.TabPage6.Location = New System.Drawing.Point(4, 22)
Me.TabPage6.Name = "TabPage6"
Me.TabPage6.Size = New System.Drawing.Size(999, 1803)
Me.TabPage6.Size = New System.Drawing.Size(982, 1803)
Me.TabPage6.TabIndex = 5
Me.TabPage6.Text = "CBAM/Stahlverordnung"
Me.TabPage6.UseVisualStyleBackColor = True
'
'GroupBox6
'
Me.GroupBox6.Controls.Add(Me.TextBox1)
Me.GroupBox6.Controls.Add(Me.cbxAndereTarifnummern)
Me.GroupBox6.Controls.Add(Me.cbxStahlverordnung_SNDdet)
Me.GroupBox6.Controls.Add(Me.Label105)
Me.GroupBox6.Controls.Add(Me.Button26)
@@ -3168,18 +3182,25 @@ Partial Class usrCntlZOLLAuswertungen
Me.pnl.Dock = System.Windows.Forms.DockStyle.Top
Me.pnl.Location = New System.Drawing.Point(0, 0)
Me.pnl.Name = "pnl"
Me.pnl.Size = New System.Drawing.Size(1007, 57)
Me.pnl.Size = New System.Drawing.Size(990, 57)
Me.pnl.TabIndex = 23
'
'PictureBox14
'cbxAndereTarifnummern
'
Me.PictureBox14.BackgroundImage = Global.SDL.My.Resources.Resources.fragezeichen
Me.PictureBox14.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.PictureBox14.Location = New System.Drawing.Point(693, 3)
Me.PictureBox14.Name = "PictureBox14"
Me.PictureBox14.Size = New System.Drawing.Size(18, 19)
Me.PictureBox14.TabIndex = 131
Me.PictureBox14.TabStop = False
Me.cbxAndereTarifnummern.AutoSize = True
Me.cbxAndereTarifnummern.Location = New System.Drawing.Point(165, 81)
Me.cbxAndereTarifnummern.Name = "cbxAndereTarifnummern"
Me.cbxAndereTarifnummern.Size = New System.Drawing.Size(209, 17)
Me.cbxAndereTarifnummern.TabIndex = 43
Me.cbxAndereTarifnummern.Text = "andere Tarifnummern* komma-getrennt"
Me.cbxAndereTarifnummern.UseVisualStyleBackColor = True
'
'TextBox1
'
Me.TextBox1.Location = New System.Drawing.Point(165, 103)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(431, 20)
Me.TextBox1.TabIndex = 44
'
'usrCntlZOLLAuswertungen
'
@@ -3190,7 +3211,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.Controls.Add(Me.tbcntr)
Me.Controls.Add(Me.pnl)
Me.Name = "usrCntlZOLLAuswertungen"
Me.Size = New System.Drawing.Size(1007, 1174)
Me.Size = New System.Drawing.Size(990, 1174)
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox1.PerformLayout()
Me.grpDurmaz.ResumeLayout(False)
@@ -3244,6 +3265,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.TabPage2.ResumeLayout(False)
Me.TabPage3.ResumeLayout(False)
Me.TabPage4.ResumeLayout(False)
CType(Me.PictureBox14, System.ComponentModel.ISupportInitialize).EndInit()
Me.TabPage5.ResumeLayout(False)
Me.TabPage5.PerformLayout()
Me.GroupBox9.ResumeLayout(False)
@@ -3257,7 +3279,6 @@ Partial Class usrCntlZOLLAuswertungen
Me.GroupBox2.PerformLayout()
Me.pnl.ResumeLayout(False)
Me.pnl.PerformLayout()
CType(Me.PictureBox14, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
@@ -3527,4 +3548,6 @@ Partial Class usrCntlZOLLAuswertungen
Friend WithEvents GroupBox2 As GroupBox
Friend WithEvents cbxStahlverordnung_SNDdet As CheckBox
Friend WithEvents PictureBox14 As PictureBox
Friend WithEvents TextBox1 As TextBox
Friend WithEvents cbxAndereTarifnummern As CheckBox
End Class

View File

@@ -1067,10 +1067,11 @@ Public Class usrCntlZOLLAuswertungen
End Sub
Private Function getDAkosySQL(von As Date, bis As Date, mitDetaildatensaetze As Boolean, type As String)
Private Function getDAkosySQL(von As Date, bis As Date, mitDetaildatensaetze As Boolean, type As String, Optional andereTarifnummernList As List(Of String) = Nothing)
Dim sqlWhere = ""
Select Case type
Case "CBAM"
sqlWhere = " /* Eisen & Stahl */
@@ -1101,7 +1102,21 @@ Public Class usrCntlZOLLAuswertungen
Or ezaWP_WarennummerEZT Like '280410%'"
Case Else
sqlWhere = "ezaWP_WarennummerEZT LIKE '72081000%' OR ezaWP_WarennummerEZT LIKE '72082500%' OR
If andereTarifnummernList IsNot Nothing AndAlso andereTarifnummernList.Count > 0 Then
For Each row In andereTarifnummernList
sqlWhere &= "ezaWP_WarennummerEZT LIKE '" & row & "%' OR "
Next
sqlWhere = sqlWhere.ToString.Substring(0, sqlWhere.Length - 3)
Else
sqlWhere = "ezaWP_WarennummerEZT LIKE '72081000%' OR ezaWP_WarennummerEZT LIKE '72082500%' OR
ezaWP_WarennummerEZT LIKE '72082600%' OR ezaWP_WarennummerEZT LIKE '72082700%' OR
ezaWP_WarennummerEZT LIKE '72083600%' OR ezaWP_WarennummerEZT LIKE '72083700%' OR
ezaWP_WarennummerEZT LIKE '72083800%' OR ezaWP_WarennummerEZT LIKE '72083900%' OR
@@ -1141,6 +1156,8 @@ Public Class usrCntlZOLLAuswertungen
OR ezaWP_WarennummerEZT LIKE '73042400%' OR ezaWP_WarennummerEZT LIKE '73042910%' OR ezaWP_WarennummerEZT LIKE '73042930%' OR ezaWP_WarennummerEZT LIKE '73042990%' OR ezaWP_WarennummerEZT LIKE '73043120%' OR ezaWP_WarennummerEZT LIKE '73043180%' OR ezaWP_WarennummerEZT LIKE '73043950%' OR ezaWP_WarennummerEZT LIKE '73043982%' OR ezaWP_WarennummerEZT LIKE '73043983%' OR ezaWP_WarennummerEZT LIKE '73043988%' OR ezaWP_WarennummerEZT LIKE '73044100%' OR ezaWP_WarennummerEZT LIKE '73044983%' OR ezaWP_WarennummerEZT LIKE '73044985%' OR ezaWP_WarennummerEZT LIKE '73045181%' OR ezaWP_WarennummerEZT LIKE '73045189%' OR ezaWP_WarennummerEZT LIKE '73045930%' OR ezaWP_WarennummerEZT LIKE '73045982%' OR ezaWP_WarennummerEZT LIKE '73045983%' OR ezaWP_WarennummerEZT LIKE '73045989%' OR ezaWP_WarennummerEZT LIKE '73049000%' OR ezaWP_WarennummerEZT LIKE '73051100%' OR ezaWP_WarennummerEZT LIKE '73051200%' OR ezaWP_WarennummerEZT LIKE '73051900%' OR ezaWP_WarennummerEZT LIKE '73052000%' OR ezaWP_WarennummerEZT LIKE '73053100%' OR ezaWP_WarennummerEZT LIKE '73053900%' OR ezaWP_WarennummerEZT LIKE '73059000%'
OR ezaWP_WarennummerEZT LIKE '73061100%' OR ezaWP_WarennummerEZT LIKE '73061900%' OR ezaWP_WarennummerEZT LIKE '73062100%' OR ezaWP_WarennummerEZT LIKE '73062900%' OR ezaWP_WarennummerEZT LIKE '73063012%' OR ezaWP_WarennummerEZT LIKE '73063018%' OR ezaWP_WarennummerEZT LIKE '73063041%' OR ezaWP_WarennummerEZT LIKE '73063049%' OR ezaWP_WarennummerEZT LIKE '73063072%' OR ezaWP_WarennummerEZT LIKE '73063077%' OR ezaWP_WarennummerEZT LIKE '73063080%' OR ezaWP_WarennummerEZT LIKE '73064020%' OR ezaWP_WarennummerEZT LIKE '73064080%' OR ezaWP_WarennummerEZT LIKE '73065021%' OR ezaWP_WarennummerEZT LIKE '73065029%' OR ezaWP_WarennummerEZT LIKE '73065080%' OR ezaWP_WarennummerEZT LIKE '73066110%' OR ezaWP_WarennummerEZT LIKE '73066192%' OR ezaWP_WarennummerEZT LIKE '73066199%' OR ezaWP_WarennummerEZT LIKE '73066910%' OR ezaWP_WarennummerEZT LIKE '73066990%' OR ezaWP_WarennummerEZT LIKE '73069000%' "
End If
End Select
@@ -1177,7 +1194,7 @@ Public Class usrCntlZOLLAuswertungen
End Function
Private Function getDHFSQL(von As Date, bis As Date, mitDetaildatensaetze As Boolean, type As String)
Private Function getDHFSQL(von As Date, bis As Date, mitDetaildatensaetze As Boolean, type As String, Optional andereTarifnummernList As List(Of String) = Nothing)
@@ -1200,7 +1217,18 @@ Public Class usrCntlZOLLAuswertungen
OR ComCd like '280410%'"
Case Else
sqlWhere = "ComCd LIKE '72081000%' OR ComCd LIKE '72082500%' OR
If andereTarifnummernList IsNot Nothing AndAlso andereTarifnummernList.Count > 0 Then
For Each row In andereTarifnummernList
sqlWhere &= "ComCd LIKE '" & row & "%' OR "
Next
sqlWhere = sqlWhere.ToString.Substring(0, sqlWhere.Length - 3)
Else
sqlWhere = "ComCd LIKE '72081000%' OR ComCd LIKE '72082500%' OR
ComCd LIKE '72082600%' OR ComCd LIKE '72082700%' OR
ComCd LIKE '72083600%' OR ComCd LIKE '72083700%' OR
ComCd LIKE '72083800%' OR ComCd LIKE '72083900%' OR
@@ -1234,6 +1262,8 @@ Public Class usrCntlZOLLAuswertungen
OR ComCd LIKE '72209080%' OR ComCd LIKE '72210010%' OR ComCd LIKE '72210090%' OR ComCd LIKE '72221111%' OR ComCd LIKE '72221119%' OR ComCd LIKE '72221181%' OR ComCd LIKE '72221189%' OR ComCd LIKE '72221910%' OR ComCd LIKE '72221990%' OR ComCd LIKE '72222011%' OR ComCd LIKE '72222019%' OR ComCd LIKE '72222021%' OR ComCd LIKE '72222029%' OR ComCd LIKE '72222031%' OR ComCd LIKE '72222039%' OR ComCd LIKE '72222081%' OR ComCd LIKE '72222089%' OR ComCd LIKE '72223051%' OR ComCd LIKE '72223091%' OR ComCd LIKE '72223097%' OR ComCd LIKE '72224010%' OR ComCd LIKE '72224050%' OR ComCd LIKE '72224090%' OR ComCd LIKE '72251910%' OR ComCd LIKE '72251990%' OR ComCd LIKE '72253010%' OR ComCd LIKE '72253030%' OR ComCd LIKE '72253090%' OR ComCd LIKE '72254012%' OR ComCd LIKE '72254015%' OR ComCd LIKE '72254040%' OR ComCd LIKE '72254060%' OR ComCd LIKE '72254090%' OR ComCd LIKE '72255020%' OR ComCd LIKE '72255080%' OR ComCd LIKE '72259100%' OR ComCd LIKE '72261910%' OR ComCd LIKE '72261980%' OR ComCd LIKE '72262000%' OR ComCd LIKE '72269120%' OR ComCd LIKE '72269191%' OR ComCd LIKE '72269199%' OR ComCd LIKE '72269200%' OR ComCd LIKE '72269910%' OR ComCd LIKE '72271000%' OR ComCd LIKE '72272000%' OR ComCd LIKE '72279010%' OR ComCd LIKE '72279050%' OR ComCd LIKE '72279095%'
OR ComCd LIKE '72281020%' OR ComCd LIKE '72281090%' OR ComCd LIKE '72282010%' OR ComCd LIKE '72282091%' OR ComCd LIKE '72282099%' OR ComCd LIKE '72283020%' OR ComCd LIKE '72283041%' OR ComCd LIKE '72283049%' OR ComCd LIKE '72283061%' OR ComCd LIKE '72283070%' OR ComCd LIKE '72283089%' OR ComCd LIKE '72285020%' OR ComCd LIKE '72285040%' OR ComCd LIKE '72285061%' OR ComCd LIKE '72285069%' OR ComCd LIKE '72285080%' OR ComCd LIKE '72286020%' OR ComCd LIKE '72286080%' OR ComCd LIKE '72287010%' OR ComCd LIKE '72287090%' OR ComCd LIKE '72288000%' OR ComCd LIKE '73011000%' OR ComCd LIKE '73021022%' OR ComCd LIKE '73021028%' OR ComCd LIKE '73021040%' OR ComCd LIKE '73021050%' OR ComCd LIKE '73024000%' OR ComCd LIKE '73041100%' OR ComCd LIKE '73041910%' OR ComCd LIKE '73041930%' OR ComCd LIKE '73041990%' OR ComCd LIKE '73042200%' OR ComCd LIKE '73042300%' OR ComCd LIKE '73042400%' OR ComCd LIKE '73042910%' OR ComCd LIKE '73042930%' OR ComCd LIKE '73042990%' OR ComCd LIKE '73043120%' OR ComCd LIKE '73043180%' OR ComCd LIKE '73043950%' OR ComCd LIKE '73043982%' OR ComCd LIKE '73043983%' OR ComCd LIKE '73043988%' OR ComCd LIKE '73044100%' OR ComCd LIKE '73044983%' OR ComCd LIKE '73044985%' OR ComCd LIKE '73045181%' OR ComCd LIKE '73045189%' OR ComCd LIKE '73045930%' OR ComCd LIKE '73045982%' OR ComCd LIKE '73045983%' OR ComCd LIKE '73045989%' OR ComCd LIKE '73049000%' OR ComCd LIKE '73051100%' OR ComCd LIKE '73051200%' OR ComCd LIKE '73051900%' OR ComCd LIKE '73052000%' OR ComCd LIKE '73053100%' OR ComCd LIKE '73053900%' OR ComCd LIKE '73059000%' OR ComCd LIKE '73061100%' OR ComCd LIKE '73061900%' OR ComCd LIKE '73062100%' OR ComCd LIKE '73062900%' OR ComCd LIKE '73063012%' OR ComCd LIKE '73063018%' OR ComCd LIKE '73063041%' OR ComCd LIKE '73063049%' OR ComCd LIKE '73063072%' OR ComCd LIKE '73063077%' OR ComCd LIKE '73063080%' OR ComCd LIKE '73064020%' OR ComCd LIKE '73064080%' OR ComCd LIKE '73065021%' OR ComCd LIKE '73065029%' OR ComCd LIKE '73065080%' OR ComCd LIKE '73066110%' OR ComCd LIKE '73066192%' OR ComCd LIKE '73066199%' OR ComCd LIKE '73066910%' OR ComCd LIKE '73066990%' OR ComCd LIKE '73069000%' "
End If
End Select
@@ -1266,7 +1296,7 @@ Public Class usrCntlZOLLAuswertungen
End Function
Private Function getTELOTECSQL(von As Date, bis As Date, mitDetaildatensaetze As Boolean, type As String)
Private Function getTELOTECSQL(von As Date, bis As Date, mitDetaildatensaetze As Boolean, type As String, Optional andereTarifnummernList As List(Of String) = Nothing)
Dim sqlWhere = ""
@@ -1288,7 +1318,18 @@ Public Class usrCntlZOLLAuswertungen
OR Item_ComCd like '280410%' "
Case Else
sqlWhere = "Item_ComCd LIKE '72081000%' OR Item_ComCd LIKE '72082500%' OR
If andereTarifnummernList IsNot Nothing AndAlso andereTarifnummernList.Count > 0 Then
For Each row In andereTarifnummernList
sqlWhere &= "Item_ComCd LIKE '" & row & "%' OR "
Next
sqlWhere = sqlWhere.ToString.Substring(0, sqlWhere.Length - 3)
Else
sqlWhere = "Item_ComCd LIKE '72081000%' OR Item_ComCd LIKE '72082500%' OR
Item_ComCd LIKE '72082600%' OR Item_ComCd LIKE '72082700%' OR
Item_ComCd LIKE '72083600%' OR Item_ComCd LIKE '72083700%' OR
Item_ComCd LIKE '72083800%' OR Item_ComCd LIKE '72083900%' OR
@@ -1321,6 +1362,7 @@ Public Class usrCntlZOLLAuswertungen
Item_ComCd LIKE '72191100%' OR Item_ComCd LIKE '72191210%' OR Item_ComCd LIKE '72191290%' OR Item_ComCd LIKE '72191310%' OR Item_ComCd LIKE '72191390%' OR Item_ComCd LIKE '72191410%' OR Item_ComCd LIKE '72191490%' OR Item_ComCd LIKE '72192110%' OR Item_ComCd LIKE '72192190%' OR Item_ComCd LIKE '72192210%' OR Item_ComCd LIKE '72192290%' OR Item_ComCd LIKE '72192300%' OR Item_ComCd LIKE '72192400%' OR Item_ComCd LIKE '72193100%' OR Item_ComCd LIKE '72193210%' OR Item_ComCd LIKE '72193290%' OR Item_ComCd LIKE '72193310%' OR Item_ComCd LIKE '72193390%' OR Item_ComCd LIKE '72193410%' OR Item_ComCd LIKE '72193490%' OR Item_ComCd LIKE '72193510%' OR Item_ComCd LIKE '72193590%' OR Item_ComCd LIKE '72199020%' OR Item_ComCd LIKE '72199080%' OR Item_ComCd LIKE '72201100%' OR Item_ComCd LIKE '72201200%' OR Item_ComCd LIKE '72202021%' OR Item_ComCd LIKE '72202029%' OR Item_ComCd LIKE '72202041%' OR Item_ComCd LIKE '72202049%' OR Item_ComCd LIKE '72202081%' OR Item_ComCd LIKE '72202089%' OR Item_ComCd LIKE '72209020%'
OR Item_ComCd LIKE '72209080%' OR Item_ComCd LIKE '72210010%' OR Item_ComCd LIKE '72210090%' OR Item_ComCd LIKE '72221111%' OR Item_ComCd LIKE '72221119%' OR Item_ComCd LIKE '72221181%' OR Item_ComCd LIKE '72221189%' OR Item_ComCd LIKE '72221910%' OR Item_ComCd LIKE '72221990%' OR Item_ComCd LIKE '72222011%' OR Item_ComCd LIKE '72222019%' OR Item_ComCd LIKE '72222021%' OR Item_ComCd LIKE '72222029%' OR Item_ComCd LIKE '72222031%' OR Item_ComCd LIKE '72222039%' OR Item_ComCd LIKE '72222081%' OR Item_ComCd LIKE '72222089%' OR Item_ComCd LIKE '72223051%' OR Item_ComCd LIKE '72223091%' OR Item_ComCd LIKE '72223097%' OR Item_ComCd LIKE '72224010%' OR Item_ComCd LIKE '72224050%' OR Item_ComCd LIKE '72224090%' OR Item_ComCd LIKE '72251910%' OR Item_ComCd LIKE '72251990%' OR Item_ComCd LIKE '72253010%' OR Item_ComCd LIKE '72253030%' OR Item_ComCd LIKE '72253090%' OR Item_ComCd LIKE '72254012%' OR Item_ComCd LIKE '72254015%' OR Item_ComCd LIKE '72254040%' OR Item_ComCd LIKE '72254060%' OR Item_ComCd LIKE '72254090%' OR Item_ComCd LIKE '72255020%' OR Item_ComCd LIKE '72255080%' OR Item_ComCd LIKE '72259100%' OR Item_ComCd LIKE '72261910%' OR Item_ComCd LIKE '72261980%' OR Item_ComCd LIKE '72262000%' OR Item_ComCd LIKE '72269120%' OR Item_ComCd LIKE '72269191%' OR Item_ComCd LIKE '72269199%' OR Item_ComCd LIKE '72269200%' OR Item_ComCd LIKE '72269910%' OR Item_ComCd LIKE '72271000%' OR Item_ComCd LIKE '72272000%' OR Item_ComCd LIKE '72279010%' OR Item_ComCd LIKE '72279050%' OR Item_ComCd LIKE '72279095%'
OR Item_ComCd LIKE '72281020%' OR Item_ComCd LIKE '72281090%' OR Item_ComCd LIKE '72282010%' OR Item_ComCd LIKE '72282091%' OR Item_ComCd LIKE '72282099%' OR Item_ComCd LIKE '72283020%' OR Item_ComCd LIKE '72283041%' OR Item_ComCd LIKE '72283049%' OR Item_ComCd LIKE '72283061%' OR Item_ComCd LIKE '72283070%' OR Item_ComCd LIKE '72283089%' OR Item_ComCd LIKE '72285020%' OR Item_ComCd LIKE '72285040%' OR Item_ComCd LIKE '72285061%' OR Item_ComCd LIKE '72285069%' OR Item_ComCd LIKE '72285080%' OR Item_ComCd LIKE '72286020%' OR Item_ComCd LIKE '72286080%' OR Item_ComCd LIKE '72287010%' OR Item_ComCd LIKE '72287090%' OR Item_ComCd LIKE '72288000%' OR Item_ComCd LIKE '73011000%' OR Item_ComCd LIKE '73021022%' OR Item_ComCd LIKE '73021028%' OR Item_ComCd LIKE '73021040%' OR Item_ComCd LIKE '73021050%' OR Item_ComCd LIKE '73024000%' OR Item_ComCd LIKE '73041100%' OR Item_ComCd LIKE '73041910%' OR Item_ComCd LIKE '73041930%' OR Item_ComCd LIKE '73041990%' OR Item_ComCd LIKE '73042200%' OR Item_ComCd LIKE '73042300%' OR Item_ComCd LIKE '73042400%' OR Item_ComCd LIKE '73042910%' OR Item_ComCd LIKE '73042930%' OR Item_ComCd LIKE '73042990%' OR Item_ComCd LIKE '73043120%' OR Item_ComCd LIKE '73043180%' OR Item_ComCd LIKE '73043950%' OR Item_ComCd LIKE '73043982%' OR Item_ComCd LIKE '73043983%' OR Item_ComCd LIKE '73043988%' OR Item_ComCd LIKE '73044100%' OR Item_ComCd LIKE '73044983%' OR Item_ComCd LIKE '73044985%' OR Item_ComCd LIKE '73045181%' OR Item_ComCd LIKE '73045189%' OR Item_ComCd LIKE '73045930%' OR Item_ComCd LIKE '73045982%' OR Item_ComCd LIKE '73045983%' OR Item_ComCd LIKE '73045989%' OR Item_ComCd LIKE '73049000%' OR Item_ComCd LIKE '73051100%' OR Item_ComCd LIKE '73051200%' OR Item_ComCd LIKE '73051900%' OR Item_ComCd LIKE '73052000%' OR Item_ComCd LIKE '73053100%' OR Item_ComCd LIKE '73053900%' OR Item_ComCd LIKE '73059000%' OR Item_ComCd LIKE '73061100%' OR Item_ComCd LIKE '73061900%' OR Item_ComCd LIKE '73062100%' OR Item_ComCd LIKE '73062900%' OR Item_ComCd LIKE '73063012%' OR Item_ComCd LIKE '73063018%' OR Item_ComCd LIKE '73063041%' OR Item_ComCd LIKE '73063049%' OR Item_ComCd LIKE '73063072%' OR Item_ComCd LIKE '73063077%' OR Item_ComCd LIKE '73063080%' OR Item_ComCd LIKE '73064020%' OR Item_ComCd LIKE '73064080%' OR Item_ComCd LIKE '73065021%' OR Item_ComCd LIKE '73065029%' OR Item_ComCd LIKE '73065080%' OR Item_ComCd LIKE '73066110%' OR Item_ComCd LIKE '73066192%' OR Item_ComCd LIKE '73066199%' OR Item_ComCd LIKE '73066910%' OR Item_ComCd LIKE '73066990%' OR Item_ComCd LIKE '73069000%' "
End If
End Select
@@ -1376,19 +1418,27 @@ Public Class usrCntlZOLLAuswertungen
Dim SQLString As String = ""
Dim Quelle As String = "FMZOLL"
Dim ListOfAndereTarifnummern As New List(Of String)
Dim HEADER As String = "Stahlverordnungsbericht aus "
If TextBox1.Text <> "" AndAlso TextBox1.Text.Contains(",") Then
ListOfAndereTarifnummern.AddRange(TextBox1.Text.Split(","c).Select(Function(x) x.Trim()).Where(Function(x) x <> ""))
HEADER = "andere Tarifnummern (" & TextBox1.Text & ") aus "
End If
Select Case cbxQuelle._value
Case "DAKOSY" : SQLString = getDAkosySQL(von_stahlverordnung.Value, bis_stahlverordnung.Value, cbxStahlverordnung_SNDdet.Checked, "STAHLVO") : Quelle = "FMZOLL"
Case "DHF" : SQLString = getDHFSQL(von_stahlverordnung.Value, bis_stahlverordnung.Value, cbxStahlverordnung_SNDdet.Checked, "STAHLVO") : Quelle = "EZOLL"
Case "DHF-UNI" : SQLString = getDHFSQL(von_stahlverordnung.Value, bis_stahlverordnung.Value, cbxStahlverordnung_SNDdet.Checked, "STAHLVO") : Quelle = "EZOLL_UNISPED"
Case "TELOTEC" : SQLString = getTELOTECSQL(von_stahlverordnung.Value, bis_stahlverordnung.Value, cbxStahlverordnung_SNDdet.Checked, "STAHLVO") : Quelle = "FMZOLL"
Case "DAKOSY" : SQLString = getDAkosySQL(von_stahlverordnung.Value, bis_stahlverordnung.Value, cbxStahlverordnung_SNDdet.Checked, "STAHLVO", ListOfAndereTarifnummern) : Quelle = "FMZOLL"
Case "DHF" : SQLString = getDHFSQL(von_stahlverordnung.Value, bis_stahlverordnung.Value, cbxStahlverordnung_SNDdet.Checked, "STAHLVO", ListOfAndereTarifnummern) : Quelle = "EZOLL"
Case "DHF-UNI" : SQLString = getDHFSQL(von_stahlverordnung.Value, bis_stahlverordnung.Value, cbxStahlverordnung_SNDdet.Checked, "STAHLVO", ListOfAndereTarifnummern) : Quelle = "EZOLL_UNISPED"
Case "TELOTEC" : SQLString = getTELOTECSQL(von_stahlverordnung.Value, bis_stahlverordnung.Value, cbxStahlverordnung_SNDdet.Checked, "STAHLVO", ListOfAndereTarifnummern) : Quelle = "FMZOLL"
End Select
Dim dt As DataTable = SQL.loadDgvBySql(SQLString, Quelle, 700)
If dt IsNot Nothing Then
cProgramFunctions.genExcelFromDT_NEW(dt,,, "Stahlverordnungsbericht aus " & cbxQuelle._value & " " & von_stahlverordnung.Value.ToShortDateString & " - " & bis_stahlverordnung.Value.ToShortDateString)
cProgramFunctions.genExcelFromDT_NEW(dt,,, HEADER & cbxQuelle._value & " " & von_stahlverordnung.Value.ToShortDateString & " - " & bis_stahlverordnung.Value.ToShortDateString)
End If
End Sub
@@ -1401,6 +1451,18 @@ Public Class usrCntlZOLLAuswertungen
Process.Start(webAddress)
End Sub
Private Sub cbxAndereTarifnummern_CheckedChanged(sender As Object, e As EventArgs) Handles cbxAndereTarifnummern.CheckedChanged
If cbxAndereTarifnummern.Checked Then
TextBox1.Enabled = True
Else
TextBox1.Enabled = False
TextBox1.Text = ""
End If
End Sub

View File

@@ -12,6 +12,7 @@ Imports com.sun.xml.internal.rngom
Imports GrapeCity.ActiveReports
Imports GrapeCity.ActiveReports.SectionReportModel
Imports GrapeCity.Documents.Imaging
Imports iText.IO.Util
Imports Microsoft.Office.Interop
Imports ThoughtWorks.QRCode.Codec
@@ -885,6 +886,21 @@ BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, [Control], New Object(
End Try
End Function
Public Shared Sub createMail(eMailTo As String, betreff As String, text As String, Optional email_CC As String = "", Optional email_BCC As String = "")
Dim outl As New Outlook.Application
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
Mail = outl.CreateItem(0)
Mail.To = eMailTo
Mail.CC = email_CC
Mail.BCC = email_BCC
Mail.HTMLBody = text
Mail.Subject = betreff
Mail.Display()
End Sub
Public Shared Function sendMail(eMailTo, betreff, text, Optional eMailfrom = "support@verag.ag", Optional prio = False, Optional uhrzeitAngeben = True, Optional cc = "", Optional bcc = "", Optional anhaenge = Nothing, Optional art = 0, Optional furtherMailAdress = "")
Dim Msg As New MailMessage
Dim myCredentials As New System.Net.NetworkCredential