From fa04c1256205eb3f12f282ac883ceb814d18075a Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Tue, 11 Jun 2024 08:35:21 +0200 Subject: [PATCH] USTV, MDMDatenverarbeitung --- .../usrcntlVerzollungspreise.vb | 11 + SDL/My Project/AssemblyInfo.vb | 4 +- SDL/SDL.vbproj | 25 +- SDL/USTV/frmMDM_USTVAntrag.vb | 4 +- SDL/USTV/frmUSTVoffeneAntraege.Designer.vb | 303 +++++++++ SDL/USTV/frmUSTVoffeneAntraege.resx | 120 ++++ SDL/USTV/frmUSTVoffeneAntraege.vb | 154 +++++ SDL/USTV/usrCntlUSTV.vb | 34 +- SDL/mdm/frmMDMDatenverarbetiung.vb | 615 +++++++++--------- 9 files changed, 939 insertions(+), 331 deletions(-) create mode 100644 SDL/USTV/frmUSTVoffeneAntraege.Designer.vb create mode 100644 SDL/USTV/frmUSTVoffeneAntraege.resx create mode 100644 SDL/USTV/frmUSTVoffeneAntraege.vb diff --git a/SDL/Formulare/KDFormulare/FormulareBaukasten/usrcntlVerzollungspreise.vb b/SDL/Formulare/KDFormulare/FormulareBaukasten/usrcntlVerzollungspreise.vb index 76be3e39..016d70c3 100644 --- a/SDL/Formulare/KDFormulare/FormulareBaukasten/usrcntlVerzollungspreise.vb +++ b/SDL/Formulare/KDFormulare/FormulareBaukasten/usrcntlVerzollungspreise.vb @@ -629,6 +629,17 @@ dgvZusatzleistung.Rows.Add("", "345", "Avisogebühr (nur wenn LKW nicht voravisiert)", CDbl(15).ToString("C2")) cboFirma.changeItem("AG") + + Case "PRIVAT" + + DataGridView.Rows.Add(cnt, "", "Verzollung All in ") : cnt += 1 + DataGridView.Rows.Add(cnt, "", "Pos 1-10", CDbl(200).ToString("C2")) : cnt += 1 + DataGridView.Rows.Add(cnt, "", "Pos 11-20", CDbl(250).ToString("C2")) : cnt += 1 + DataGridView.Rows.Add(cnt, "", "Pos 21-30", CDbl(300).ToString("C2")) : cnt += 1 + DataGridView.Rows.Add(cnt, "", "Usw.") : cnt += 1 + + cboFirma.changeItem("AG") + End Select End Select diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index c80a2adc..16e2c9ca 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/SDL.vbproj b/SDL/SDL.vbproj index 76e72644..0e7be258 100644 --- a/SDL/SDL.vbproj +++ b/SDL/SDL.vbproj @@ -773,6 +773,12 @@ Form + + frmUSTVoffeneAntraege.vb + + + Form + frmPLOSE_ProductCodes.vb @@ -809,6 +815,12 @@ UserControl + + usrCntlMDMDatenverarbeitungAuswertungen_divers.vb + + + UserControl + True True @@ -899,10 +911,6 @@ UserControl - - usrCntlMDMDatenverarbeitungAuswertungen_PLOSE.vb - - usrCntlMSE_KonvertCSV.vb @@ -3230,6 +3238,9 @@ usrCntlSDLLeistungVERAGCardNEU.vb + + usrCntlMDMDatenverarbeitungAuswertungen_divers.vb + frmATR.vb @@ -3270,12 +3281,12 @@ rptPLOSE_Konsortium.vb + + frmUSTVoffeneAntraege.vb + usrCntlUSTV.vb - - usrCntlMDMDatenverarbeitungAuswertungen_PLOSE.vb - usrCntlMSE_KonvertCSV.vb diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index 21222f0b..33d3468e 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -319,12 +319,12 @@ Public Class frmMDM_USTVAntrag Dim eur As Double = CDbl(r.Item("rmc_euroBrutto")) Dim frmdw As Double = CDbl(r.Item("rmc_betragBrutto")) - umrechKurs = eur / frmdw + umrechKurs = frmdw / eur End If If CDbl(r.Item("rmc_betragMWST")) > 0 Then - USTV_POS.UStVPo_USteuerbetragEUR = Math.Round((r.Item("rmc_betragMWST") * umrechKurs), 2) + USTV_POS.UStVPo_USteuerbetragEUR = Math.Round((r.Item("rmc_betragMWST") / umrechKurs), 2) USTV_POS.UStVPo_Umrechnungskurs = umrechKurs USTV_POS.UStVPo_USteuerbetrag = r.Item("rmc_betragMWST") End If diff --git a/SDL/USTV/frmUSTVoffeneAntraege.Designer.vb b/SDL/USTV/frmUSTVoffeneAntraege.Designer.vb new file mode 100644 index 00000000..f02c0465 --- /dev/null +++ b/SDL/USTV/frmUSTVoffeneAntraege.Designer.vb @@ -0,0 +1,303 @@ + _ +Partial Class frmUSTVoffeneAntraege + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Me.FlowLayoutPanel = New System.Windows.Forms.FlowLayoutPanel() + Me.btn = New System.Windows.Forms.Button() + Me.Button7 = New System.Windows.Forms.Button() + Me.lbl = New System.Windows.Forms.Label() + Me.MyDatagridview1 = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) + Me.Label2 = New System.Windows.Forms.Label() + Me.txtAnzahl = New VERAG_PROG_ALLGEMEIN.MyTextBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.txtMWST = New VERAG_PROG_ALLGEMEIN.MyTextBox() + Me.Panel4 = New System.Windows.Forms.Panel() + Me.Label46 = New System.Windows.Forms.Label() + Me.dat_Sum_Bis = New System.Windows.Forms.DateTimePicker() + Me.Label45 = New System.Windows.Forms.Label() + Me.dat_Sum_Von = New System.Windows.Forms.DateTimePicker() + Me.txtmaxAnz = New VERAG_PROG_ALLGEMEIN.MyTextBox() + Me.Label3 = New System.Windows.Forms.Label() + Me.FlowLayoutPanel.SuspendLayout() + CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.Panel4.SuspendLayout() + Me.SuspendLayout() + ' + 'FlowLayoutPanel + ' + Me.FlowLayoutPanel.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.FlowLayoutPanel.BackColor = System.Drawing.Color.FloralWhite + Me.FlowLayoutPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.FlowLayoutPanel.Controls.Add(Me.btn) + Me.FlowLayoutPanel.Controls.Add(Me.Button7) + Me.FlowLayoutPanel.Location = New System.Drawing.Point(12, 29) + Me.FlowLayoutPanel.Name = "FlowLayoutPanel" + Me.FlowLayoutPanel.Size = New System.Drawing.Size(1409, 31) + Me.FlowLayoutPanel.TabIndex = 28 + ' + 'btn + ' + Me.btn.BackColor = System.Drawing.Color.FloralWhite + Me.btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btn.Location = New System.Drawing.Point(3, 3) + Me.btn.Name = "btn" + Me.btn.Size = New System.Drawing.Size(120, 23) + Me.btn.TabIndex = 0 + Me.btn.Text = "PLOSE" + Me.btn.UseVisualStyleBackColor = False + ' + 'Button7 + ' + Me.Button7.BackColor = System.Drawing.Color.FloralWhite + Me.Button7.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button7.Location = New System.Drawing.Point(129, 3) + Me.Button7.Name = "Button7" + Me.Button7.Size = New System.Drawing.Size(120, 23) + Me.Button7.TabIndex = 1 + Me.Button7.Text = "RMC" + Me.Button7.UseVisualStyleBackColor = False + ' + 'lbl + ' + Me.lbl.AutoSize = True + Me.lbl.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Bold) + Me.lbl.Location = New System.Drawing.Point(12, 9) + Me.lbl.Name = "lbl" + Me.lbl.Size = New System.Drawing.Size(162, 17) + Me.lbl.TabIndex = 29 + Me.lbl.Text = "USTV offene Anträge" + ' + 'MyDatagridview1 + ' + Me.MyDatagridview1.AKTUALISIERUNGS_INTERVALL = -1 + Me.MyDatagridview1.AllowUserToAddRows = False + Me.MyDatagridview1.AllowUserToDeleteRows = False + Me.MyDatagridview1.AllowUserToResizeColumns = False + Me.MyDatagridview1.AllowUserToResizeRows = False + Me.MyDatagridview1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.MyDatagridview1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize + Me.MyDatagridview1.Location = New System.Drawing.Point(12, 98) + Me.MyDatagridview1.Name = "MyDatagridview1" + Me.MyDatagridview1.ReadOnly = True + Me.MyDatagridview1.RowHeadersWidth = 62 + Me.MyDatagridview1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect + Me.MyDatagridview1.Size = New System.Drawing.Size(1409, 528) + Me.MyDatagridview1.TabIndex = 30 + ' + 'Label2 + ' + Me.Label2.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(1223, 639) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(42, 13) + Me.Label2.TabIndex = 38 + Me.Label2.Text = "Anzahl:" + ' + 'txtAnzahl + ' + Me.txtAnzahl._DateTimeOnly = False + Me.txtAnzahl._numbersOnly = False + Me.txtAnzahl._numbersOnlyKommastellen = "" + Me.txtAnzahl._numbersOnlyTrennzeichen = True + Me.txtAnzahl._Prozent = False + Me.txtAnzahl._ShortDateNew = False + Me.txtAnzahl._ShortDateOnly = False + Me.txtAnzahl._TimeOnly = False + Me.txtAnzahl._TimeOnly_Seconds = False + Me.txtAnzahl._value = "" + Me.txtAnzahl._Waehrung = False + Me.txtAnzahl._WaehrungZeichen = True + Me.txtAnzahl.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.txtAnzahl.ForeColor = System.Drawing.Color.Black + Me.txtAnzahl.Location = New System.Drawing.Point(1321, 636) + Me.txtAnzahl.MaxLineLength = -1 + Me.txtAnzahl.MaxLines_Warning = "" + Me.txtAnzahl.MaxLines_Warning_Label = Nothing + Me.txtAnzahl.Name = "txtAnzahl" + Me.txtAnzahl.Size = New System.Drawing.Size(100, 20) + Me.txtAnzahl.TabIndex = 37 + Me.txtAnzahl.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + ' + 'Label1 + ' + Me.Label1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(1225, 661) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(40, 13) + Me.Label1.TabIndex = 40 + Me.Label1.Text = "MWSt:" + ' + 'txtMWST + ' + Me.txtMWST._DateTimeOnly = False + Me.txtMWST._numbersOnly = False + Me.txtMWST._numbersOnlyKommastellen = "" + Me.txtMWST._numbersOnlyTrennzeichen = True + Me.txtMWST._Prozent = False + Me.txtMWST._ShortDateNew = False + Me.txtMWST._ShortDateOnly = False + Me.txtMWST._TimeOnly = False + Me.txtMWST._TimeOnly_Seconds = False + Me.txtMWST._value = "" + Me.txtMWST._Waehrung = True + Me.txtMWST._WaehrungZeichen = True + Me.txtMWST.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.txtMWST.ForeColor = System.Drawing.Color.Black + Me.txtMWST.Location = New System.Drawing.Point(1321, 658) + Me.txtMWST.MaxLineLength = -1 + Me.txtMWST.MaxLines_Warning = "" + Me.txtMWST.MaxLines_Warning_Label = Nothing + Me.txtMWST.Name = "txtMWST" + Me.txtMWST.Size = New System.Drawing.Size(100, 20) + Me.txtMWST.TabIndex = 39 + Me.txtMWST.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + ' + 'Panel4 + ' + Me.Panel4.Controls.Add(Me.Label46) + Me.Panel4.Controls.Add(Me.dat_Sum_Bis) + Me.Panel4.Controls.Add(Me.Label45) + Me.Panel4.Controls.Add(Me.dat_Sum_Von) + Me.Panel4.Location = New System.Drawing.Point(16, 62) + Me.Panel4.Name = "Panel4" + Me.Panel4.Size = New System.Drawing.Size(417, 33) + Me.Panel4.TabIndex = 41 + ' + 'Label46 + ' + Me.Label46.AutoSize = True + Me.Label46.Location = New System.Drawing.Point(13, 9) + Me.Label46.Name = "Label46" + Me.Label46.Size = New System.Drawing.Size(119, 13) + Me.Label46.TabIndex = 23 + Me.Label46.Text = "Transaktionsdaten von:" + ' + 'dat_Sum_Bis + ' + Me.dat_Sum_Bis.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.dat_Sum_Bis.Location = New System.Drawing.Point(278, 6) + Me.dat_Sum_Bis.Name = "dat_Sum_Bis" + Me.dat_Sum_Bis.Size = New System.Drawing.Size(103, 20) + Me.dat_Sum_Bis.TabIndex = 24 + ' + 'Label45 + ' + Me.Label45.AutoSize = True + Me.Label45.Location = New System.Drawing.Point(249, 9) + Me.Label45.Name = "Label45" + Me.Label45.Size = New System.Drawing.Size(23, 13) + Me.Label45.TabIndex = 25 + Me.Label45.Text = "bis:" + ' + 'dat_Sum_Von + ' + Me.dat_Sum_Von.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.dat_Sum_Von.Location = New System.Drawing.Point(143, 6) + Me.dat_Sum_Von.Name = "dat_Sum_Von" + Me.dat_Sum_Von.Size = New System.Drawing.Size(103, 20) + Me.dat_Sum_Von.TabIndex = 22 + ' + 'txtmaxAnz + ' + Me.txtmaxAnz._DateTimeOnly = False + Me.txtmaxAnz._numbersOnly = True + Me.txtmaxAnz._numbersOnlyKommastellen = "" + Me.txtmaxAnz._numbersOnlyTrennzeichen = True + Me.txtmaxAnz._Prozent = False + Me.txtmaxAnz._ShortDateNew = False + Me.txtmaxAnz._ShortDateOnly = False + Me.txtmaxAnz._TimeOnly = False + Me.txtmaxAnz._TimeOnly_Seconds = False + Me.txtmaxAnz._value = "" + Me.txtmaxAnz._Waehrung = False + Me.txtmaxAnz._WaehrungZeichen = True + Me.txtmaxAnz.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.txtmaxAnz.ForeColor = System.Drawing.Color.Black + Me.txtmaxAnz.Location = New System.Drawing.Point(1362, 68) + Me.txtmaxAnz.MaxLineLength = -1 + Me.txtmaxAnz.MaxLines_Warning = "" + Me.txtmaxAnz.MaxLines_Warning_Label = Nothing + Me.txtmaxAnz.Name = "txtmaxAnz" + Me.txtmaxAnz.Size = New System.Drawing.Size(59, 20) + Me.txtmaxAnz.TabIndex = 42 + Me.txtmaxAnz.Text = "200" + Me.txtmaxAnz.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + ' + 'Label3 + ' + Me.Label3.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(1295, 71) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(50, 13) + Me.Label3.TabIndex = 43 + Me.Label3.Text = "max. DS:" + ' + 'frmUSTVoffeneAntraege + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1457, 681) + Me.Controls.Add(Me.Label3) + Me.Controls.Add(Me.txtmaxAnz) + Me.Controls.Add(Me.Panel4) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.txtMWST) + Me.Controls.Add(Me.Label2) + Me.Controls.Add(Me.txtAnzahl) + Me.Controls.Add(Me.MyDatagridview1) + Me.Controls.Add(Me.lbl) + Me.Controls.Add(Me.FlowLayoutPanel) + Me.Name = "frmUSTVoffeneAntraege" + Me.Text = "offene Anträge" + Me.FlowLayoutPanel.ResumeLayout(False) + CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).EndInit() + Me.Panel4.ResumeLayout(False) + Me.Panel4.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents FlowLayoutPanel As FlowLayoutPanel + Friend WithEvents btn As Button + Friend WithEvents Button7 As Button + Friend WithEvents lbl As Label + Friend WithEvents MyDatagridview1 As VERAG_PROG_ALLGEMEIN.MyDatagridview + Friend WithEvents Label2 As Label + Friend WithEvents txtAnzahl As VERAG_PROG_ALLGEMEIN.MyTextBox + Friend WithEvents Label1 As Label + Friend WithEvents txtMWST As VERAG_PROG_ALLGEMEIN.MyTextBox + Friend WithEvents Panel4 As Panel + Friend WithEvents Label46 As Label + Friend WithEvents dat_Sum_Bis As DateTimePicker + Friend WithEvents Label45 As Label + Friend WithEvents dat_Sum_Von As DateTimePicker + Friend WithEvents txtmaxAnz As VERAG_PROG_ALLGEMEIN.MyTextBox + Friend WithEvents Label3 As Label +End Class diff --git a/SDL/USTV/frmUSTVoffeneAntraege.resx b/SDL/USTV/frmUSTVoffeneAntraege.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/SDL/USTV/frmUSTVoffeneAntraege.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SDL/USTV/frmUSTVoffeneAntraege.vb b/SDL/USTV/frmUSTVoffeneAntraege.vb new file mode 100644 index 00000000..b00cfe6c --- /dev/null +++ b/SDL/USTV/frmUSTVoffeneAntraege.vb @@ -0,0 +1,154 @@ +Public Class frmUSTVoffeneAntraege + + Public LIEFERANT = "" + Dim datumBis As Date = Nothing + Dim datumVon As Date = Nothing + Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click + initLieferant("PLOSE", sender) + End Sub + + Sub New(datumVon_ As Date, datumBis_ As Date) + datumVon = datumVon_ + datumBis = datumBis_ + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + dat_Sum_Von.Value = datumVon + dat_Sum_Bis.Value = datumBis + + End Sub + + Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + Private Sub initLieferant(l As String, btn As Button) + + + + MyDatagridview1.DataSource = Nothing + Me.LIEFERANT = l + + For Each c As Button In FlowLayoutPanel.Controls + If c Is btn Then + c.BackColor = Color.Wheat + Else + c.BackColor = Color.FloralWhite + End If + Next + + Select Case Me.LIEFERANT + Case "PLOSE" + 'Kundenauswertungen + Case "RMC" + 'Kundenauswertungen + End Select + + init() + + + End Sub + + Sub initDgv_PLOSE(anz As Integer) + With MyDatagridview1 + .Columns.Clear() + + + Dim top = "" + If anz > 0 Then top = "TOP (" & anz & ")" + + .SET_SQL("select " & top & " plose_POLSEKundennummer, Adressen.[Name 1] ,[plose_Lieferant],[plose_RechnungsDatum],[plose_RechnungsNr], sum([plose_MWSTBetrag])[plose_MWSTBetrag] FROM [tblPLOSE_Details] INNER JOIN Adressen on PLOSEKundenNr=plose_POLSEKundennummer + WHERE plose_Archiv <> 1 AND plose_LieferantCode IN (0,1,7) AND cast(plose_RechnungsDatum as date) between '" & dat_Sum_Von.Value & "' and '" & dat_Sum_Bis.Value & "' and plose_RechnungsNr is not null + group by plose_POLSEKundennummer, Adressen.[Name 1] ,[plose_RechnungsDatum],[plose_RechnungsNr],[plose_Lieferant] + having sum(plose_MWSTBetrag)>0", "FMZOLL") + .LOAD() + If .Columns.Count > 0 Then + + .Columns("plose_POLSEKundennummer").HeaderText = "KdNr" + .Columns("Name 1").HeaderText = "Kunde" + .Columns("plose_Lieferant").HeaderText = "PLOSE-Lieferant" + .Columns("plose_RechnungsDatum").HeaderText = "RE-Datum" + .Columns("plose_RechnungsNr").HeaderText = "RE-Nr" + .Columns("Name 1").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill + .Columns("plose_MWSTBetrag").HeaderText = "MWST" + + .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells + + End If + + Dim sumMwSt As Double = 0 + For Each r As DataGridViewRow In .Rows + sumMwSt += If(IsNumeric(r.Cells("plose_MWSTBetrag").Value), CDbl(r.Cells("plose_MWSTBetrag").Value), 0) + Next + + txtAnzahl.Text = .Rows.Count + txtMWST.Text = sumMwSt + + .ClearSelection() + + End With + + End Sub + + Sub initDgv_RMC(anz As Integer) + + Dim top = "" + If anz > 0 Then top = "TOP (" & anz & ")" + + With MyDatagridview1 + .Columns.Clear() + 'Exit Sub + 'MsgBox(.sql) + Dim sqlstring = "Select " & top & " [rmc_kdNr], [rmc_kdName], [rmc_landKZ], [rmc_reDatum], [rmc_reNr], [rmc_waehrung], [rmc_betragMWST] FROM [tblRMCImport] + where cast(rmc_reDatum As Date) between '" & dat_Sum_Von.Value & "' And '" & dat_Sum_Bis.Value & "' And rmc_archiv <> 1 + group by rmc_reDatum, rmc_kdNr,[rmc_kdName], [rmc_landKZ],[rmc_reNr], [rmc_waehrung], [rmc_betragMWST] having [rmc_betragMWST] > 0" + + .SET_SQL(sqlstring, "FMZOLL") + .LOAD() + If .Columns.Count > 0 Then + + .Columns("rmc_kdNr").HeaderText = "KdNr" + .Columns("rmc_kdName").HeaderText = "Kunde" + .Columns("rmc_landKZ").HeaderText = "Land" + .Columns("rmc_reDatum").HeaderText = "RE-Datum" + .Columns("rmc_reNr").HeaderText = "RE-Nr" + .Columns("rmc_betragMWST").HeaderText = "MWSt" + .Columns("rmc_waehrung").HeaderText = "Währung" + .Columns("rmc_kdName").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill + .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells + + End If + + Dim sumMwSt As Double = 0 + + For Each r As DataGridViewRow In .Rows + sumMwSt += If(IsNumeric(r.Cells("rmc_betragMWST").Value), CDbl(r.Cells("rmc_betragMWST").Value), 0) + Next + + txtAnzahl.Text = .Rows.Count + txtMWST.Text = sumMwSt + + + End With + + End Sub + + Sub init() + Select Case LIEFERANT + Case "PLOSE" : initDgv_PLOSE(txtmaxAnz.Text) + Case "RMC" : initDgv_RMC(txtmaxAnz.Text) + End Select + End Sub + + Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click + initLieferant("RMC", sender) + End Sub +End Class \ No newline at end of file diff --git a/SDL/USTV/usrCntlUSTV.vb b/SDL/USTV/usrCntlUSTV.vb index 13f35be6..cc21463d 100644 --- a/SDL/USTV/usrCntlUSTV.vb +++ b/SDL/USTV/usrCntlUSTV.vb @@ -13,6 +13,7 @@ Public Class usrCntlUSTV Dim aktbtn As String = "" Dim dgvInitWait As Boolean = False Public kdNr As Integer = -1 + Dim loaded As Boolean = False Sub init(Optional kdNr = -1) pnlFilter.AutoScroll = False @@ -44,6 +45,8 @@ Public Class usrCntlUSTV order by UStVAn_KuNr,UStVAn_Name,datepart(year,[UStVAn_ReDatVon] ) desc,LandKz,[UStVAn_ReDatVon] desc", "FMZOLL") .LOAD() + loaded = True + .RowTemplate.Height = 20 .AllowUserToOrderColumns = False .AllowUserToResizeRows = False @@ -189,10 +192,12 @@ Public Class usrCntlUSTV End Sub Private Sub cboJahr_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboJahr.SelectedIndexChanged, cboJahrBis.SelectedIndexChanged + If loaded = False Then Exit Sub init() End Sub Private Sub KdSearchBox1_PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Handles KdSearchBox1.PropertyChanged + If loaded = False Then Exit Sub init() End Sub @@ -256,9 +261,10 @@ Public Class usrCntlUSTV frmMDM_USTVAntrag.loadUSTVFrom_PLOSE(r.Cells("UStVAn_ID").Value, r.Cells("LandKz").Value, False) End If Next + init() + MsgBox("Fertig!") End If - init() - MsgBox("Fertig!") + Case "btnRMCalle" @@ -268,6 +274,8 @@ Public Class usrCntlUSTV frmMDM_USTVAntrag.loadUSTVFrom_RMC(r.Cells("UStVAn_ID").Value, r.Cells("LandKz").Value, False) End If Next + init() + MsgBox("Fertig!") End If @@ -299,6 +307,12 @@ Public Class usrCntlUSTV ContextMenuStrip1.Items.Add(mail) End If + If Not ContextMenuStrip1.Items.ContainsKey("offeneAntraege") Then + Dim oa = New ToolStripMenuItem() With {.Text = "offene Anträge", .Name = "offeneAntraege", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + AddHandler oa.Click, AddressOf mnuItem_Clicked + ContextMenuStrip1.Items.Add(oa) + End If + ContextMenuStrip1.Show(Cursor.Position) @@ -317,6 +331,16 @@ Public Class usrCntlUSTV ElseIf item.Name = "mail" Then mailmitExcelauswertung() + + ElseIf item.Name = "offeneAntraege" Then + If dgvUSTV.SelectedRows(0) IsNot Nothing AndAlso IsDate(dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatVon").Value) AndAlso IsDate(dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatBis").Value) Then + Dim frm As New frmUSTVoffeneAntraege(CDate(dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatVon").Value), CDate(dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatBis").Value)) + frm.Show() + Else + Dim frm As New frmUSTVoffeneAntraege() + frm.Show() + End If + Else MsgBox("Funktion nicht implementiert!") End If @@ -398,21 +422,21 @@ Public Class usrCntlUSTV VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Fehler beim Öffnen der Mail!") End Try - - End Sub Private Sub cbxTopMax_CheckedChanged(sender As Object, e As EventArgs) Handles cbxTopMax.CheckedChanged + If loaded = False Then Exit Sub init() End Sub Private Sub txtMaxSrch_TextChanged(sender As Object, e As EventArgs) Handles txtMaxSrch.Leave + If loaded = False Then Exit Sub init() End Sub Private Sub cbxEingereicht_CheckedChanged(sender As Object, e As EventArgs) Handles cbxEingereicht.CheckStateChanged + If loaded = False Then Exit Sub init() End Sub - End Class diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index f6b8b371..e6a65710 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -534,7 +534,8 @@ Public Class frmMDMDatenverarbetiung INNER JOIN (((Adressen INNER JOIN tblUTAImport ON Adressen.UTAKundenNr = tblUTAImport.Kundennummer) INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr) INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr) AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr) AND (tblUTAImport.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImport.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart - group by Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort, Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, tblUTAFakturierwarenarten.Warenart,tblUTAImport.Fakturierwarenart", "FMZOLL") + where archiv <> 1 + group by Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort, Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, tblUTAFakturierwarenarten.Warenart,tblUTAImport.Fakturierwarenart ", "FMZOLL") .LOAD() 'MsgBox(.GET_SQL()) If .Columns.Count > 0 Then @@ -673,17 +674,17 @@ Public Class frmMDMDatenverarbetiung cbxASFINAGAbgerechnet.Visible = False cbxBelegeerstellt.Visible = False cbxTestdaten.Visible = False + pnlAsfinag.Visible = False + Panel4.Visible = False + Select Case Me.LIEFERANT Case "PLOSE" Panel4.Visible = True - pnlAsfinag.Visible = False Dim c As New usrCntlMDMDatenverarbeitungAuswertungen_divers(Me, Me.LIEFERANT) Panel3.Controls.Add(c) c.Dock = DockStyle.Fill Case "UTA" - Panel4.Visible = False - pnlAsfinag.Visible = False Dim c As New usrCntlMDMDatenverarbeitungAuswertungen_divers(Me, Me.LIEFERANT) Panel3.Controls.Add(c) c.Dock = DockStyle.Fill @@ -693,17 +694,12 @@ Public Class frmMDMDatenverarbetiung If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMIN", Me.FindForm) Then 'cbxTestdaten.Visible = True End If - - Panel4.Visible = False pnlAsfinag.Visible = True Exit Sub - Case "IDS" - Panel4.Visible = False MsgBox("Noch nicht verfürbar!") Case "MSE" - Panel4.Visible = False MsgBox("Noch nicht verfürbar!") End Select @@ -729,8 +725,8 @@ Public Class frmMDMDatenverarbetiung Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing Dim verarbOK = True - If Not genPLOSE_SPEDBUCH_ByKdNr(R_PLOSE("AdressenNr"), R_PLOSE("PLOSEKundenNr"), dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString, SPEDBUCH) Then verarbOK = False - If Not genPLOSE_RECHNUNG_BySPEDBUCH(R_PLOSE("AdressenNr"), R_PLOSE("PLOSEKundenNr"), SPEDBUCH, dat_Sum_Von.Value, dat_Sum_Bis.Value) Then verarbOK = False + If Not gen_SPEDBUCH_ByKdNr(R_PLOSE("AdressenNr"), SPEDBUCH, "PLOSE", R_PLOSE("PLOSEKundenNr"), dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString) Then verarbOK = False + If Not gen_RECHNUNG_BySPEDBUCH(R_PLOSE("AdressenNr"), SPEDBUCH, "PLOSE", R_PLOSE("PLOSEKundenNr"), dat_Sum_Von.Value, dat_Sum_Bis.Value) Then verarbOK = False ' ANHÄNGE WERDEN NCIHT BENÖTIGT::genPLOSEAttachmentByKdNr(R_PLOSE("AdressenNr"), R_PLOSE("PLOSEKundenNr"), dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString, dir) If verarbOK Then @@ -784,6 +780,7 @@ Public Class frmMDMDatenverarbetiung INNER JOIN (((Adressen INNER JOIN tblUTAImport ON Adressen.UTAKundenNr = tblUTAImport.Kundennummer) INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr) INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr) AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr) AND (tblUTAImport.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImport.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart + where archiv <> 1 group by Kundennummer, KundenNr, UTAExportCSV,Rechnungsdruck" Dim dt_Main As DataTable = SQL.loadDgvBySql_Param(SQLStr, "FMZOLL", 1200) @@ -816,21 +813,21 @@ Public Class frmMDMDatenverarbetiung Dim fn As String = dir & "\" & csv.Item(1) & "_Maut_UTA.csv" Dim outFile As System.IO.StreamWriter = My.Computer.FileSystem.OpenTextFileWriter(fn, False) - Dim clmns As String = "" - For i = 0 To dt_CSV_selected.Columns.Count - 1 - clmns &= dt_CSV_selected.Columns(i).ColumnName.ToString().Replace(";", ",") & ";" + Dim clmns As String = "" + For i = 0 To dt_CSV_selected.Columns.Count - 1 + clmns &= dt_CSV_selected.Columns(i).ColumnName.ToString().Replace(";", ",") & ";" + Next + outFile.WriteLine(clmns) + For i = 0 To dt_CSV_selected.Rows.Count - 1 + clmns = "" + For j = 0 To dt_CSV_selected.Columns.Count - 1 + clmns &= dt_CSV_selected.Rows(i)(j).ToString.Replace(";", ",") & ";" Next outFile.WriteLine(clmns) - For i = 0 To dt_CSV_selected.Rows.Count - 1 - clmns = "" - For j = 0 To dt_CSV_selected.Columns.Count - 1 - clmns &= dt_CSV_selected.Rows(i)(j).ToString.Replace(";", ",") & ";" - Next - outFile.WriteLine(clmns) - Next - outFile.Close() Next + outFile.Close() + Next For Each UTA In dt_Main.Rows @@ -838,11 +835,15 @@ Public Class frmMDMDatenverarbetiung Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing Dim verarbOK = True + If Not gen_SPEDBUCH_ByKdNr(UTA("Customer ID"), SPEDBUCH, "UTA") Then verarbOK = False + If Not gen_RECHNUNG_BySPEDBUCH(UTA("Customer ID"), SPEDBUCH, "UTA") Then verarbOK = False + genUTAAttachmentByKdNr(UTA("Customer Nr"), UTA("Customer ID"), dir, datPloseAnhang.Value) If verarbOK Then 'UPDATE Fakturiert - ' SQL.doSQL("UPDATE tblPLOSE_Details SET plose_FakturiertDatum=GETDATE() WHERE plose_Fakturiert = 0 AND plose_DatumTransaktion between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' AND plose_POLSEKundennummer='" & R_PLOSE("PLOSEKundenNr") & "' ", "FMZOLL") + SQL.doSQL("UPDATE [tblUTAImport] set archiv=1, archiviertDatum=GETDATE() where Kundennummer = " & UTA("Customer ID"), "FMZOLL") + End If If True Then 'cnt Mod 10 = 0 Then @@ -990,8 +991,8 @@ Public Class frmMDMDatenverarbetiung For Each R_ASFINAG In distinctDT_distKunden.Rows Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing Dim verarbOK = True - If Not genASFINAG_SPEDBUCH_ByKdNr(R_ASFINAG("KundenNr"), SPEDBUCH) Then verarbOK = False - If Not genASFINAG_RECHNUNG_BySPEDBUCH(R_ASFINAG("KundenNr"), SPEDBUCH) Then verarbOK = False + If Not gen_SPEDBUCH_ByKdNr(R_ASFINAG("KundenNr"), SPEDBUCH, "ASFINAG") Then verarbOK = False + If Not gen_RECHNUNG_BySPEDBUCH(R_ASFINAG("KundenNr"), SPEDBUCH, "ASFINAG") Then verarbOK = False If verarbOK Then @@ -1972,9 +1973,19 @@ Public Class frmMDMDatenverarbetiung End Function - Function genPLOSE_SPEDBUCH_ByKdNr(KdNr As String, PLOSEKundenNr As String, von As Date, bis As Date, ByRef SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch) + + Function gen_SPEDBUCH_ByKdNr(KdNr As String, ByRef SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, Lieferant As String, Optional PLOSEKundenNr As String = "", Optional von As Date = Nothing, Optional bis As Date = Nothing) Try + Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr) + SPEDBUCH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch + + Dim OffertenNr As Integer + Dim Abfertigungsart As Integer + + Select Case Lieferant + Case "PLOSE" : OffertenNr = 80 : Abfertigungsart = 10 : SPEDBUCH.FilialenNr = 4824 + 'Dim displayFilter = False 'Dim sqlstr As String = "" @@ -1990,55 +2001,12 @@ Public Class frmMDMDatenverarbetiung 'Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL") - Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr) - SPEDBUCH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch + Case "ASFINAG" : OffertenNr = 11 : Abfertigungsart = 10 : SPEDBUCH.FilialenNr = 4814 + Case "UTA" : OffertenNr = 30 : Abfertigungsart = 10 : SPEDBUCH.FilialenNr = 4823 + Case "MSE" : OffertenNr = 23 : Abfertigungsart = 10 : SPEDBUCH.FilialenNr = 4821 - Dim OffertenNr = 80 - Dim Abfertigungsart = 10 + End Select - SPEDBUCH.FilialenNr = 4824 - SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, Now.Year) - SPEDBUCH.NewUNTER_NR() - - SPEDBUCH.Vermittler = AD.Ordnungsbegriff - SPEDBUCH.VermittlerKundenNr = KdNr - SPEDBUCH.VermittlerOffertenNr = OffertenNr - SPEDBUCH.Abfertigungsdatum = datPloseAnhang.Value.ToShortDateString - - SPEDBUCH.Abfertigungsart = Abfertigungsart - SPEDBUCH.Bar = 0 - SPEDBUCH.Fakturiert = 1 - SPEDBUCH.AnzahlSonstiges = 1 - SPEDBUCH.Abfertigungsanzahl = 1 - - SPEDBUCH.AvisUhrzeit = Nothing - SPEDBUCH.Umrechnungskurs = Nothing - SPEDBUCH.veoerz_basbtg = Nothing - SPEDBUCH.Sicherheitsbetrag = Nothing - - SPEDBUCH.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME - - - Return SPEDBUCH.SAVE - - Catch ex As System.Exception - MsgBox(ex.Message & ex.StackTrace) - End Try - Return False - - End Function - - - Function genASFINAG_SPEDBUCH_ByKdNr(KdNr As String, ByRef SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch) - Try - - Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr) - SPEDBUCH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch - - Dim OffertenNr = 11 - Dim Abfertigungsart = 10 - - SPEDBUCH.FilialenNr = 4814 SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, Now.Year) SPEDBUCH.NewUNTER_NR() @@ -2072,15 +2040,174 @@ Public Class frmMDMDatenverarbetiung - Function genPLOSE_RECHNUNG_BySPEDBUCH(KdNr As String, PLOSEKundenNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, von As Date, bis As Date) + 'Function genPLOSE_RECHNUNG_BySPEDBUCH(KdNr As String, PLOSEKundenNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, von As Date, bis As Date) + ' Try + + ' Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(SPEDBUCH.VermittlerKundenNr) + ' Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(SPEDBUCH.VermittlerKundenNr) + ' Dim RG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang + + ' Dim OffertenNr = 80 + ' Dim Abfertigungsart = 10 + + ' RG.FilialenNr = SPEDBUCH.FilialenNr + ' RG.AbfertigungsNr = SPEDBUCH.AbfertigungsNr + ' RG.SpeditionsbuchUnterNr = SPEDBUCH.UnterNr + ' RG.UnterNr = RG.getMaxRGUnterNr() + + ' RG.Buchungsjahr = cRKSV.getGJ(datPloseAnhang.Value) 'If(Now.Month = 1, Now.Year - 1, Now.Year) + ' RG.FilialenNr = SPEDBUCH.FilialenNr + ' RG.Abfertigungsdatum = SPEDBUCH.Abfertigungsdatum + ' RG.Sammelrechnung = 6 'MAUT/DIESEL + ' RG.BelegartenKz = "AR" + ' RG.BelegartenNr = 70 + ' RG.BelegartenBez = "Rechnung" + ' RG.Vorzeichen = "+" + + ' RG.VermittlerKundenNr = AD.AdressenNr + ' RG.VermittlerLandKz = AD.LandKz + ' RG.VermittlerName_1 = AD.Name_1 + ' RG.VermittlerName_2 = AD.Name_2 + ' RG.VermittlerOffertenNr = OffertenNr + ' RG.VermittlerOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "")) + ' RG.VermittlerStraße = AD.Straße + ' RG.Rechnung_an = 3 + ' RG.OffertenNr = OffertenNr + + ' RG.KundenNrZentrale = KD.KundenNrZentrale + ' RG.RechnungsKundenNr = AD.AdressenNr + ' RG.RechnungsLandKz = AD.LandKz + ' RG.RechnungsName_1 = AD.Name_1 + ' RG.RechnungsName_2 = AD.Name_2 + ' RG.RechnungsOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "")) + ' RG.RechnungsStraße = AD.Straße + + ' RG.RechnungsUstIdKz = AD.UstIdKz + ' RG.RechnungsUstIdNr = AD.UstIdNr + ' RG.RechnungsUstIdGeprüft = AD.UstIdGeprüft + + ' RG.Lastschrift = KD.Lastschrift + ' RG.Kunden_SVS = KD.SVS + ' RG.Steuerschlüssel = KD.Steuerschlüssel + ' RG.Vorkasse = KD.Vorkasse + ' RG.Vorlageprovision_Proz = KD.Vorlageprovision + ' RG.Kreditaufwendungen_Proz = KD.Kreditaufwendungen + ' RG.RechnungSprache = "DE" + + + ' RG.Anlage_1 = "" + ' RG.Anlage_2 = "" + ' RG.Anlage_3 = "" + ' RG.Anlage_4 = "" + ' RG.Anlage_5 = "" + ' RG.Anlage_6 = "" + + + ' RG.Text = "" + ' RG.EMailRechnungstext = Nothing ' "" + + ' RG.Firma_ID = 15 + ' RG.Nettozahlungsziel = KD.Zahlungsziel + + ' RG.SteuerpflichtigerGesamtbetrag = 0 + ' RG.SteuerfreierGesamtbetrag = 0 + ' RG.Status = 0 + + ' RG.[Vorkosten] = 0 + ' RG.[Erlös] = 0 + ' RG.[Buchungsjahr] = 0 + ' RG.[Währungscode] = "EUR" + ' RG.ReErfZeitstempel = Now + + + ' RG.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + + ' RG.Buchungsjahr = cRKSV.getGJ(RG.RechnungsDatum) + + ' Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) + + ' RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0 + + ' ' RG.LOAD_POSITIONEN_FROM_OFFERTE(OFFERTE) + + ' Dim sqlstr As String = "" + ' sqlstr &= " SELECT [plp_LeistungsNr],sum([plose_NettobetragWaehrungAbbuchung]) as plose_NettobetragWaehrungAbbuchung,sum([plose_MWSTBetragWaehrungAbbuchung]) as [plose_MWSTBetragWaehrungAbbuchung],sum([plose_BruttobetragWaehrungAbbuchung]) as [plose_BruttobetragWaehrungAbbuchung] " + ' sqlstr &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode " + ' sqlstr &= " WHERE 1=1 " + ' sqlstr &= " AND plose_Fakturiert=0 " + ' sqlstr &= " AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) " + ' sqlstr &= " AND plose_POLSEKundennummer = '" & PLOSEKundenNr & "' " + ' sqlstr &= " AND plp_LeistungsNr is not null " + ' sqlstr &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' " + + ' sqlstr &= " group by [plp_LeistungsNr]" + ' sqlstr &= " order by plp_LeistungsNr" + + ' Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL") + + + ' For Each r In dt.Rows + ' Dim BLNr = r("plp_LeistungsNr") + ' 'Dim BProz = r("plose_BruttobetragWaehrungAbbuchung") + + ' Dim NettoBetrag As Double = r("plose_NettobetragWaehrungAbbuchung") + ' Dim BruttoBetrag As Double = r("plose_BruttobetragWaehrungAbbuchung") + ' Dim LeistungsNr As Integer = r("plp_LeistungsNr") + + + ' allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag) + + ' 'Rückvergütung Consortio !! + ' If r("plp_LeistungsNr") = "190" Then '(PRODUCTCODE=301; VERAG-LEISTUNGSNR=190!! + ' rabattPlosePos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag) + ' End If + ' Next + + + ' Dim dtSt As DataTable = SQL.loadDgvBySql("SELECT TOP 1 isnull([Steuersatz %],0),isnull([Steuerbezeichnung],'') FROM [Steuertabelle] WHERE [Steuerschlüssel]='" & RG.Steuerschlüssel & "'", "FMZOLL") + ' If dtSt IsNot Nothing AndAlso dtSt.Rows.Count > 0 Then + ' RG.Steuersatz_Proz = dtSt.Rows(0)(0) + ' End If + + ' cFakturierung.setGesamtBetraege(RG) + + ' RG.Text = (cFakturierung.przRechnungstextTXT(RG, SPEDBUCH) & vbNewLine & cFakturierung.przRechnungstextZZ(RG)).Trim + + ' Call usrCntlFaktAbrechnung.przFixeTaxe(RG) ' Fixe Taxe errechnen + ' Call usrCntlFaktAbrechnung.przPP(RG) ' Porto/Papiere errechnen + + ' Call usrCntlFaktAbrechnung.przBS415(RG) ' Bankspesen errechnen + + ' If RG.SAVE Then + ' Return True + ' Else + ' Return False + ' End If + + ' Catch ex As System.Exception + ' MsgBox(ex.Message & ex.StackTrace) + ' End Try + ' Return "" + + 'End Function + + Function gen_RECHNUNG_BySPEDBUCH(KdNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, Lieferant As String, Optional PLOSEKundenNr As String = "", Optional von As Date = Nothing, Optional bis As Date = Nothing) Try Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(SPEDBUCH.VermittlerKundenNr) Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(SPEDBUCH.VermittlerKundenNr) Dim RG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang - Dim OffertenNr = 80 - Dim Abfertigungsart = 10 + Dim OffertenNr As Integer + Dim Abfertigungsart As Integer + + Select Case Lieferant + Case "PLOSE" : OffertenNr = 80 : Abfertigungsart = 10 : RG.Anlage_1 = "" + Case "ASFINAG" : OffertenNr = 11 : Abfertigungsart = 10 : RG.Anlage_1 = "Email Anhang" + Case "UTA" : OffertenNr = 30 : Abfertigungsart = 10 : RG.Anlage_1 = "Email Anhang" + Case "MSE" : OffertenNr = 23 : Abfertigungsart = 10 : RG.Anlage_1 = "Email Anhang" + + End Select RG.FilialenNr = SPEDBUCH.FilialenNr RG.AbfertigungsNr = SPEDBUCH.AbfertigungsNr @@ -2127,171 +2254,6 @@ Public Class frmMDMDatenverarbetiung RG.RechnungSprache = "DE" - RG.Anlage_1 = "" - RG.Anlage_2 = "" - RG.Anlage_3 = "" - RG.Anlage_4 = "" - RG.Anlage_5 = "" - RG.Anlage_6 = "" - - - RG.Text = "" - RG.EMailRechnungstext = Nothing ' "" - - RG.Firma_ID = 15 - RG.Nettozahlungsziel = KD.Zahlungsziel - - RG.SteuerpflichtigerGesamtbetrag = 0 - RG.SteuerfreierGesamtbetrag = 0 - RG.Status = 0 - - RG.[Vorkosten] = 0 - RG.[Erlös] = 0 - RG.[Buchungsjahr] = 0 - RG.[Währungscode] = "EUR" - RG.ReErfZeitstempel = Now - - - RG.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME - - RG.Buchungsjahr = cRKSV.getGJ(RG.RechnungsDatum) - - Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) - - RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0 - - ' RG.LOAD_POSITIONEN_FROM_OFFERTE(OFFERTE) - - Dim sqlstr As String = "" - sqlstr &= " SELECT [plp_LeistungsNr],sum([plose_NettobetragWaehrungAbbuchung]) as plose_NettobetragWaehrungAbbuchung,sum([plose_MWSTBetragWaehrungAbbuchung]) as [plose_MWSTBetragWaehrungAbbuchung],sum([plose_BruttobetragWaehrungAbbuchung]) as [plose_BruttobetragWaehrungAbbuchung] " - sqlstr &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode " - sqlstr &= " WHERE 1=1 " - sqlstr &= " AND plose_Fakturiert=0 " - sqlstr &= " AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) " - sqlstr &= " AND plose_POLSEKundennummer = '" & PLOSEKundenNr & "' " - sqlstr &= " AND plp_LeistungsNr is not null " - sqlstr &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' " - - sqlstr &= " group by [plp_LeistungsNr]" - sqlstr &= " order by plp_LeistungsNr" - - Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL") - - - For Each r In dt.Rows - Dim BLNr = r("plp_LeistungsNr") - 'Dim BProz = r("plose_BruttobetragWaehrungAbbuchung") - - Dim NettoBetrag As Double = r("plose_NettobetragWaehrungAbbuchung") - Dim BruttoBetrag As Double = r("plose_BruttobetragWaehrungAbbuchung") - Dim LeistungsNr As Integer = r("plp_LeistungsNr") - - - allPlosePos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag) - - 'Rückvergütung Consortio !! - If r("plp_LeistungsNr") = "190" Then '(PRODUCTCODE=301; VERAG-LEISTUNGSNR=190!! - rabattPlosePos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag) - End If - Next - - - Dim dtSt As DataTable = SQL.loadDgvBySql("SELECT TOP 1 isnull([Steuersatz %],0),isnull([Steuerbezeichnung],'') FROM [Steuertabelle] WHERE [Steuerschlüssel]='" & RG.Steuerschlüssel & "'", "FMZOLL") - If dtSt IsNot Nothing AndAlso dtSt.Rows.Count > 0 Then - RG.Steuersatz_Proz = dtSt.Rows(0)(0) - End If - - cFakturierung.setGesamtBetraege(RG) - - RG.Text = (cFakturierung.przRechnungstextTXT(RG, SPEDBUCH) & vbNewLine & cFakturierung.przRechnungstextZZ(RG)).Trim - - ' Call usrCntlFaktAbrechnung.przSVSRVS(RG) ' SVS/RVS errechnen - ' Call przSKR() ' SKR errechnen - - 'Call usrCntlFaktAbrechnung.przVL(RG) ' Vorlageprovision errechnen - 'Call usrCntlFaktAbrechnung.przKapitalbereitstellung(RG) 'Kapitalbereitstellung errechnen - - ' boolFehler = fktBGeb(RECHNUNG.[RK_ID], RECHNUNG.Steuersatz_Proz, RECHNUNG.[Sammelrechnung], RECHNUNG.[BelegartenNr]) ' Bearbeitungsgebühr errechnen - - ' Call usrCntlFaktAbrechnung.przKA(RG) ' Kreditaufwendungen errechnen - Call usrCntlFaktAbrechnung.przFixeTaxe(RG) ' Fixe Taxe errechnen - Call usrCntlFaktAbrechnung.przPP(RG) ' Porto/Papiere errechnen - - Call usrCntlFaktAbrechnung.przBS415(RG) ' Bankspesen errechnen - - If RG.SAVE Then - ' FAKTURIERT eintragen - 'For Each r In dt.Rows - ' SQL.doSQL("UPDATE [tblPLOSE_Details]SET plose_Fakturiert=1, plose_FakturiertDatum='" & datPloseAnhang.Value & "' where plose_Id='" & r("plose_id") & "'", "FMZOLL") - 'Next - Return True - Else - Return False - End If - - Catch ex As System.Exception - MsgBox(ex.Message & ex.StackTrace) - End Try - Return "" - - End Function - - Function genASFINAG_RECHNUNG_BySPEDBUCH(KdNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch) - Try - - Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(SPEDBUCH.VermittlerKundenNr) - Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(SPEDBUCH.VermittlerKundenNr) - Dim RG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang - - Dim OffertenNr = 11 - Dim Abfertigungsart = 10 - - RG.FilialenNr = SPEDBUCH.FilialenNr - RG.AbfertigungsNr = SPEDBUCH.AbfertigungsNr - RG.SpeditionsbuchUnterNr = SPEDBUCH.UnterNr - RG.UnterNr = RG.getMaxRGUnterNr() - - RG.Buchungsjahr = cRKSV.getGJ(datPloseAnhang.Value) 'If(Now.Month = 1, Now.Year - 1, Now.Year) - RG.FilialenNr = SPEDBUCH.FilialenNr - RG.Abfertigungsdatum = SPEDBUCH.Abfertigungsdatum - RG.Sammelrechnung = 6 'MAUT/DIESEL - RG.BelegartenKz = "AR" - RG.BelegartenNr = 70 - RG.BelegartenBez = "Rechnung" - RG.Vorzeichen = "+" - - RG.VermittlerKundenNr = AD.AdressenNr - RG.VermittlerLandKz = AD.LandKz - RG.VermittlerName_1 = AD.Name_1 - RG.VermittlerName_2 = AD.Name_2 - RG.VermittlerOffertenNr = OffertenNr - RG.VermittlerOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "")) - RG.VermittlerStraße = AD.Straße - RG.Rechnung_an = 3 - RG.OffertenNr = OffertenNr - - RG.KundenNrZentrale = KD.KundenNrZentrale - RG.RechnungsKundenNr = AD.AdressenNr - RG.RechnungsLandKz = AD.LandKz - RG.RechnungsName_1 = AD.Name_1 - RG.RechnungsName_2 = AD.Name_2 - RG.RechnungsOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "")) - RG.RechnungsStraße = AD.Straße - - RG.RechnungsUstIdKz = AD.UstIdKz - RG.RechnungsUstIdNr = AD.UstIdNr - RG.RechnungsUstIdGeprüft = AD.UstIdGeprüft - - RG.Lastschrift = KD.Lastschrift - RG.Kunden_SVS = KD.SVS - RG.Steuerschlüssel = KD.Steuerschlüssel - RG.Vorkasse = KD.Vorkasse - RG.Vorlageprovision_Proz = KD.Vorlageprovision - RG.Kreditaufwendungen_Proz = KD.Kreditaufwendungen - RG.RechnungSprache = "DE" - - - RG.Anlage_1 = "Email Anhang" RG.Anlage_2 = "" RG.Anlage_3 = "" RG.Anlage_4 = "" @@ -2320,23 +2282,106 @@ Public Class frmMDMDatenverarbetiung RG.Buchungsjahr = cRKSV.getGJ(RG.RechnungsDatum) - Dim sqlstr As String = "SELECT '135' as leistungsNr, 'MAUT AT lt. Auslage' as ProductCode, sum([netAmount]) as netamount ,sum([VATamount]) as Vatamount ,sum([totalAmount]) as amountInclVAT FROM Kreditkarten INNER JOIN tblAsfinagMaut ON Kreditkarten.KartenNr = tblAsfinagMaut.cardnumber Where Kreditkarten.AdressenNr= '" & KD.KundenNr & "' and tblAsfinagMaut.VATamount <> 0 group by Kreditkarten.AdressenNr + Dim sqlstr As String = "" + Dim useNettogesamtbetrag As Boolean = False + + Select Case Lieferant + Case "PLOSE" + + Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) + + RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0 + + ' RG.LOAD_POSITIONEN_FROM_OFFERTE(OFFERTE) + + sqlstr &= " SELECT [plp_LeistungsNr],sum([plose_NettobetragWaehrungAbbuchung]) as plose_NettobetragWaehrungAbbuchung,sum([plose_MWSTBetragWaehrungAbbuchung]) as [plose_MWSTBetragWaehrungAbbuchung],sum([plose_BruttobetragWaehrungAbbuchung]) as [plose_BruttobetragWaehrungAbbuchung] " + sqlstr &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode " + sqlstr &= " WHERE 1=1 " + sqlstr &= " AND plose_Fakturiert=0 " + sqlstr &= " AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) " + sqlstr &= " AND plose_POLSEKundennummer = '" & PLOSEKundenNr & "' " + sqlstr &= " AND plp_LeistungsNr is not null " + sqlstr &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' " + + sqlstr &= " group by [plp_LeistungsNr]" + sqlstr &= " order by plp_LeistungsNr" + + Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL") + + + For Each r In dt.Rows + Dim BLNr = r("plp_LeistungsNr") + 'Dim BProz = r("plose_BruttobetragWaehrungAbbuchung") + + Dim NettoBetrag As Double = r("plose_NettobetragWaehrungAbbuchung") + Dim BruttoBetrag As Double = r("plose_BruttobetragWaehrungAbbuchung") + Dim LeistungsNr As Integer = r("plp_LeistungsNr") + + + allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag) + + 'Rückvergütung Consortio !! + If r("plp_LeistungsNr") = "190" Then '(PRODUCTCODE=301; VERAG-LEISTUNGSNR=190!! + rabattPlosePos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag) + End If + Next + + + + Case "ASFINAG" + useNettogesamtbetrag = True + sqlstr = "SELECT '135' as LeistungsNr, 'MAUT AT lt. Auslage' as ProductCode, sum([netAmount]) as Netto ,sum([VATamount]) as Vatamount ,sum([totalAmount]) as Brutto FROM Kreditkarten INNER JOIN tblAsfinagMaut ON Kreditkarten.KartenNr = tblAsfinagMaut.cardnumber Where Kreditkarten.AdressenNr= '" & KD.KundenNr & "' and tblAsfinagMaut.VATamount <> 0 group by Kreditkarten.AdressenNr UNION - SELECT '153' as leistungsNr, 'MAUT AT lt. Auslage' as ProductCode, sum([netAmount]) as netamount ,sum([VATamount]) as Vatamount ,sum([totalAmount]) as amountInclVAT FROM Kreditkarten INNER JOIN tblAsfinagMaut ON Kreditkarten.KartenNr = tblAsfinagMaut.cardnumber Where Kreditkarten.AdressenNr= '" & KD.KundenNr & "' and tblAsfinagMaut.VATamount = 0 group by Kreditkarten.AdressenNr" + SELECT '153' as LeistungsNr, 'MAUT AT lt. Auslage' as ProductCode, sum([netAmount]) as Netto ,sum([VATamount]) as Vatamount ,sum([totalAmount]) as Brutto FROM Kreditkarten INNER JOIN tblAsfinagMaut ON Kreditkarten.KartenNr = tblAsfinagMaut.cardnumber Where Kreditkarten.AdressenNr= '" & KD.KundenNr & "' and tblAsfinagMaut.VATamount = 0 group by Kreditkarten.AdressenNr" - Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL") + Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL") - For Each r In dt.Rows + For Each r In dt.Rows - Dim NettoBetrag As Double = r("netamount") - Dim BruttoBetrag As Double = r("amountInclVAT") - Dim LeistungsNr As Integer = r("leistungsNr") - Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) + Dim NettoBetrag As Double = r("Netto") + Dim BruttoBetrag As Double = r("Brutto") + Dim LeistungsNr As Integer = r("LeistungsNr") + Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) - allPlosePos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag) 'kann generisch verwendet werden + allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag) - Next + Next + + + + Case "UTA" + + useNettogesamtbetrag = False + + sqlstr = " SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort,Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, tblUTAFakturierwarenarten.Warenart, tblUTAImport.Fakturierwarenart,sum(tblUTAImport.Gesamtbetrag_Netto_in_Lieferlandwährung) as Netto ,sum(tblUTAImport.Gesamtbetrag_Brutto_in_Lieferlandwährung) as Brutto + FROM tblUTAFakturierwarenarten + INNER JOIN (((Adressen INNER JOIN tblUTAImport ON Adressen.UTAKundenNr = tblUTAImport.Kundennummer) + INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr) + INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr) AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr) AND (tblUTAImport.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImport.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart + where Offertenpositionen.LeistungsNr is not null AND Offertenpositionen.OffertenNr = " & OffertenNr & " AND Offertenpositionen.KundenNr = " & KdNr & + "group by Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort, Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, tblUTAFakturierwarenarten.Warenart,tblUTAImport.Fakturierwarenart" + + Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL") + + For Each r In dt.Rows + + + Dim NettoBetrag As Double = r("Netto") + Dim BruttoBetrag As Double = r("Brutto") + Dim LeistungsNr As Integer = r("LeistungsNr") + Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) + + allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag) + + Next + + + + Case "MSE" + 'noch nicht implementiert! + + End Select Dim dtSt As DataTable = SQL.loadDgvBySql("SELECT TOP 1 isnull([Steuersatz %],0),isnull([Steuerbezeichnung],'') FROM [Steuertabelle] WHERE [Steuerschlüssel]='" & RG.Steuerschlüssel & "'", "FMZOLL") @@ -2344,30 +2389,18 @@ Public Class frmMDMDatenverarbetiung RG.Steuersatz_Proz = dtSt.Rows(0)(0) End If - Dim useNettogesamtbetrag As Boolean = True + cFakturierung.setGesamtBetraege(RG,, useNettogesamtbetrag) RG.Text = (cFakturierung.przRechnungstextTXT(RG, SPEDBUCH) & vbNewLine & cFakturierung.przRechnungstextZZ(RG)).Trim - ' Call usrCntlFaktAbrechnung.przSVSRVS(RG) ' SVS/RVS errechnen - ' Call przSKR() ' SKR errechnen - - 'Call usrCntlFaktAbrechnung.przVL(RG) ' Vorlageprovision errechnen - 'Call usrCntlFaktAbrechnung.przKapitalbereitstellung(RG) 'Kapitalbereitstellung errechnen - - ' boolFehler = fktBGeb(RECHNUNG.[RK_ID], RECHNUNG.Steuersatz_Proz, RECHNUNG.[Sammelrechnung], RECHNUNG.[BelegartenNr]) ' Bearbeitungsgebühr errechnen - - ' Call usrCntlFaktAbrechnung.przKA(RG) ' Kreditaufwendungen errechnen Call usrCntlFaktAbrechnung.przFixeTaxe(RG) ' Fixe Taxe errechnen Call usrCntlFaktAbrechnung.przPP(RG) ' Porto/Papiere errechnen Call usrCntlFaktAbrechnung.przBS415(RG) ' Bankspesen errechnen If RG.SAVE Then - ' FAKTURIERT eintragen - 'For Each r In dt.Rows - ' SQL.doSQL("UPDATE [tblPLOSE_Details]SET plose_Fakturiert=1, plose_FakturiertDatum='" & datPloseAnhang.Value & "' where plose_Id='" & r("plose_id") & "'", "FMZOLL") - 'Next + Return True Else Return False @@ -2378,58 +2411,10 @@ Public Class frmMDMDatenverarbetiung End Try Return "" - '################################ Code von FMZOLL ######################################################### - - ' Do Until rstOffPos.EOF - ' 'Offertenposition als Rechnungsposition übernehmen. - '4630 With rstRP - '4640 .AddNew - '4650 !RK_ID = rstRK!RK_ID - '4660 !LeistungsNr = rstOffPos!LeistungsNr - '4670 If rstRK![Steuersatz %] = 0 Then ' keine Steuerpflicht - '4680 ![steuerpflichtig] = False - '4690 Else ' LeistungsNr bestimmt Steuerpflicht - '4700 ![steuerpflichtig] = DLookup("[Steuerpflichtig]", "Leistungen", "[LeistungsNr]=" & ![LeistungsNr]) - '4710 End If - '4720 !LeistungsBez = rstOffPos!LeistungsBez - '4730 !BerechnungsartNr = rstOffPos!BerechnungsartNr - '4740 !Preis = fktEuro(rstOffPos!Preis, rstKu!Währungscode, rstRK!Währungscode) - '4750 !Anzahl = rstOffPos!Anzahl - '4760 !BGebLeistungsNr = rstOffPos!BGebLeistungsNr - '4770 !BGebProzent = rstOffPos!BGebProzent - '4780 !BGebMinBetrag = rstOffPos!BGebMinBetrag - '4790 If Not IsNull(![Preis]) Then - '4800 ![Preisbindung] = True - '4810 Else - '4820 ![Preisbindung] = False - '4830 Select Case rstRK!OffertenNr - ' Case 11 'LKW Maut AT - '4840 Select Case !LeistungsNr - ' Case 135 ' Mautberechnung für Österreich steuerpflichtig - '4850 !Anzahl = 1 - '4860 !Preis = DSum("[Nettobetrag]", "qryMautbetrag_AT_Stpfl", "[Kundennummer]=" & rstRK![RechnungsKundenNr]) - '4870 Case 153 ' Mautberechnung für Österreich steuerfrei - '4880 !Anzahl = 1 - '4890 !Preis = DSum("[Nettobetrag]", "qryMautbetrag_AT_Stfrei", "[Kundennummer]=" & rstRK![RechnungsKundenNr]) - '4900 End Select - - ' . - ' . - ' . - ' . - ' If IsNull(![Preis]) Or ![Preis] = 0 Or IsNull(![Anzahl]) Or ![Anzahl] = 0 Then - ' .Delete - ' . - ' . - ' . - ' . - - '################################ Code von FMZOLL ######################################################### - End Function - Function allPlosePos(ByRef RG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, OFFERTE As VERAG_PROG_ALLGEMEIN.cOfferte, LeistungsNr As Integer, NettoBetrag As Double, BruttoBetrag As Double) + Function allPos(ByRef RG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, OFFERTE As VERAG_PROG_ALLGEMEIN.cOfferte, LeistungsNr As Integer, NettoBetrag As Double, BruttoBetrag As Double) Try For Each o In OFFERTE.POSITIONEN @@ -2450,7 +2435,7 @@ Public Class frmMDMDatenverarbetiung 'POS.Preis = BruttoBetrag POS.Anzahl = 1 POS.Steuerpflichtig = LEISTUNG.Steuerpflichtig - POS.BGebBgl = NettoBetrag + POS.BGebBgl = IIf(LIEFERANT = "UTA", BruttoBetrag, NettoBetrag) If POS.Steuerpflichtig Then