diff --git a/SDL/Fakturierung/cAutomailversand.vb b/SDL/Fakturierung/cAutomailversand.vb index 1b74c7a2..059234f6 100644 --- a/SDL/Fakturierung/cAutomailversand.vb +++ b/SDL/Fakturierung/cAutomailversand.vb @@ -695,6 +695,7 @@ Public Class cAutomailversand 'ATTACHMENTS.Clear() Dim zielPfad_PDFZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(Belegnr & "_" & Anhangsbez, ".pdf",, False, "Zusammenfassung") + Dim zielPfadForThereFore As String = "" '==================================================== ' EINZELRECHNUNG @@ -723,18 +724,18 @@ Public Class cAutomailversand LoadZollAttachments(SPEDBUCH, RECHNUNG.FilialenNr, RECHNUNG.Firma_ID, False, mergeList, ATTACHMENTS) ' Zusammenfassung erzeugen - AddMergedPdf(mergeList, zielPfad_PDFZusammenfassung, ATTACHMENTS) + AddMergedPdf(mergeList, zielPfad_PDFZusammenfassung, ATTACHMENTS, zielPfadForThereFore) - If checkFremdeGrenze(SPEDBUCH) AndAlso System.IO.File.Exists(zielPfad_PDFZusammenfassung) Then 'Upload ins Therefore + If checkFremdeGrenze(SPEDBUCH) AndAlso System.IO.File.Exists(zielPfadForThereFore) Then 'Upload ins Therefore Try - If RECHNUNG.Automailversand_sent Is Nothing And (Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM OrElse vbYes = MsgBox("TEST - Rechnungsanhang (FREMDE GRENZEN) in Therefore speichern?", vbYesNoCancel)) Then + If zielPfadForThereFore <> "" AndAlso System.IO.File.Exists(zielPfadForThereFore) AndAlso RECHNUNG.Automailversand_sent Is Nothing And (Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM OrElse vbYes = MsgBox("TEST - Rechnungsanhang (FREMDE GRENZEN) in Therefore speichern?", vbYesNoCancel)) Then - VERAG_PROG_ALLGEMEIN.cTherefore.saveFileTo_ImportFolder(zielPfad_PDFZusammenfassung, RECHNUNG.FilialenNr & RECHNUNG.AbfertigungsNr, If(RECHNUNG.AvisoID, ""), RECHNUNG.Firma_ID, False) + VERAG_PROG_ALLGEMEIN.cTherefore.saveFileTo_ImportFolder(zielPfadForThereFore, RECHNUNG.FilialenNr & RECHNUNG.AbfertigungsNr, If(RECHNUNG.AvisoID, ""), RECHNUNG.Firma_ID, False) End If Catch ex As Exception - MsgBox("Therefore-Import fehlgeschlagen!" & ex.Message & ex.StackTrace) + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Therefore-Import fehlgeschlagen! " & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try @@ -800,7 +801,7 @@ Public Class cAutomailversand Next ' Zusammenfassung erzeugen - AddMergedPdf(mergeListSR, zielPfad_PDFZusammenfassung, ATTACHMENTS) + AddMergedPdf(mergeListSR, zielPfad_PDFZusammenfassung, ATTACHMENTS, "") End Sub @@ -812,7 +813,7 @@ Public Class cAutomailversand If SPED.Grenzstelle = "???" Then Return True - Dim FREMDEGRENZE = (New VERAG_PROG_ALLGEMEIN.SQL).DLookup("grz_fremdeGrenze", "tblGrenzstelle", "grz_BezeichnungCBO='" & SPED.Grenzstelle & "'", "AVISO", False) + Dim FREMDEGRENZE = (New VERAG_PROG_ALLGEMEIN.SQL).DLookup("grz_fremdeGrenze", "tblGrenzstelle", "grz_Grenzstelle='" & SPED.Grenzstelle & "'", "AVISO", False) Return FREMDEGRENZE @@ -1259,7 +1260,7 @@ Public Class cAutomailversand End Sub - Private Sub AddMergedPdf(mergeList As List(Of String), zielPfad As String, attachments As List(Of cFakt_MailATTach)) + Private Sub AddMergedPdf(mergeList As List(Of String), zielPfad As String, attachments As List(Of cFakt_MailATTach), ByRef zielPfadForThereFor As String) If Not mergeList.Any Then Return @@ -1267,7 +1268,7 @@ Public Class cAutomailversand Dim fi As New FileInfo(mergeList(0)) attachments.Add(New cFakt_MailATTach(mergeList(0), fi.Name)) - + zielPfadForThereFor = fi.FullName Return End If @@ -1275,7 +1276,7 @@ Public Class cAutomailversand Dim fi As New FileInfo(zielPfad) attachments.Add(New cFakt_MailATTach(zielPfad, fi.Name)) - + zielPfadForThereFor = zielPfad End If End Sub diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index 2ec319da..ddf337d9 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -3542,7 +3542,7 @@ Public Class cFakturierung End Select - Dim isReverseCharge = IIf(getReverseChargeSumme(FIRMA, ROW("RechnungsLandKz"), ROW("RechnungsNr"), ROW("RechnungsDatum"), "") > 0, True, False) + Dim isReverseCharge = IIf(getReverseChargeSumme(FIRMA, ROW("RechnungsLandKz"), ROW("RechnungsNr"), ROW("RechnungsDatum"), "") <> 0, True, False) If Gesamt_RG_BetragSteuerfrei > 0 Then @@ -5159,7 +5159,7 @@ Public Class cFakturierung If isMDMRechnungsdruck Then - If getReverseChargeSumme(Firma, Row("RechnungsLandKz"), Row("RechnungsNr"), Row("RechnungsDatum"), VorschauID) > 0 Then + If getReverseChargeSumme(Firma, Row("RechnungsLandKz"), Row("RechnungsNr"), Row("RechnungsDatum"), VorschauID) <> 0 Then Select Case Row("RechnungSprache") Case "EN" : rpt.txtInfo.Text = vbNewLine & vbNewLine & "The VAT liability is transferred to the recipient of the service (reverse charge system)." '"Attention! For EU customers! Since 1.1.2010, services are subject to the application of the reverse charge procedure. Transfer of the tax liability to the recipient of the service." Case Else : rpt.txtInfo.Text = vbNewLine & vbNewLine & "Die Umsatzsteuerschuld geht auf den Leistungsempfänger über (Reverse Charge Verfahren)." '"Achtung! Für EU-Kunden! Seit 1.1.2010 unterliegen Leistungen der Anwendung des Reverse Charge Verfahrens. Übergang der Steuerschuld an den Leistungsempfänger." @@ -5537,7 +5537,7 @@ Public Class cFakturierung If isMDMRechnungsdruck Then - If getReverseChargeSumme(Firma, Row("RechnungsLandKz"), Row("RechnungsNr"), Row("RechnungsDatum"), VorschauID) > 0 Then + If getReverseChargeSumme(Firma, Row("RechnungsLandKz"), Row("RechnungsNr"), Row("RechnungsDatum"), VorschauID) <> 0 Then Select Case Row("RechnungSprache") Case "EN" : rpt.txtInfo.Text = vbNewLine & vbNewLine & "The VAT liability is transferred to the recipient of the service (reverse charge system)." '"Attention! For EU customers! Since 1.1.2010, services are subject to the application of the reverse charge procedure. Transfer of the tax liability to the recipient of the service." Case Else : rpt.txtInfo.Text = vbNewLine & vbNewLine & "Die Umsatzsteuerschuld geht auf den Leistungsempfänger über (Reverse Charge Verfahren)." '"Achtung! Für EU-Kunden! Seit 1.1.2010 unterliegen Leistungen der Anwendung des Reverse Charge Verfahrens. Übergang der Steuerschuld an den Leistungsempfänger." @@ -5985,7 +5985,7 @@ Public Class cFakturierung ' Dies hat zur Folge, dass steuerfreie Rechnungsbeträge für Leistungen, ' die in der Leistungstabelle als ReverseCharge gekennzeichnet sind, ' summiert und auf der Rechnung ausgewiesen werden. - If getReverseChargeSumme(FIRMA, ROW("RechnungsLandKz"), ROW("RechnungsNr"), ROW("RechnungsDatum"), VorschauID) > 0 Then + If getReverseChargeSumme(FIRMA, ROW("RechnungsLandKz"), ROW("RechnungsNr"), ROW("RechnungsDatum"), VorschauID) <> 0 Then Select Case ROW("RechnungSprache") Case "EN" : rpt.txtInfo.Text = "The VAT liability is transferred to the recipient of the service (reverse charge system)." '"Attention! For EU customers! Since 1.1.2010, services are subject to the application of the reverse charge procedure. Transfer of the tax liability to the recipient of the service." Case Else : rpt.txtInfo.Text = "Die Umsatzsteuerschuld geht auf den Leistungsempfänger über (Reverse Charge Verfahren)." '"Achtung! Für EU-Kunden! Seit 1.1.2010 unterliegen Leistungen der Anwendung des Reverse Charge Verfahrens. Übergang der Steuerschuld an den Leistungsempfänger." diff --git a/SDL/Fakturierung/frmAbrechnungHandling.Designer.vb b/SDL/Fakturierung/frmAbrechnungHandling.Designer.vb index 6b1a8a01..b38133a8 100644 --- a/SDL/Fakturierung/frmAbrechnungHandling.Designer.vb +++ b/SDL/Fakturierung/frmAbrechnungHandling.Designer.vb @@ -28,11 +28,13 @@ Me.dgvHandling = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) Me.btnPreisliste = New System.Windows.Forms.Button() Me.cbxDivers = New System.Windows.Forms.CheckBox() + Me.lblWarning = New System.Windows.Forms.Label() CType(Me.dgvHandling, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'Button1 ' + Me.Button1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.Button1.BackColor = System.Drawing.Color.LightGray Me.Button1.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat @@ -45,6 +47,7 @@ ' 'Button2 ' + Me.Button2.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.Button2.DialogResult = System.Windows.Forms.DialogResult.OK Me.Button2.FlatAppearance.BorderSize = 0 Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat @@ -65,15 +68,16 @@ Me.dgvHandling.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill Me.dgvHandling.BackgroundColor = System.Drawing.Color.White Me.dgvHandling.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize - Me.dgvHandling.Location = New System.Drawing.Point(12, 12) + Me.dgvHandling.Location = New System.Drawing.Point(12, 24) Me.dgvHandling.Name = "dgvHandling" Me.dgvHandling.ReadOnly = True Me.dgvHandling.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect - Me.dgvHandling.Size = New System.Drawing.Size(776, 397) + Me.dgvHandling.Size = New System.Drawing.Size(776, 385) Me.dgvHandling.TabIndex = 3 ' 'btnPreisliste ' + Me.btnPreisliste.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.btnPreisliste.FlatAppearance.BorderSize = 0 Me.btnPreisliste.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnPreisliste.Location = New System.Drawing.Point(12, 415) @@ -85,8 +89,9 @@ ' 'cbxDivers ' + Me.cbxDivers.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.cbxDivers.AutoSize = True - Me.cbxDivers.Location = New System.Drawing.Point(134, 421) + Me.cbxDivers.Location = New System.Drawing.Point(105, 421) Me.cbxDivers.Name = "cbxDivers" Me.cbxDivers.Size = New System.Drawing.Size(81, 17) Me.cbxDivers.TabIndex = 5 @@ -94,11 +99,22 @@ Me.cbxDivers.UseVisualStyleBackColor = True Me.cbxDivers.Visible = False ' + 'lblWarning + ' + Me.lblWarning.AutoSize = True + Me.lblWarning.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblWarning.ForeColor = System.Drawing.Color.Red + Me.lblWarning.Location = New System.Drawing.Point(22, 8) + Me.lblWarning.Name = "lblWarning" + Me.lblWarning.Size = New System.Drawing.Size(0, 13) + Me.lblWarning.TabIndex = 6 + ' 'frmAbrechnungHandling ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(800, 450) + Me.Controls.Add(Me.lblWarning) Me.Controls.Add(Me.cbxDivers) Me.Controls.Add(Me.btnPreisliste) Me.Controls.Add(Me.dgvHandling) @@ -119,4 +135,5 @@ Friend WithEvents dgvHandling As VERAG_PROG_ALLGEMEIN.MyDatagridview Friend WithEvents btnPreisliste As Button Friend WithEvents cbxDivers As CheckBox + Friend WithEvents lblWarning As Label End Class diff --git a/SDL/Fakturierung/frmAbrechnungHandling.vb b/SDL/Fakturierung/frmAbrechnungHandling.vb index dbf626b6..4b143fda 100644 --- a/SDL/Fakturierung/frmAbrechnungHandling.vb +++ b/SDL/Fakturierung/frmAbrechnungHandling.vb @@ -5,13 +5,15 @@ Public Class frmAbrechnungHandling Dim dt As DataTable Dim HandlingList As cHandlingssaetzeInternLIST Dim title As String - Public Sub New(dt As DataTable, HandlingList As VERAG_PROG_ALLGEMEIN.cHandlingssaetzeInternLIST, title As String) + Dim Warning As String + Public Sub New(dt As DataTable, HandlingList As VERAG_PROG_ALLGEMEIN.cHandlingssaetzeInternLIST, title As String, Optional warning As String = "") InitializeComponent() Me.dt = dt Me.HandlingList = HandlingList Me.title = title + Me.Warning = warning End Sub @@ -34,6 +36,7 @@ Public Class frmAbrechnungHandling Me.Text = title + Me.lblWarning.Text = Warning End Sub diff --git a/SDL/Fakturierung/frmAbrechnungsMaske.Designer.vb b/SDL/Fakturierung/frmAbrechnungsMaske.Designer.vb index 5b744c90..39d545ad 100644 --- a/SDL/Fakturierung/frmAbrechnungsMaske.Designer.vb +++ b/SDL/Fakturierung/frmAbrechnungsMaske.Designer.vb @@ -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 diff --git a/SDL/Fakturierung/frmAbrechnungsMaske.vb b/SDL/Fakturierung/frmAbrechnungsMaske.vb index e15174be..993c2069 100644 --- a/SDL/Fakturierung/frmAbrechnungsMaske.vb +++ b/SDL/Fakturierung/frmAbrechnungsMaske.vb @@ -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 @@ -903,6 +914,19 @@ Public Class frmAbrechnungsMaske ContextMenuStrip1.Items.Add(pdf) End If + If Not ContextMenuStrip1.Items.ContainsKey("4") Then + Dim mail = New ToolStripMenuItem() With {.Text = "E-Mail mit Anlagen", .Name = "4", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + ContextMenuStrip1.Items.Add(mail) + AddHandler mail.Click, AddressOf mnuItem_Clicked + End If + + If Not ContextMenuStrip1.Items.ContainsKey("5") Then + Dim pdf = New ToolStripMenuItem() With {.Text = "PDF mit Anlagen", .Name = "5", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + AddHandler pdf.Click, AddressOf mnuItem_Clicked + ContextMenuStrip1.Items.Add(pdf) + End If + + ContextMenuStrip1.Show(Cursor.Position) End Sub @@ -914,13 +938,20 @@ Public Class frmAbrechnungsMaske If item IsNot Nothing Then id = item.Name + Dim sammelrechnungmitAnhang As Boolean = False + If id > 3 Then + sammelrechnungmitAnhang = True + id = id - 2 + End If + + Dim SR_RechnungsNr = InputBox("SR-Nummer eingeben: ", "Rechnungsdruck - " & IIf(item.Text IsNot Nothing, item.Text, "PDF")) If IsNumeric(SR_RechnungsNr) Then Dim RK_ID = SQL.getValueTxtBySql("SELECT TOP 1 RK_ID FROM Rechnungsausgang WHERE RechnungsNr='" & SR_RechnungsNr & "' AND Firma_ID='" & cboFirma._value & "' ORDER BY DruckDatumZeit DESC", "FMZOLL") If IsNumeric(RK_ID) Then Dim RG_TMP As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID) Dim sammelrechnungskopieMDM As Boolean = False - Dim sammelrechnungmitAnhang As Boolean = False + If RG_TMP IsNot Nothing Then Dim tempPDF As String = "" @@ -929,7 +960,6 @@ Public Class frmAbrechnungsMaske If RG_TMP.Sammelrechnung = 6 Then If RG_TMP.Status = 4 Then sammelrechnungskopieMDM = True - sammelrechnungmitAnhang = MsgBox("Soll die MDM Sammelrechnung mit Anhang angezeigt werden?", vbYesNo) cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, "", False, True, 8, tempPDF, True,,,,,,,,, sammelrechnungmitAnhang, sammelrechnungskopieMDM, listOfCSV, True) Select Case id @@ -962,7 +992,7 @@ Public Class frmAbrechnungsMaske Else - 'sammelrechnungmitAnhang = MsgBox("Soll die Sammelrechnung mit Anhang angezeigt werden?", vbYesNo) + ' sammelrechnungmitAnhang = MsgBox("Soll die Sammelrechnung mit Anhang angezeigt werden?", vbYesNo) Select Case id diff --git a/SDL/Fakturierung/frmFaktEmail.vb b/SDL/Fakturierung/frmFaktEmail.vb index a7267d51..767a46df 100644 --- a/SDL/Fakturierung/frmFaktEmail.vb +++ b/SDL/Fakturierung/frmFaktEmail.vb @@ -625,7 +625,7 @@ Public Class frmFaktEmail 'WARUM HIER BEREITS?? - 'addAttachments(Mail, lastAktuelle_RgNr, cbxMergeRg.Checked, "") + addAttachments(Mail, lastAktuelle_RgNr, cbxMergeRg.Checked, "") '----------------------------------------------------------------- 'Steuerbescheid/VDB anfügen @@ -797,13 +797,13 @@ Public Class frmFaktEmail If cbxAnhaengeInTherefore.Checked Then Try - If Not cbxRgKopieDrucken.Checked And (Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM OrElse vbYes = MsgBox("TEST - Anhang in Therefore speichern?", vbYesNoCancel)) Then + If pathAnhaenge <> "" AndAlso System.IO.File.Exists(pathAnhaenge) AndAlso Not cbxRgKopieDrucken.Checked And (Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM OrElse vbYes = MsgBox("TEST - Anhang in Therefore speichern?", vbYesNoCancel)) Then VERAG_PROG_ALLGEMEIN.cTherefore.saveFileTo_ImportFolder(pathAnhaenge, RECHNUNG.FilialenNr & RECHNUNG.AbfertigungsNr, If(RECHNUNG.AvisoID, ""), RECHNUNG.Firma_ID, False) End If Catch ex As Exception - MsgBox("Therefore-Import fehlgeschlagen!" & ex.Message & ex.StackTrace) + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Therefore-Import fehlgeschlagen! " & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try End If @@ -1136,7 +1136,7 @@ Public Class frmFaktEmail - Sub addAttachments(ByRef Mail As Microsoft.Office.Interop.Outlook.MailItem, RgNr As Integer, MergePDF As Boolean, zielPfadZusammenfassung As String) + Sub addAttachments(ByRef Mail As Microsoft.Office.Interop.Outlook.MailItem, RgNr As Integer, MergePDF As Boolean, ByRef zielPfadZusammenfassung_forTherefore As String) If ATTACHMENTS.Count = 0 Then Exit Sub Try @@ -1178,7 +1178,7 @@ Public Class frmFaktEmail Belegsbezeichnung = RECHNUNG.BelegartenBez End If - zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(IIf(SammelrechungArt <> 6, Belegsbezeichnung & "sanhänge_", Belegsbezeichnung & "_") & RgNr & extension, extension,, False, "Zusammenfassung") + Dim zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(IIf(SammelrechungArt <> 6, Belegsbezeichnung & "sanhänge_", Belegsbezeichnung & "_") & RgNr & extension, extension,, False, "Zusammenfassung") If RECHNUNG IsNot Nothing AndAlso RECHNUNG.Firma_ID = 19 Then @@ -1240,6 +1240,7 @@ Public Class frmFaktEmail End If + Else Dim myList As New List(Of String) @@ -1251,6 +1252,7 @@ Public Class frmFaktEmail End If + zielPfadZusammenfassung_forTherefore = zielPfadZusammenfassung End If 'Anhang an Mail anfügen @@ -1264,6 +1266,7 @@ Public Class frmFaktEmail 'NICHT ANFÜGEN! Else Mail.Attachments.Add(a.Pfad, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , a.MailName) + zielPfadZusammenfassung_forTherefore = a.Pfad End If End If @@ -1379,7 +1382,7 @@ Public Class frmFaktEmail If SPED.Grenzstelle = "???" Then Return True - Dim FREMDEGRENZE = (New VERAG_PROG_ALLGEMEIN.SQL).DLookup("grz_fremdeGrenze", "tblGrenzstelle", "grz_BezeichnungCBO='" & SPED.Grenzstelle & "'", "AVISO", False) + Dim FREMDEGRENZE = (New VERAG_PROG_ALLGEMEIN.SQL).DLookup("grz_fremdeGrenze", "tblGrenzstelle", "grz_Grenzstelle='" & SPED.Grenzstelle & "'", "AVISO", False) Return FREMDEGRENZE diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index c1e545dc..e50ae462 100644 --- a/SDL/My Project/AssemblyInfo.vb +++ b/SDL/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/SDL/ZOLLSYSTEM/DAKOSY/ATLAS/EZA/usrCntlATLAS_EZA.vb b/SDL/ZOLLSYSTEM/DAKOSY/ATLAS/EZA/usrCntlATLAS_EZA.vb index 71a82589..1757d8e0 100644 --- a/SDL/ZOLLSYSTEM/DAKOSY/ATLAS/EZA/usrCntlATLAS_EZA.vb +++ b/SDL/ZOLLSYSTEM/DAKOSY/ATLAS/EZA/usrCntlATLAS_EZA.vb @@ -845,5 +845,7 @@ Public Class usrCntlATLAS_EZA End If End Sub + + End Class diff --git a/SDL/buchhaltung/frmBU_Mahnlauf.vb b/SDL/buchhaltung/frmBU_Mahnlauf.vb index 04301339..e7b2d50f 100644 --- a/SDL/buchhaltung/frmBU_Mahnlauf.vb +++ b/SDL/buchhaltung/frmBU_Mahnlauf.vb @@ -105,10 +105,10 @@ Public Class frmBU_Mahnlauf sum(case when OP.c_typ = 'g' then isnull(OP.eur_bruttobetrag, 0) + isnull(OP.eur_zahlung, 0) else 0 end) as Gutschrift, cast(MAX(d_mahnung)as date) Mahndatum, case when Kunden.Abfertigungsverbot = 1 then 'gesperrt' - when max(KTO.dec_aktuellersaldo) - isnull(CASE WHEN Max(Kunden.UStV_SummeUmsatzsteuerbetragEUR) > max(Kunden.UStV_SummeErstattungsbetragEUR) THEN max(Kunden.UStV_SummeUmsatzsteuerbetragEUR) - max(Kunden.UStV_SummeErstattungsbetragEUR) ELSE 0 END ,0) - isnull(max(Kunden.UStV_Summe3470BetragEUR),0) + isnull(max(Kunden.UStV_SummeVZBetragEUR),0) - isnull(max(Kunden.UStV_SummeVorschaubetragEUR),0) - isnull(CASE WHEN ISNULL(max(Kunden.BankgarantieGültigBis), GETDATE()) < GETDATE() THEN 0 ELSE ISNULL(max(Kunden.BankgarantieBetrag), 0) END,0) < 0 then 'ZZ 30 Tage' + when max(KTO.dec_aktuellersaldo) - isnull(CASE WHEN Max(Kunden.UStV_SummeUmsatzsteuerbetragEUR) > max(Kunden.UStV_SummeErstattungsbetragEUR) THEN max(Kunden.UStV_SummeUmsatzsteuerbetragEUR) - max(Kunden.UStV_SummeErstattungsbetragEUR) ELSE 0 END ,0) - isnull(max(Kunden.UStV_Summe3470BetragEUR),0) + isnull(max(Kunden.UStV_SummeVZBetragEUR),0) - isnull(max(Kunden.UStV_SummeVorschaubetragEUR),0) - isnull(CASE WHEN ISNULL(max(Kunden.BankgarantieGültigBis), GETDATE()) < GETDATE() THEN 0 ELSE ISNULL(max(Kunden.BankgarantieBetrag), 0) END,0) < 0 and max(si_mahnstufe) > 2 then 'ZZ 30 Tage' when max(si_mahnstufe) = 1 Then 'telefonisch' - when max(si_mahnstufe) = 3 Then 'Donnerstag' - when max(si_mahnstufe) = 2 Then 'Freitag' + when max(si_mahnstufe) = 2 Then 'Freitag' + when max(si_mahnstufe) = 3 Then 'Donnerstag' when max(si_mahnstufe) >= 4 Then 'Mittwoch' else '-' end as Sperre " & If(cbxNurFaellig.Checked, "", ",SUM(CASE WHEN op.d_netto 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,435 +2259,433 @@ 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 - - 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 - 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 - - 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 - - Continue For - - End If - - - End If - - Next - - If dt.Rows.Count > 0 Then - - Using frm As New frmAbrechnungHandling(dt, Nothing, "Import " & dt.Rows.Count & " Buchungsdaten " & cbxBankspesentyp.SelectedItem.Text & IIf(missingKdNr > 0, missingKdNr & " Kundenkonten konnten nicht gefunden werden!", "")) - - 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: + + If Betrag < 0 Then + Betrag = Betrag * -1 + End If + + 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 + End If + + 'Betrag = Betrag + 1 + 'Dim aufgerundet As Double = Math.Ceiling(Betrag / 5) * 5 + + R("Gebühr") = Betrag + + 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 - MsgBox("keine zu importierende Daten vorhanden!") - Exit Sub + End With - End If + 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 + + Else + + If TYP = "M" Then + + Bankspesen.betrag += r.Cells("Betrag").Value + Bankspesen.gebuehr += r.Cells("Gebühr").Value + + If Bankspesen.SAVE() Then + counter += 1 + End If + txtBankspesen.Text = counter & " / " & frm.dgvHandling.SelectedRows.Count + End If + + End If + + + End If + + Next + + Dim Name As String = "BANK_" & TYP + + + Dim MDMEinarb As New cMDMEinarbeitung(Name, 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 + + 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 diff --git a/SDL/kunden/frmKundenblatt.Designer.vb b/SDL/kunden/frmKundenblatt.Designer.vb index dca13961..46187105 100644 --- a/SDL/kunden/frmKundenblatt.Designer.vb +++ b/SDL/kunden/frmKundenblatt.Designer.vb @@ -56,6 +56,7 @@ Partial Class frmKundenblatt Me.txtInfotext = New System.Windows.Forms.Label() Me.tbFirmendaten = New System.Windows.Forms.TabPage() Me.Panel4 = New System.Windows.Forms.Panel() + Me.UsrcntlKundeBearbeitenFull1 = New SDL.usrcntlKundeBearbeitenFull() Me.tbcntrMain = New System.Windows.Forms.TabControl() Me.tbAllgemein = New System.Windows.Forms.TabPage() Me.Button8 = New System.Windows.Forms.Button() @@ -129,6 +130,8 @@ Partial Class frmKundenblatt Me.PictureBox6 = New System.Windows.Forms.PictureBox() Me.Button5 = New System.Windows.Forms.Button() Me.Panel5 = New System.Windows.Forms.Panel() + Me.txtKundenlimit = New System.Windows.Forms.TextBox() + Me.Label24 = New System.Windows.Forms.Label() Me.Label22 = New System.Windows.Forms.Label() Me.btnBestelldateiErzeugen = New System.Windows.Forms.Button() Me.Label35 = New System.Windows.Forms.Label() @@ -160,8 +163,10 @@ Partial Class frmKundenblatt Me.lblLetzterSA_SDL = New System.Windows.Forms.Label() Me.rtbVermerke = New System.Windows.Forms.RichTextBox() Me.tbSDLKarten = New System.Windows.Forms.TabPage() + Me.usrcntlKarten = New SDL.usrCntlKartenDaten() Me.tbLKW = New System.Windows.Forms.TabPage() Me.pnlLKWRight = New System.Windows.Forms.Panel() + Me.UsrCntlLKW1 = New SDL.usrCntlLKW() Me.pnlLKW = New System.Windows.Forms.Panel() Me.dgvLKW = New System.Windows.Forms.DataGridView() Me.pnlLKWBottom = New System.Windows.Forms.Panel() @@ -191,9 +196,11 @@ Partial Class frmKundenblatt Me.scanPersonalAusweisGF = New VERAG_PROG_ALLGEMEIN.usrcntlPDFScan() Me.scanBankGarantie = New VERAG_PROG_ALLGEMEIN.usrcntlPDFScan() Me.scanVertragVeragKd = New VERAG_PROG_ALLGEMEIN.usrcntlPDFScan() + Me.UsrCntlKundenlogin1 = New SDL.usrCntlKundenlogin() Me.tbBesuchsberichte = New System.Windows.Forms.TabPage() Me.tbFremdrechnungen = New System.Windows.Forms.TabPage() Me.tbOfferte = New System.Windows.Forms.TabPage() + Me.UsrCntlOfferte1 = New SDL.usrCntlOfferte() Me.tbUSTV = New System.Windows.Forms.TabPage() Me.tbcntrUSTV = New System.Windows.Forms.TabControl() Me.tbUSTVDokumente = New System.Windows.Forms.TabPage() @@ -204,6 +211,7 @@ Partial Class frmKundenblatt Me.scanUSTVFABest = New VERAG_PROG_ALLGEMEIN.usrcntlPDFScanList() Me.scanUSTVVollmachten = New VERAG_PROG_ALLGEMEIN.usrcntlPDFScanList() Me.tbUSTVAntrage = New System.Windows.Forms.TabPage() + Me.UsrCntlUSTV = New SDL.usrCntlUSTV() Me.tbFIBU = New System.Windows.Forms.TabPage() Me.txtZinsbelastungTolInTagen = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.Label23 = New System.Windows.Forms.Label() @@ -257,14 +265,6 @@ Partial Class frmKundenblatt Me.tbiLKW = New System.Windows.Forms.ToolStripMenuItem() Me.tbiVERAGCard = New System.Windows.Forms.ToolStripMenuItem() Me.cm_goboxen = New System.Windows.Forms.ContextMenuStrip(Me.components) - Me.UsrcntlKundeBearbeitenFull1 = New SDL.usrcntlKundeBearbeitenFull() - Me.usrcntlKarten = New SDL.usrCntlKartenDaten() - Me.UsrCntlLKW1 = New SDL.usrCntlLKW() - Me.UsrCntlKundenlogin1 = New SDL.usrCntlKundenlogin() - Me.UsrCntlOfferte1 = New SDL.usrCntlOfferte() - Me.UsrCntlUSTV = New SDL.usrCntlUSTV() - Me.Label24 = New System.Windows.Forms.Label() - Me.txtKundenlimit = New System.Windows.Forms.TextBox() Me.pnlInfo.SuspendLayout() Me.tbFirmendaten.SuspendLayout() Me.Panel4.SuspendLayout() @@ -367,6 +367,16 @@ Partial Class frmKundenblatt Me.Panel4.Size = New System.Drawing.Size(1675, 990) Me.Panel4.TabIndex = 0 ' + 'UsrcntlKundeBearbeitenFull1 + ' + Me.UsrcntlKundeBearbeitenFull1.BackColor = System.Drawing.Color.White + Me.UsrcntlKundeBearbeitenFull1.Dock = System.Windows.Forms.DockStyle.Fill + Me.UsrcntlKundeBearbeitenFull1.Location = New System.Drawing.Point(0, 0) + Me.UsrcntlKundeBearbeitenFull1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) + Me.UsrcntlKundeBearbeitenFull1.Name = "UsrcntlKundeBearbeitenFull1" + Me.UsrcntlKundeBearbeitenFull1.Size = New System.Drawing.Size(1675, 990) + Me.UsrcntlKundeBearbeitenFull1.TabIndex = 0 + ' 'tbcntrMain ' Me.tbcntrMain.Appearance = System.Windows.Forms.TabAppearance.FlatButtons @@ -1589,6 +1599,24 @@ Partial Class frmKundenblatt Me.Panel5.Size = New System.Drawing.Size(1661, 143) Me.Panel5.TabIndex = 177 ' + 'txtKundenlimit + ' + Me.txtKundenlimit.Enabled = False + Me.txtKundenlimit.Location = New System.Drawing.Point(74, 122) + Me.txtKundenlimit.Name = "txtKundenlimit" + Me.txtKundenlimit.Size = New System.Drawing.Size(147, 20) + Me.txtKundenlimit.TabIndex = 4 + ' + 'Label24 + ' + Me.Label24.AutoSize = True + Me.Label24.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label24.Location = New System.Drawing.Point(4, 125) + Me.Label24.Name = "Label24" + Me.Label24.Size = New System.Drawing.Size(64, 13) + Me.Label24.TabIndex = 181 + Me.Label24.Text = "Kundenlimit:" + ' 'Label22 ' Me.Label22.AutoSize = True @@ -1978,11 +2006,21 @@ Partial Class frmKundenblatt Me.tbSDLKarten.Location = New System.Drawing.Point(4, 22) Me.tbSDLKarten.Name = "tbSDLKarten" Me.tbSDLKarten.Padding = New System.Windows.Forms.Padding(3) - Me.tbSDLKarten.Size = New System.Drawing.Size(1667, 964) + Me.tbSDLKarten.Size = New System.Drawing.Size(178, 39) Me.tbSDLKarten.TabIndex = 7 Me.tbSDLKarten.Text = "SDL-Kartenverwaltung" Me.tbSDLKarten.UseVisualStyleBackColor = True ' + 'usrcntlKarten + ' + Me.usrcntlKarten.Cursor = System.Windows.Forms.Cursors.Default + Me.usrcntlKarten.Dock = System.Windows.Forms.DockStyle.Fill + Me.usrcntlKarten.Location = New System.Drawing.Point(3, 3) + Me.usrcntlKarten.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) + Me.usrcntlKarten.Name = "usrcntlKarten" + Me.usrcntlKarten.Size = New System.Drawing.Size(172, 33) + Me.usrcntlKarten.TabIndex = 0 + ' 'tbLKW ' Me.tbLKW.Controls.Add(Me.pnlLKWRight) @@ -2005,6 +2043,19 @@ Partial Class frmKundenblatt Me.pnlLKWRight.Size = New System.Drawing.Size(1355, 958) Me.pnlLKWRight.TabIndex = 2 ' + 'UsrCntlLKW1 + ' + Me.UsrCntlLKW1.BackColor = System.Drawing.Color.White + Me.UsrCntlLKW1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.UsrCntlLKW1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.UsrCntlLKW1.Dock = System.Windows.Forms.DockStyle.Fill + Me.UsrCntlLKW1.Location = New System.Drawing.Point(10, 0) + Me.UsrCntlLKW1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) + Me.UsrCntlLKW1.MaximumSize = New System.Drawing.Size(1200, 1000) + Me.UsrCntlLKW1.Name = "UsrCntlLKW1" + Me.UsrCntlLKW1.Size = New System.Drawing.Size(1200, 958) + Me.UsrCntlLKW1.TabIndex = 0 + ' 'pnlLKW ' Me.pnlLKW.Controls.Add(Me.dgvLKW) @@ -2207,7 +2258,7 @@ Partial Class frmKundenblatt Me.tbVERAGCard.Location = New System.Drawing.Point(4, 22) Me.tbVERAGCard.Name = "tbVERAGCard" Me.tbVERAGCard.Padding = New System.Windows.Forms.Padding(3) - Me.tbVERAGCard.Size = New System.Drawing.Size(1667, 964) + Me.tbVERAGCard.Size = New System.Drawing.Size(178, 39) Me.tbVERAGCard.TabIndex = 6 Me.tbVERAGCard.Text = "VERAG Card" Me.tbVERAGCard.UseVisualStyleBackColor = True @@ -2219,7 +2270,7 @@ Partial Class frmKundenblatt Me.Panel3.Dock = System.Windows.Forms.DockStyle.Fill Me.Panel3.Location = New System.Drawing.Point(3, 3) Me.Panel3.Name = "Panel3" - Me.Panel3.Size = New System.Drawing.Size(1661, 958) + Me.Panel3.Size = New System.Drawing.Size(172, 33) Me.Panel3.TabIndex = 0 ' 'tbDokumente @@ -2239,7 +2290,7 @@ Partial Class frmKundenblatt Me.tbDokumente.Controls.Add(Me.UsrCntlKundenlogin1) Me.tbDokumente.Location = New System.Drawing.Point(4, 22) Me.tbDokumente.Name = "tbDokumente" - Me.tbDokumente.Size = New System.Drawing.Size(1667, 964) + Me.tbDokumente.Size = New System.Drawing.Size(178, 39) Me.tbDokumente.TabIndex = 8 Me.tbDokumente.Text = "Dokumente" Me.tbDokumente.UseVisualStyleBackColor = True @@ -2444,12 +2495,19 @@ Partial Class frmKundenblatt Me.scanVertragVeragKd.Size = New System.Drawing.Size(168, 24) Me.scanVertragVeragKd.TabIndex = 0 ' + 'UsrCntlKundenlogin1 + ' + Me.UsrCntlKundenlogin1.Location = New System.Drawing.Point(799, 40) + Me.UsrCntlKundenlogin1.Name = "UsrCntlKundenlogin1" + Me.UsrCntlKundenlogin1.Size = New System.Drawing.Size(452, 236) + Me.UsrCntlKundenlogin1.TabIndex = 7 + ' 'tbBesuchsberichte ' Me.tbBesuchsberichte.Location = New System.Drawing.Point(4, 22) Me.tbBesuchsberichte.Name = "tbBesuchsberichte" Me.tbBesuchsberichte.Padding = New System.Windows.Forms.Padding(3) - Me.tbBesuchsberichte.Size = New System.Drawing.Size(1667, 964) + Me.tbBesuchsberichte.Size = New System.Drawing.Size(178, 39) Me.tbBesuchsberichte.TabIndex = 9 Me.tbBesuchsberichte.Text = "Besuchsberichte" Me.tbBesuchsberichte.UseVisualStyleBackColor = True @@ -2458,7 +2516,7 @@ Partial Class frmKundenblatt ' Me.tbFremdrechnungen.Location = New System.Drawing.Point(4, 22) Me.tbFremdrechnungen.Name = "tbFremdrechnungen" - Me.tbFremdrechnungen.Size = New System.Drawing.Size(1667, 964) + Me.tbFremdrechnungen.Size = New System.Drawing.Size(178, 39) Me.tbFremdrechnungen.TabIndex = 10 Me.tbFremdrechnungen.Text = "Fremdrechnungen" Me.tbFremdrechnungen.UseVisualStyleBackColor = True @@ -2474,6 +2532,16 @@ Partial Class frmKundenblatt Me.tbOfferte.Text = "Offerte" Me.tbOfferte.UseVisualStyleBackColor = True ' + 'UsrCntlOfferte1 + ' + Me.UsrCntlOfferte1.BackColor = System.Drawing.Color.White + Me.UsrCntlOfferte1.Dock = System.Windows.Forms.DockStyle.Fill + Me.UsrCntlOfferte1.Location = New System.Drawing.Point(0, 0) + Me.UsrCntlOfferte1.Margin = New System.Windows.Forms.Padding(1) + Me.UsrCntlOfferte1.Name = "UsrCntlOfferte1" + Me.UsrCntlOfferte1.Size = New System.Drawing.Size(1681, 996) + Me.UsrCntlOfferte1.TabIndex = 0 + ' 'tbUSTV ' Me.tbUSTV.Controls.Add(Me.tbcntrUSTV) @@ -2607,11 +2675,19 @@ Partial Class frmKundenblatt Me.tbUSTVAntrage.Location = New System.Drawing.Point(4, 22) Me.tbUSTVAntrage.Name = "tbUSTVAntrage" Me.tbUSTVAntrage.Padding = New System.Windows.Forms.Padding(3) - Me.tbUSTVAntrage.Size = New System.Drawing.Size(1673, 970) + Me.tbUSTVAntrage.Size = New System.Drawing.Size(184, 45) Me.tbUSTVAntrage.TabIndex = 9 Me.tbUSTVAntrage.Text = "USTV-Anträge" Me.tbUSTVAntrage.UseVisualStyleBackColor = True ' + 'UsrCntlUSTV + ' + Me.UsrCntlUSTV.Dock = System.Windows.Forms.DockStyle.Fill + Me.UsrCntlUSTV.Location = New System.Drawing.Point(3, 3) + Me.UsrCntlUSTV.Name = "UsrCntlUSTV" + Me.UsrCntlUSTV.Size = New System.Drawing.Size(178, 39) + Me.UsrCntlUSTV.TabIndex = 0 + ' 'tbFIBU ' Me.tbFIBU.Controls.Add(Me.txtZinsbelastungTolInTagen) @@ -3044,7 +3120,7 @@ Partial Class frmKundenblatt Me.AllgemeinToolStripMenuItem.ImageAlign = System.Drawing.ContentAlignment.TopCenter Me.AllgemeinToolStripMenuItem.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None Me.AllgemeinToolStripMenuItem.Name = "AllgemeinToolStripMenuItem" - Me.AllgemeinToolStripMenuItem.Size = New System.Drawing.Size(94, 70) + Me.AllgemeinToolStripMenuItem.Size = New System.Drawing.Size(122, 70) Me.AllgemeinToolStripMenuItem.Text = "Allgemein" Me.AllgemeinToolStripMenuItem.TextAlign = System.Drawing.ContentAlignment.BottomCenter Me.AllgemeinToolStripMenuItem.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText @@ -3084,7 +3160,7 @@ Partial Class frmKundenblatt ' Me.cntxtCntxtMDM.ImageScalingSize = New System.Drawing.Size(24, 24) Me.cntxtCntxtMDM.Name = "cntxtCntxtMDM" - Me.cntxtCntxtMDM.OwnerItem = Me.ToolStripMenuItem4 + Me.cntxtCntxtMDM.OwnerItem = Me.ToolStripMenuItem8 Me.cntxtCntxtMDM.Size = New System.Drawing.Size(61, 4) Me.cntxtCntxtMDM.Text = "cntxtMDM" ' @@ -3198,6 +3274,7 @@ Partial Class frmKundenblatt Me.KdSearchBox1._displayFullName = False Me.KdSearchBox1._displayWoelflKd = True Me.KdSearchBox1._hideIfListEmpty = True + Me.KdSearchBox1._hideMDMKd = False Me.KdSearchBox1._loadKdData = False Me.KdSearchBox1._searchName1 = True Me.KdSearchBox1._UseFIRMA = "" @@ -3251,82 +3328,6 @@ Partial Class frmKundenblatt Me.cm_goboxen.Name = "cm_goboxen" Me.cm_goboxen.Size = New System.Drawing.Size(61, 4) ' - 'UsrcntlKundeBearbeitenFull1 - ' - Me.UsrcntlKundeBearbeitenFull1.BackColor = System.Drawing.Color.White - Me.UsrcntlKundeBearbeitenFull1.Dock = System.Windows.Forms.DockStyle.Fill - Me.UsrcntlKundeBearbeitenFull1.Location = New System.Drawing.Point(0, 0) - Me.UsrcntlKundeBearbeitenFull1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) - Me.UsrcntlKundeBearbeitenFull1.Name = "UsrcntlKundeBearbeitenFull1" - Me.UsrcntlKundeBearbeitenFull1.Size = New System.Drawing.Size(1675, 990) - Me.UsrcntlKundeBearbeitenFull1.TabIndex = 0 - ' - 'usrcntlKarten - ' - Me.usrcntlKarten.Cursor = System.Windows.Forms.Cursors.Default - Me.usrcntlKarten.Dock = System.Windows.Forms.DockStyle.Fill - Me.usrcntlKarten.Location = New System.Drawing.Point(3, 3) - Me.usrcntlKarten.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) - Me.usrcntlKarten.Name = "usrcntlKarten" - Me.usrcntlKarten.Size = New System.Drawing.Size(1661, 958) - Me.usrcntlKarten.TabIndex = 0 - ' - 'UsrCntlLKW1 - ' - Me.UsrCntlLKW1.BackColor = System.Drawing.Color.White - Me.UsrCntlLKW1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom - Me.UsrCntlLKW1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.UsrCntlLKW1.Dock = System.Windows.Forms.DockStyle.Fill - Me.UsrCntlLKW1.Location = New System.Drawing.Point(10, 0) - Me.UsrCntlLKW1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) - Me.UsrCntlLKW1.MaximumSize = New System.Drawing.Size(1200, 1000) - Me.UsrCntlLKW1.Name = "UsrCntlLKW1" - Me.UsrCntlLKW1.Size = New System.Drawing.Size(1200, 958) - Me.UsrCntlLKW1.TabIndex = 0 - ' - 'UsrCntlKundenlogin1 - ' - Me.UsrCntlKundenlogin1.Location = New System.Drawing.Point(799, 40) - Me.UsrCntlKundenlogin1.Name = "UsrCntlKundenlogin1" - Me.UsrCntlKundenlogin1.Size = New System.Drawing.Size(452, 236) - Me.UsrCntlKundenlogin1.TabIndex = 7 - ' - 'UsrCntlOfferte1 - ' - Me.UsrCntlOfferte1.BackColor = System.Drawing.Color.White - Me.UsrCntlOfferte1.Dock = System.Windows.Forms.DockStyle.Fill - Me.UsrCntlOfferte1.Location = New System.Drawing.Point(0, 0) - Me.UsrCntlOfferte1.Margin = New System.Windows.Forms.Padding(1) - Me.UsrCntlOfferte1.Name = "UsrCntlOfferte1" - Me.UsrCntlOfferte1.Size = New System.Drawing.Size(1681, 996) - Me.UsrCntlOfferte1.TabIndex = 0 - ' - 'UsrCntlUSTV - ' - Me.UsrCntlUSTV.Dock = System.Windows.Forms.DockStyle.Fill - Me.UsrCntlUSTV.Location = New System.Drawing.Point(3, 3) - Me.UsrCntlUSTV.Name = "UsrCntlUSTV" - Me.UsrCntlUSTV.Size = New System.Drawing.Size(1667, 964) - Me.UsrCntlUSTV.TabIndex = 0 - ' - 'Label24 - ' - Me.Label24.AutoSize = True - Me.Label24.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label24.Location = New System.Drawing.Point(4, 125) - Me.Label24.Name = "Label24" - Me.Label24.Size = New System.Drawing.Size(64, 13) - Me.Label24.TabIndex = 181 - Me.Label24.Text = "Kundenlimit:" - ' - 'txtKundenlimit - ' - Me.txtKundenlimit.Enabled = False - Me.txtKundenlimit.Location = New System.Drawing.Point(74, 122) - Me.txtKundenlimit.Name = "txtKundenlimit" - Me.txtKundenlimit.Size = New System.Drawing.Size(147, 20) - Me.txtKundenlimit.TabIndex = 4 - ' 'frmKundenblatt ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) diff --git a/SDL/kunden/usrcntlKundeBearbeitenFull.vb b/SDL/kunden/usrcntlKundeBearbeitenFull.vb index e73bf1c1..7c19cd54 100644 --- a/SDL/kunden/usrcntlKundeBearbeitenFull.vb +++ b/SDL/kunden/usrcntlKundeBearbeitenFull.vb @@ -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 diff --git a/SDL/mdm/frmMDMDatenverarbetiung.Designer.vb b/SDL/mdm/frmMDMDatenverarbetiung.Designer.vb index 889c6ab9..fe323d8a 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.Designer.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.Designer.vb @@ -46,6 +46,7 @@ Partial Class frmMDMDatenverarbetiung Me.Button8 = New System.Windows.Forms.Button() Me.Button4 = New System.Windows.Forms.Button() Me.Button9 = New System.Windows.Forms.Button() + Me.Button11 = New System.Windows.Forms.Button() Me.btnDatenLaden = New System.Windows.Forms.Button() Me.Label1 = New System.Windows.Forms.Label() Me.lbl = New System.Windows.Forms.Label() @@ -86,7 +87,7 @@ Partial Class frmMDMDatenverarbetiung Me.Button2 = New System.Windows.Forms.Button() Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.MyDatagridview1 = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) - Me.Button11 = New System.Windows.Forms.Button() + Me.cbxBankspesen = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.pnl.SuspendLayout() CType(Me.pb_importOK, System.ComponentModel.ISupportInitialize).BeginInit() Me.Panel5.SuspendLayout() @@ -105,6 +106,7 @@ Partial Class frmMDMDatenverarbetiung ' 'pnl ' + Me.pnl.Controls.Add(Me.cbxBankspesen) Me.pnl.Controls.Add(Me.btnImportdet) Me.pnl.Controls.Add(Me.pb_importOK) Me.pnl.Controls.Add(Me.cbxIDSmitVerag) @@ -226,7 +228,7 @@ Partial Class frmMDMDatenverarbetiung 'cbxTestdaten ' Me.cbxTestdaten.AutoSize = True - Me.cbxTestdaten.Location = New System.Drawing.Point(905, 75) + Me.cbxTestdaten.Location = New System.Drawing.Point(896, 11) Me.cbxTestdaten.Name = "cbxTestdaten" Me.cbxTestdaten.Size = New System.Drawing.Size(74, 17) Me.cbxTestdaten.TabIndex = 51 @@ -242,7 +244,7 @@ Partial Class frmMDMDatenverarbetiung Me.Panel4.Controls.Add(Me.dat_Sum_Von) Me.Panel4.Location = New System.Drawing.Point(0, 67) Me.Panel4.Name = "Panel4" - Me.Panel4.Size = New System.Drawing.Size(417, 33) + Me.Panel4.Size = New System.Drawing.Size(395, 33) Me.Panel4.TabIndex = 28 ' 'Label46 @@ -351,6 +353,17 @@ Partial Class frmMDMDatenverarbetiung Me.Button9.Text = "MSE" Me.Button9.UseVisualStyleBackColor = False ' + 'Button11 + ' + Me.Button11.BackColor = System.Drawing.Color.FloralWhite + Me.Button11.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button11.Location = New System.Drawing.Point(633, 3) + Me.Button11.Name = "Button11" + Me.Button11.Size = New System.Drawing.Size(120, 23) + Me.Button11.TabIndex = 5 + Me.Button11.Text = "Bankspesen" + Me.Button11.UseVisualStyleBackColor = False + ' 'btnDatenLaden ' Me.btnDatenLaden.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) @@ -839,16 +852,17 @@ Partial Class frmMDMDatenverarbetiung Me.MyDatagridview1.Size = New System.Drawing.Size(1163, 547) Me.MyDatagridview1.TabIndex = 0 ' - 'Button11 + 'cbxBankspesen ' - Me.Button11.BackColor = System.Drawing.Color.FloralWhite - Me.Button11.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.Button11.Location = New System.Drawing.Point(633, 3) - Me.Button11.Name = "Button11" - Me.Button11.Size = New System.Drawing.Size(120, 23) - Me.Button11.TabIndex = 5 - Me.Button11.Text = "Bankspesen" - Me.Button11.UseVisualStyleBackColor = False + Me.cbxBankspesen._allowedValuesFreiText = Nothing + Me.cbxBankspesen._allowFreiText = False + Me.cbxBankspesen._value = "" + Me.cbxBankspesen.FormattingEnabled = True + Me.cbxBankspesen.Location = New System.Drawing.Point(882, 73) + Me.cbxBankspesen.Name = "cbxBankspesen" + Me.cbxBankspesen.Size = New System.Drawing.Size(97, 21) + Me.cbxBankspesen.TabIndex = 133 + Me.cbxBankspesen.Visible = False ' 'frmMDMDatenverarbetiung ' @@ -949,4 +963,5 @@ Partial Class frmMDMDatenverarbetiung Friend WithEvents pb_importOK As PictureBox Friend WithEvents btnImportdet As Button Friend WithEvents Button11 As Button + Friend WithEvents cbxBankspesen As VERAG_PROG_ALLGEMEIN.MyComboBox End Class diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index c2121bc4..a554bbd3 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -30,6 +30,10 @@ Public Class frmMDMDatenverarbetiung test = cbxTestdaten.Checked + cbxBankspesen.Items.Add(New MyListItem("", "")) + cbxBankspesen.Items.Add(New MyListItem("MONAT", "M")) + cbxBankspesen.Items.Add(New MyListItem("QUARTAL", "Q")) + End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click @@ -61,7 +65,13 @@ Public Class frmMDMDatenverarbetiung Case "UTA" : pruef = pruefData_UTA() Case "IDS" : pruef = pruefData_IDS() Case "MSE" : pruef = pruefData_MSE() - Case "BANK" : pruef = pruefData_Bank() + Case "BANK" + + If cbxBankspesen._value = "" Then + MsgBox("TYP auswählen") : Exit Sub + End If + + pruef = pruefData_Bank(cbxBankspesen._value) Case Else : MsgBox("Nicht verfügbar!") : Exit Sub End Select @@ -103,7 +113,7 @@ Public Class frmMDMDatenverarbetiung Case "MSE" : checkImport(LIEFERANT) : initDgv_MSE() btnDatenLaden.Text = "Daten laden" - Case "BANK" : checkImport(LIEFERANT) : initDgv_Bank() + Case "BANK" : checkImport(LIEFERANT) : initDgv_Bank(cbxBankspesen._value) btnDatenLaden.Text = "Daten laden" Button1.Enabled = False End Select @@ -119,11 +129,17 @@ Public Class frmMDMDatenverarbetiung Dim sqlstr As String = "" + + Select Case LIEFERANT - Case "PLOSE", "BANK" + Case "PLOSE" sqlstr = "SELECT * FROM [VERAG].[dbo].[tblMDMEinarbeitung] where supplier = '" & LIEFERANT & "' and invoicedate between '" & dat_Sum_Von.Value & "' and '" & dat_Sum_Bis.Value & "'" Case "ASFINAG" sqlstr = "SELECT * FROM [VERAG].[dbo].[tblMDMEinarbeitung] where supplier = '" & LIEFERANT & "' and YEAR(invoicedate) = " & Today().Year + + Case "BANK" + sqlstr = "SELECT * FROM [VERAG].[dbo].[tblMDMEinarbeitung] where supplier = '" & LIEFERANT & "_" & cbxBankspesen._value & "' and invoicedate between '" & dat_Sum_Von.Value & "' and '" & dat_Sum_Bis.Value & "'" + Case Else sqlstr = "SELECT * FROM [VERAG].[dbo].[tblMDMEinarbeitung] where supplier = '" & LIEFERANT & "' and invoicedate ='" & DateTimePicker2.Text & "'" End Select @@ -211,7 +227,7 @@ Public Class frmMDMDatenverarbetiung Dim dTLANDEU = (New SQL).loadDgvBySql("select LandKz, MitgliedslandEU from Währungstabelle where LandKz is not null", "FMZOLL") - If genRG_Bank(dTLANDEU, cbxIDSmitVerag.Checked) Then + If genRG_Bank(dTLANDEU, cbxIDSmitVerag.Checked, cbxBankspesen._value) Then setFakturiert(LIEFERANT) End If @@ -1055,6 +1071,8 @@ Public Class frmMDMDatenverarbetiung txtPruefsummeBrutto.Text = CDbl(sumBto).ToString("C2") .ClearSelection() + setLabelTTR("PLOSE") + End With End Sub @@ -1108,6 +1126,8 @@ Public Class frmMDMDatenverarbetiung txtPruefsummeBrutto.Text = CDbl(sumBto).ToString("C2") .ClearSelection() + setLabelTTR("UTA") + End With End Sub @@ -1151,11 +1171,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() @@ -1164,13 +1180,13 @@ Public Class frmMDMDatenverarbetiung End Sub - Sub initDgv_Bank() + Sub initDgv_Bank(typ As String) With MyDatagridview1 .Columns.Clear() - .SET_SQL(" SELECT spesen.kundenNr as KdNr, Adressen.[Name 1] as Name, datum as Datum , (spesen.betrag * -1) as Betrag, spesen.gebuehr as Gebühr , spesen.buchungstext as Buchnungstext,spesen.kontoauszug as Kontoauszug, spesen.iban as IBAN, spesen.bic as BIC FROM [tblMDM_Bankspesen] as spesen + .SET_SQL(" SELECT spesen.kundenNr as KdNr, Adressen.[Name 1] as Name, datum as Datum , spesen.betrag as Betrag, spesen.gebuehr as Gebühr , spesen.buchungstext as Buchnungstext,spesen.kontoauszug as Kontoauszug, spesen.iban as IBAN, spesen.bic as BIC FROM [tblMDM_Bankspesen] as spesen inner join adressen ON spesen.kundenNr = Adressen.AdressenNr - where datum between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' and spesen.typ = 'Q' and isnull(spesen.RK_ID,0) = 0 and spesen.SR_datum is null " & IIf(cbxIDSmitVerag.Checked, " ", " AND Left(spesen.KundenNr,2) <> 14 AND Left(spesen.KundenNr,2) <> 15 "), "FMZOLL") + where datum between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' and spesen.typ = '" & typ & "' and isnull(spesen.RK_ID,0) = 0 and spesen.SR_datum is null " & IIf(cbxIDSmitVerag.Checked, " ", " AND Left(spesen.KundenNr,2) <> 14 AND Left(spesen.KundenNr,2) <> 15 AND Left(spesen.KundenNr,2) <> 18 "), "FMZOLL") .LOAD() @@ -1193,9 +1209,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 +1317,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 +1371,8 @@ Public Class frmMDMDatenverarbetiung txtPruefsummeNetto.Text = CDbl(sumNto).ToString("C2") txtPruefsummeBrutto.Text = CDbl(sumBto).ToString("C2") + setLabelTTR("ASFINAG") + .ClearSelection() @@ -1395,6 +1407,7 @@ Public Class frmMDMDatenverarbetiung Panel5.Visible = False cbxKopie.Visible = False cbxIDSmitVerag.Visible = False + cbxBankspesen.Visible = False Select Case Me.LIEFERANT @@ -1434,6 +1447,7 @@ Public Class frmMDMDatenverarbetiung Panel4.Visible = True cbxIDSmitVerag.Text = "Daten mit RMC/Durmaz" cbxIDSmitVerag.Visible = True + cbxBankspesen.Visible = True End Select init() @@ -1813,14 +1827,14 @@ Public Class frmMDMDatenverarbetiung End Function - Function genRG_Bank(dtLand As DataTable, mitRM_CDurmaz_Daten As Boolean) As Boolean + Function genRG_Bank(dtLand As DataTable, mitRM_CDurmaz_Daten As Boolean, typ As String) As Boolean Dim top = "" 'top = " TOP 20 " Dim sqlWhere = "" Dim SQLStr = "SELECT spesen.kundenNr, Adressen.[Name 1], sum(spesen.gebuehr) as gebuehr FROM [tblMDM_Bankspesen] as spesen inner join adressen ON spesen.kundenNr = Adressen.AdressenNr - where datum between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' and spesen.typ = 'Q' and isnull(spesen.RK_ID,0) = 0 and spesen.SR_datum is null " & IIf(mitRM_CDurmaz_Daten, "", " AND Left(spesen.KundenNr,2) <> 14 AND Left(spesen.KundenNr,2) <> 15") & "group by spesen.kundenNr, Adressen.[Name 1]" + where datum between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' and spesen.typ = '" & typ & "' and isnull(spesen.RK_ID,0) = 0 and spesen.SR_datum is null " & IIf(mitRM_CDurmaz_Daten, "", " AND Left(spesen.KundenNr,2) <> 14 AND Left(spesen.KundenNr,2) <> 15") & "group by spesen.kundenNr, Adressen.[Name 1]" Dim dt_Main As DataTable = SQL.loadDgvBySql_Param(SQLStr, "FMZOLL", 1200) @@ -1852,11 +1866,12 @@ Public Class frmMDMDatenverarbetiung End If End If + Dim LeistungsNrBank As Integer = IIf(cbxBankspesen._value = "Q", 424, 425) Dim sqlStringFehlendeOffertenNr = "select KundenNr from Offertenpositionen where KundenNr in (" & kundenNr & ") GROUP by KundenNr EXCEPT - select KundenNr from Offertenpositionen where LeistungsNr = 424 and KundenNr in (" & kundenNr & ") + select KundenNr from Offertenpositionen where LeistungsNr = " & LeistungsNrBank & " and KundenNr in (" & kundenNr & ") GROUP by KundenNr" Dim dtfehlendeOfferten As DataTable = SQL.loadDgvBySql(sqlStringFehlendeOffertenNr, "FMZOLL") @@ -1864,7 +1879,7 @@ Public Class frmMDMDatenverarbetiung If dtfehlendeOfferten.Rows.Count > 0 Then - Dim result As MsgBoxResult = MsgBox("Bei " & dt_Main.Rows.Count & " Kunden fehlt das Offert im Kundenstamm " & vbNewLine & "Möchten Sie das Offert automatisch anlegen, andernfalls werden die Bankspesen bei diesen Kunden nicht verrechnet?", vbYesNoCancel) + Dim result As MsgBoxResult = MsgBox("Bei " & dt_Main.Rows.Count & " Kunden fehlt das Offert mit der LeistungsNr " & LeistungsNrBank & " im Kundenstamm " & vbNewLine & "Möchten Sie das Offert automatisch anlegen, andernfalls werden die Bankspesen bei diesen Kunden nicht verrechnet?", vbYesNoCancel) Select Case result Case MsgBoxResult.Cancel : Return False @@ -1872,7 +1887,6 @@ Public Class frmMDMDatenverarbetiung Case MsgBoxResult.Yes - For Each R As DataRow In dtfehlendeOfferten.Rows If Not IsDBNull(R.Item("KundenNr")) AndAlso R.Item("KundenNr") IsNot Nothing AndAlso IsNumeric(R.Item("KundenNr")) Then Dim OffertenNr As Integer = -1 @@ -1911,6 +1925,8 @@ Public Class frmMDMDatenverarbetiung Next + Case MsgBoxResult.No + End Select @@ -1933,9 +1949,9 @@ Public Class frmMDMDatenverarbetiung If verarbOK Then 'Update Fakturiert - SQL.doSQL("UPDATE tblMDM_Bankspesen set RK_ID = " & RECHNUNG.RK_ID & ", SR_datum = '" & datPloseAnhang.Value.ToShortDateString & "' where datum between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' and typ = 'Q' and isnull(RK_ID,0) = 0 and SR_datum is null and kundenNr = " & BANK("kundenNr"), "FMZOLL") + SQL.doSQL("UPDATE tblMDM_Bankspesen set RK_ID = " & RECHNUNG.RK_ID & ", SR_datum = '" & datPloseAnhang.Value.ToShortDateString & "' where datum between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' and typ = '" & typ & "' and isnull(RK_ID,0) = 0 and SR_datum is null and kundenNr = " & BANK("kundenNr"), "FMZOLL") - End If + End If If True Then 'cnt Mod 10 = 0 Then txtPloseAnh_Einarbeitung.Text = cnt & " / " & dt_Main.Rows.Count @@ -2020,10 +2036,7 @@ Public Class frmMDMDatenverarbetiung Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing Dim verarbOK = IIf(test, False, True) - 'Dim RECHNUNG As cRechnungsausgang = Nothing - - Dim integerTem = 3051176 - Dim RECHNUNG As New cRechnungsausgang(integerTem) + Dim RECHNUNG As cRechnungsausgang = Nothing If Not gen_SPEDBUCH_ByKdNr(IDS("KdNrVERAG"), SPEDBUCH, art,,,, datPloseAnhang.Value) Then verarbOK = False If Not gen_RECHNUNG_BySPEDBUCH(IDS("KdNrVERAG"), SPEDBUCH, art,,,, RECHNUNG) Then verarbOK = False @@ -4163,8 +4176,10 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land Case "BANK" - sqlstr = "SELECT spesen.kundenNr, sum(spesen.gebuehr) as gebuehr, 424 as LeistungsNr, min(cast(datum as Date)) as MinDatum, max(cast(datum as Date)) as MaxDatum FROM [tblMDM_Bankspesen] as spesen - where spesen.datum between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' and spesen.typ = 'Q' and isnull(spesen.RK_ID,0) = 0 and spesen.SR_datum is null and spesen.KundenNr = " & KdNr & " + Dim LeistungsNrBank As Integer = IIf(cbxBankspesen._value = "Q", 424, 425) + + sqlstr = "SELECT spesen.kundenNr, sum(spesen.gebuehr) as gebuehr, " & LeistungsNrBank & " as LeistungsNr, min(cast(datum as Date)) as MinDatum, max(cast(datum as Date)) as MaxDatum FROM [tblMDM_Bankspesen] as spesen + where spesen.datum between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' and spesen.typ = '" & cbxBankspesen._value & "' and isnull(spesen.RK_ID,0) = 0 and spesen.SR_datum is null and spesen.KundenNr = " & KdNr & " group by spesen.kundenNr" Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL") @@ -4181,23 +4196,32 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land Dim minQuartal As Integer = -1 Dim maxQuartal As Integer = -1 + If DateTime.TryParse(Convert.ToString(r("MinDatum")), minDatum) Then - minQuartal = ((minDatum.Month - 1) \ 3) + 1 - End If + minQuartal = ((minDatum.Month - 1) \ 3) + 1 + End If If DateTime.TryParse(Convert.ToString(r("MaxDatum")), maxDatum) Then maxQuartal = ((maxDatum.Month - 1) \ 3) + 1 End If - If minQuartal > 0 AndAlso maxQuartal > 0 Then - If minDatum.Year = maxDatum.Year AndAlso minQuartal = maxQuartal Then - LeistungsBezAdd = " Q " & minQuartal & "/" & minDatum.Year - Else - LeistungsBezAdd = " Q " & minQuartal & "-" & maxQuartal & "/" & minDatum.Year + If cbxBankspesen._value = "Q" Then + + If minQuartal > 0 AndAlso maxQuartal > 0 Then + If minDatum.Year = maxDatum.Year AndAlso minQuartal = maxQuartal Then + LeistungsBezAdd = " Q " & minQuartal & "/" & minDatum.Year + Else + LeistungsBezAdd = " Q " & minQuartal & "-" & maxQuartal & "/" & minDatum.Year + End If End If + + Else + LeistungsBezAdd = " M " & minQuartal & "/" & minDatum.Year + End If + allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag,,, LeistungsBezAdd) Next @@ -5027,12 +5051,12 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land End Try End Function - Function pruefData_Bank() As Boolean + Function pruefData_Bank(typ As String) As Boolean pruefData_Bank = True Try Dim fehlendeKundenr As Integer = CInt((New SQL).getValueTxtBySql("select count(*) from tblMDM_Bankspesen as spesen - WHERE datum between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' and spesen.typ = 'Q' and isnull(spesen.RK_ID,0) = 0 and spesen.SR_datum is null and spesen.kundenNr <= 0 ", "FMZOLL")) + WHERE datum between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' and spesen.typ = '" & typ & "' and isnull(spesen.RK_ID,0) = 0 and spesen.SR_datum is null and spesen.kundenNr <= 0 ", "FMZOLL")) If fehlendeKundenr > 0 Then pruefData_Bank = False @@ -5333,7 +5357,7 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land Case "BANK" If SQL.doSQL("UPDATE [VERAG].[dbo].[tblMDM_Bankspesen] Set verrechnet = getDate() - where datum between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' and typ = 'Q' and isnull(RK_ID,0) <> 0 and SR_datum is not null ", "FMZOLL") Then + where datum between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' and typ = '" & cbxBankspesen._value & "' and isnull(RK_ID,0) <> 0 and SR_datum is not null ", "FMZOLL") Then setBillingDateCompleted(Lieferant, datPloseAnhang.Value) @@ -5489,11 +5513,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 @@ -5899,6 +5918,53 @@ RabattBerechnen: End If Return checkDate + End Function + + Private Function setLabelTTR(Lieferant As String) + txtTTRSum.Visible = False + lblTTRSum.Visible = False + txtTTRSum._WaehrungZeichen = False + + Label3.Text = "Prüfsumme netto:" + Label4.Text = "Prüfsumme brutto:" + + + + + 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" + + + Label3.Text = "Prüfsumme Gebühr:" + Label4.Text = "Prüfsumme Betrag:" + + + End Select + + + + + + End Function Private Function checkFixeTaxeImOffert(Lieferant As String, dt As DataTable) As Boolean @@ -5973,7 +6039,7 @@ RabattBerechnen: Select Case LIEFERANT Case "IDS" : initDgv_IDS() - Case "BANK" : initDgv_Bank() + Case "BANK" : initDgv_Bank(cbxBankspesen._value) End Select @@ -6030,4 +6096,12 @@ RabattBerechnen: Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click initLieferant("BANK", sender) End Sub + + Private Sub cbxBankspesen_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbxBankspesen.SelectedValueChanged + + If LIEFERANT = "BANK" Then + initDgv_Bank(cbxBankspesen._value) + End If + + End Sub End Class diff --git a/SDL/seriendruck/usrCntlFakturierung.vb b/SDL/seriendruck/usrCntlFakturierung.vb index 0fbdb4d2..6e58104e 100644 --- a/SDL/seriendruck/usrCntlFakturierung.vb +++ b/SDL/seriendruck/usrCntlFakturierung.vb @@ -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 diff --git a/SDL/zoll/usrCntlZOLLAuswertungen.Designer.vb b/SDL/zoll/usrCntlZOLLAuswertungen.Designer.vb index f8d2fe0f..d601c82f 100644 --- a/SDL/zoll/usrCntlZOLLAuswertungen.Designer.vb +++ b/SDL/zoll/usrCntlZOLLAuswertungen.Designer.vb @@ -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 diff --git a/SDL/zoll/usrCntlZOLLAuswertungen.vb b/SDL/zoll/usrCntlZOLLAuswertungen.vb index f66c5cd3..5e6a951f 100644 --- a/SDL/zoll/usrCntlZOLLAuswertungen.vb +++ b/SDL/zoll/usrCntlZOLLAuswertungen.vb @@ -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 + diff --git a/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb b/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb index 2c0a28a7..3e32fc24 100644 --- a/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb +++ b/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb @@ -2020,6 +2020,7 @@ Public Class cDatenarchiv_Collection Catch : End Try Return SQL.doSQL("DELETE FROM [tblDatenarchiv_Collection] WHERE [coll_id]=" & coll_id & " ", "FMZOLL") Else + Return SQL.doSQL("DELETE FROM [tblDatenarchiv_Collection] WHERE [coll_id]=" & coll_id & " ", "FMZOLL") 'wegn fehlendem Speicherplatz kann uU zwar der DS angelegt wurden sein, allerdings keine Datei dahinter, diese sollten hier bereinigt werden. Return True End If End If diff --git a/VERAG_PROG_ALLGEMEIN/VERAG_Zollanmeldung/cVERAG_CustomsDeclarations.vb b/VERAG_PROG_ALLGEMEIN/VERAG_Zollanmeldung/cVERAG_CustomsDeclarations.vb index 64b02e95..b9df298e 100644 --- a/VERAG_PROG_ALLGEMEIN/VERAG_Zollanmeldung/cVERAG_CustomsDeclarations.vb +++ b/VERAG_PROG_ALLGEMEIN/VERAG_Zollanmeldung/cVERAG_CustomsDeclarations.vb @@ -519,7 +519,7 @@ Public Class cVERAG_CustomsDeclarations Return ZA End Function - Public Sub checkfreshCBAMWarning() + Public Sub checkfreshCBAMWarning(hasValidCBAMDocNr_VERAG As Boolean) Try Dim CBAM_ITEMS As New List(Of cVERAG_CustomsDeclarations_Item) @@ -543,7 +543,7 @@ Public Class cVERAG_CustomsDeclarations If AD IsNot Nothing Then - ImporterString = AD.Name_1 & " " & If(AD.Name_2, "") & "
" & If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "") + ImporterString = AD.AdressenNr & "
" & AD.Name_1 & " " & If(AD.Name_2, "") & "
" & If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "") End If Dim KD_EX As cKunde = Nothing @@ -555,7 +555,7 @@ Public Class cVERAG_CustomsDeclarations End If If AD_EX IsNot Nothing Then - ExporterString = AD_EX.Name_1 & " " & If(AD_EX.Name_2, "") & "
" & If(AD_EX.LandKz, "") & " " & If(AD_EX.PLZ, "") & " " & If(AD_EX.Ort, "") + ExporterString = AD_EX.AdressenNr & "
" & AD_EX.Name_1 & " " & If(AD_EX.Name_2, "") & "
" & If(AD_EX.LandKz, "") & " " & If(AD_EX.PLZ, "") & " " & If(AD_EX.Ort, "") End If @@ -582,7 +582,7 @@ Public Class cVERAG_CustomsDeclarations End If If AD_IND IsNot Nothing Then - vertretenerString = AD_IND.Name_1 & " " & If(AD_IND.Name_2, "") & "
" & If(AD_IND.LandKz, "") & " " & If(AD_IND.PLZ, "") & " " & If(AD_IND.Ort, "") + vertretenerString = AD_IND.AdressenNr & "
" & AD_IND.Name_1 & " " & If(AD_IND.Name_2, "") & "
" & If(AD_IND.LandKz, "") & " " & If(AD_IND.PLZ, "") & " " & If(AD_IND.Ort, "") ERW_IND = New cKundenErweitert(AD.AdressenNr) VERTR_IND = cKundenVertraege.LOAD_LISTOF(AD.AdressenNr) End If @@ -601,8 +601,8 @@ Public Class cVERAG_CustomsDeclarations Dim eigenmasseSumme_YEAR As Decimal = getCBAM_KG(vertretenerEORI, CDate("01.01." & dateCBAM.Year), CDate("31.12." & dateCBAM.Year), za_MRN) / 1000 Dim quarter As Integer = Math.Ceiling(dateCBAM.Month / 3.0) - Dim CountryOfOrigin As String = If(CBAM_ITEMS.FirstOrDefault()?.zaItem_OriginCountry, "") - createOrUpdateKundenSicherheitseintrag(KD_IND, CountryOfOrigin, vertretenerEORI, quarter, dateCBAM.Year) + Dim ImportCountry As String = If(za_CountryImport, "") + If hasValidCBAMDocNr_VERAG Then createOrUpdateKundenSicherheitseintrag(KD, ImportCountry, vertretenerEORI, quarter, dateCBAM.Year) 'Prüft, ob Vertrag vorliegt: @@ -660,8 +660,8 @@ Public Class cVERAG_CustomsDeclarations "" - Dim empfanegerMail As String = "" - empfanegerMail = cMitarbeiter.GetEMailRecipientForEmailNotification("CBAM-WARNUNG") + Dim empfanegerMail As String = "cbam@verag.ag;" + empfanegerMail &= cMitarbeiter.GetEMailRecipientForEmailNotification("CBAM-WARNUNG") If empfanegerMail <> "" Then VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfanegerMail, "CBAM WARNUNG - " & Me.za_MRN, bodyHtml, "cbam@verag.ag") End If @@ -686,9 +686,9 @@ Public Class cVERAG_CustomsDeclarations Dim dateCBAM = If(If(za_ReleaseDate, za_DeclarationDate), Now) - Dim CountryOfOrigin As String = If(CBAM_ITEMS.FirstOrDefault()?.zaItem_OriginCountry, "") + Dim ImportCountry As String = If(za_CountryImport, "") Dim quarter As Integer = Math.Ceiling(dateCBAM.Month / 3.0) - createOrUpdateKundenSicherheitseintrag(KD, CountryOfOrigin, importerEORI, quarter, dateCBAM.Year) + If hasValidCBAMDocNr_VERAG Then createOrUpdateKundenSicherheitseintrag(KD, ImportCountry, importerEORI, quarter, dateCBAM.Year) Dim eigenmasseSumme_Shipment As Decimal = CBAM_ITEMS.Sum(Function(i) If(i.zaItem_NetMass, 0D)) / 1000 Dim eigenmasseSumme_YEAR As Decimal = getCBAM_KG(importerEORI, CDate("01.01." & dateCBAM.Year), CDate("31.12." & dateCBAM.Year)) / 1000 @@ -818,7 +818,7 @@ Public Class cVERAG_CustomsDeclarations Return String.Join(", ", result) End Function - Private Function createOrUpdateKundenSicherheitseintrag(KUNDE As cKunde, CountryOfOrigin As String, EORI As String, cbamQquarter As Integer, cbamYear As Integer) + Private Function createOrUpdateKundenSicherheitseintrag(KUNDE As cKunde, ImportCountry As String, EORI As String, cbamQquarter As Integer, cbamYear As Integer) Dim von As Date Dim bis As Date @@ -844,12 +844,12 @@ Public Class cVERAG_CustomsDeclarations Case "4" von = New Date(cbamYear, 10, 1) bis = New Date(cbamYear, 12, 31) - CBAMZertifikatKosten = 0 + CBAMZertifikatKosten = 100 End Select Dim EORI_ = {EORI} - Dim LIST As List(Of VERAG_PROG_ALLGEMEIN.cVERAG_CustomsDeclarations) = VERAG_PROG_ALLGEMEIN.cVERAG_CustomsDeclarations.LOAD_List_CBAM(EORI_, CountryOfOrigin, von, bis,, True) + Dim LIST As List(Of VERAG_PROG_ALLGEMEIN.cVERAG_CustomsDeclarations) = VERAG_PROG_ALLGEMEIN.cVERAG_CustomsDeclarations.LOAD_List_CBAM(EORI_, ImportCountry, von, bis,, True) Dim grouped = From za In LIST @@ -870,9 +870,6 @@ Public Class cVERAG_CustomsDeclarations } - - - If grouped.Count < 1 Then Return False End If @@ -884,10 +881,15 @@ Public Class cVERAG_CustomsDeclarations For Each r In grouped - cATEZ_Greenpulse_CBAM_CostCalculation.calcCBAM_ByCertificatePrice(r.Tarif, r.Rohmasse, r.Country, CBAMZertifikatKosten, cbamYear, cost, emission, benchmark) + Dim eigMasse = If(IsNumeric(r.Eigenmasse), r.Eigenmasse / 1000, 0) + cATEZ_Greenpulse_CBAM_CostCalculation.calcCBAM_ByCertificatePrice(r.Tarif, eigMasse, r.Country, CBAMZertifikatKosten, cbamYear, cost, emission, benchmark) gesamtBetrag += cost Next + If gesamtBetrag > 0 Then + gesamtBetrag *= -1 + End If + If gesamtBetrag <> 0 Then Dim Kunde_Sicherheit As New cKundenSicherheiten(KUNDE.KundenNr, cbamQquarter, cbamYear) diff --git a/VERAG_PROG_ALLGEMEIN/cAllgemein.vb b/VERAG_PROG_ALLGEMEIN/cAllgemein.vb index a04d9d27..c2124779 100644 --- a/VERAG_PROG_ALLGEMEIN/cAllgemein.vb +++ b/VERAG_PROG_ALLGEMEIN/cAllgemein.vb @@ -1,5 +1,6 @@ Imports System.Data.SqlClient Imports System.IO +Imports System.Windows.Forms Public Class cAllgemein Public Shared FIRMA As String Public Shared NIEDERLASSUNG As String 'SUB, WAI, ... @@ -152,7 +153,7 @@ Public Class cAllgemein Try 'DRUCKER LADEN Dim sPrinters As New ArrayList For Each sPrinter As String In System.Drawing.Printing.PrinterSettings.InstalledPrinters - sPrinters.add(sPrinter) + sPrinters.Add(sPrinter) Next VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_LIST = sPrinters Catch ex As Exception @@ -2031,3 +2032,97 @@ Public Class cSpeditionsbuchReport End Class + +Public Class cInvoiceReport + + Public Function RunReport_VERAG_INVOICE(KDNR As Integer, ReDatVon As Date, ReDatBis As Date) As String + Try + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Dim dt As DataTable = SQL.loadDgvBySql("SELECT + CAST(RechnungsDatum AS DATE) AS InvoiceDate, + RechnungsNr AS InvoiceNumber, + FilialenNr AS BranchNo, + AbfertigungsNr AS CustomsDeclarationNo, + Abfertigungsdatum AS CustomsDeclarationDate, + AvisoID AS TruckID, + CASE + WHEN RechnungsKundenNr = 770931 + AND CHARINDEX('/', KdAuftragsNr) > 0 + THEN LTRIM(RTRIM( + LEFT( + KdAuftragsNr, + CHARINDEX('/', KdAuftragsNr) - 1 + ))) + ELSE KdAuftragsNr + END AS CustomerOrderNo, + RechnungsKundenNr AS CustomerNo, + [RechnungsName 1] AS CustomerName, + RechnungsLandKz AS CountryCode, + RechnungsUstIdNr AS CustomerVATNo, + LeistungsNr AS ServiceCode, + LeistungsBez AS ServiceDescription, + RechnungsausgangPositionen.Anzahl AS Quantity, + RechnungsausgangPositionen.Preis AS UnitPrice, + RechnungsausgangPositionen.SteuerfreierBetrag AS NetAmountTaxFree, + RechnungsausgangPositionen.SteuerpflichtigerBetrag AS NetAmountTaxable, + -- Umsatzsteuerbetrag + RechnungsausgangPositionen.SteuerpflichtigerBetrag * + ([Steuersatz %] - 1) AS VATAmount, + -- Bruttobetrag steuerpflichtiger Teil + RechnungsausgangPositionen.SteuerpflichtigerBetrag * + [Steuersatz %] AS GrossAmountTaxable, + -- Gesamtbetrag + RechnungsausgangPositionen.SteuerfreierBetrag + + (RechnungsausgangPositionen.SteuerpflichtigerBetrag * + [Steuersatz %]) AS GrossAmountTotal, + [Steuersatz %] AS VATRate, + Währungscode AS CurrencyCode, + CASE + WHEN ROW_NUMBER() OVER ( + PARTITION BY Rechnungsausgang.RK_ID + ORDER BY RechnungsausgangPositionen.LeistungsNr + ) = 1 + THEN Wert + END AS GoodsValue, + RechnungsausgangPositionen.AufschubkontoNr AS DefermentAccountNo, + RechnungsausgangPositionen.Weitere_Reg_Nr AS AdditionalReferenceNo, + [LKW Kennzeichen] AS VehicleRegistrationNo, + Grenze AS BorderCrossing + FROM [VERAG].[dbo].[Rechnungsausgang] + inner join Adressen on RechnungsKundenNr=AdressenNr + inner join RechnungsausgangPositionen on Rechnungsausgang.RK_ID= RechnungsausgangPositionen.rk_id + where 1=1 AND Rechnungsausgang.[RechnungsDatum] BETWEEN '" & ReDatVon.ToShortDateString & "' AND '" & ReDatBis.ToShortDateString & "' and RechnungsKundenNr = " & KDNR & " order by rechnungsdatum,RechnungsNr,CustomerNo, LeistungsNr ", "FMZOLL") + + + + If dt IsNot Nothing And dt.Rows.Count > 0 Then + Dim lastRow As Integer = dt.Rows.Count + 1 + + Dim fileName As String = cProgramFunctions.genExcelFromDT_NEW(dt, + rangeAsWaehrung:={ + "N2:N" & lastRow, ' UnitPrice + "O2:O" & lastRow, ' NetAmountTaxFree + "P2:P" & lastRow, ' NetAmountTaxable + "Q2:Q" & lastRow, ' VATAmount + "R2:R" & lastRow, ' GrossAmountTaxable + "S2:S" & lastRow, ' GrossAmountTotal + "V2:V" & lastRow ' GoodsValue + }, ShowAutoFilter:=True, HeaderTxt:="",, False, "REPORT_INVOICE_" & KDNR & "_" & ReDatVon.Month & "-" & ReDatBis.Month & "/" & ReDatBis.Year) + + If fileName <> "" Then + Return fileName + End If + + Else + Return "" + + End If + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + + Return "" + + End Function +End Class diff --git a/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb b/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb index fbd0a0a7..8cb843bd 100644 --- a/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb +++ b/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb @@ -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