Timas -> TerminalID, Prvisionsverguetung, Rechnungssuche, etc.

This commit is contained in:
2026-03-27 10:17:24 +01:00
parent 47bd09109f
commit ddae3769d0
12 changed files with 207 additions and 87 deletions

View File

@@ -1197,6 +1197,7 @@ Public Class cFakturierung
If Buchungsjahr Is Nothing Then Buchungsjahr = Now.Year
rpt.txtBank3.Visible = False
rpt.txtBank2.Visible = True
' Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Select Case FIRMA.Firma_ID
@@ -1213,6 +1214,8 @@ Public Class cFakturierung
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
rpt.txtBank3.Visible = True
rpt.txtBank2.Visible = False 'soll beim AMBAR ausgeblendet werden (Laut I.Ordu am 27.03.2026)
'Änderung Ticket_Nr.: 6983
'rpt.txtBank3.Text = "Garanti Bank Türkei – Euro Konto" & vbNewLine & "IBAN: TR90 0006 2001 6040 0009 0804 66" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
'rpt.txtBank3.Text = "Garanti Bank Türkei – Euro Konto" & vbNewLine & "IBAN: TR90 0006 2001 6040 0009 0804 66" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim

View File

@@ -115,6 +115,7 @@ Partial Class frmRechnungenSuche
Me.NachRechnungslandToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.NachLeistungsnummerToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.NachZollabfertigungspreisenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.RechnungenOhnePositionenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.Button3 = New System.Windows.Forms.Button()
Me.Button1 = New System.Windows.Forms.Button()
Me.Label10 = New System.Windows.Forms.Label()
@@ -140,7 +141,7 @@ Partial Class frmRechnungenSuche
Me.pnlTop = New System.Windows.Forms.Panel()
Me.PictureBox5 = New System.Windows.Forms.PictureBox()
Me.TestToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.RechnungenOhnePositionenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.PictureBox1 = New System.Windows.Forms.PictureBox()
CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainer.Panel1.SuspendLayout()
Me.SplitContainer.Panel2.SuspendLayout()
@@ -162,6 +163,7 @@ Partial Class frmRechnungenSuche
Me.ctxtRg.SuspendLayout()
Me.pnlTop.SuspendLayout()
CType(Me.PictureBox5, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'SplitContainer
@@ -1543,6 +1545,7 @@ Partial Class frmRechnungenSuche
'
'pnlBerichte
'
Me.pnlBerichte.Controls.Add(Me.PictureBox1)
Me.pnlBerichte.Controls.Add(Me.Button8)
Me.pnlBerichte.Controls.Add(Me.MenuStrip2)
Me.pnlBerichte.Controls.Add(Me.Button3)
@@ -1580,7 +1583,7 @@ Partial Class frmRechnungenSuche
Me.MenuStrip2.Location = New System.Drawing.Point(3, 27)
Me.MenuStrip2.Name = "MenuStrip2"
Me.MenuStrip2.Padding = New System.Windows.Forms.Padding(5, 2, 0, 2)
Me.MenuStrip2.Size = New System.Drawing.Size(263, 28)
Me.MenuStrip2.Size = New System.Drawing.Size(143, 28)
Me.MenuStrip2.TabIndex = 45
Me.MenuStrip2.Text = "Kundenauswertungen"
'
@@ -1599,30 +1602,37 @@ Partial Class frmRechnungenSuche
'
Me.ToolStripMenuItem3.Image = Global.SDL.My.Resources.Resources.statistik_small
Me.ToolStripMenuItem3.Name = "ToolStripMenuItem3"
Me.ToolStripMenuItem3.Size = New System.Drawing.Size(276, 26)
Me.ToolStripMenuItem3.Size = New System.Drawing.Size(272, 24)
Me.ToolStripMenuItem3.Text = "Nach Rechnungsanschrift"
'
'NachRechnungslandToolStripMenuItem
'
Me.NachRechnungslandToolStripMenuItem.Image = Global.SDL.My.Resources.Resources.Excel_logo
Me.NachRechnungslandToolStripMenuItem.Name = "NachRechnungslandToolStripMenuItem"
Me.NachRechnungslandToolStripMenuItem.Size = New System.Drawing.Size(276, 26)
Me.NachRechnungslandToolStripMenuItem.Size = New System.Drawing.Size(272, 24)
Me.NachRechnungslandToolStripMenuItem.Text = "Nach Rechnungsland"
'
'NachLeistungsnummerToolStripMenuItem
'
Me.NachLeistungsnummerToolStripMenuItem.Image = Global.SDL.My.Resources.Resources.Excel_logo
Me.NachLeistungsnummerToolStripMenuItem.Name = "NachLeistungsnummerToolStripMenuItem"
Me.NachLeistungsnummerToolStripMenuItem.Size = New System.Drawing.Size(276, 26)
Me.NachLeistungsnummerToolStripMenuItem.Size = New System.Drawing.Size(272, 24)
Me.NachLeistungsnummerToolStripMenuItem.Text = "Nach Leistungsnummer"
'
'NachZollabfertigungspreisenToolStripMenuItem
'
Me.NachZollabfertigungspreisenToolStripMenuItem.Image = Global.SDL.My.Resources.Resources.Excel_logo
Me.NachZollabfertigungspreisenToolStripMenuItem.Name = "NachZollabfertigungspreisenToolStripMenuItem"
Me.NachZollabfertigungspreisenToolStripMenuItem.Size = New System.Drawing.Size(276, 26)
Me.NachZollabfertigungspreisenToolStripMenuItem.Size = New System.Drawing.Size(272, 24)
Me.NachZollabfertigungspreisenToolStripMenuItem.Text = "Nach Zollabf.-preisen (LNr: 340)"
'
'RechnungenOhnePositionenToolStripMenuItem
'
Me.RechnungenOhnePositionenToolStripMenuItem.Image = Global.SDL.My.Resources.Resources.Excel_logo
Me.RechnungenOhnePositionenToolStripMenuItem.Name = "RechnungenOhnePositionenToolStripMenuItem"
Me.RechnungenOhnePositionenToolStripMenuItem.Size = New System.Drawing.Size(272, 24)
Me.RechnungenOhnePositionenToolStripMenuItem.Text = "Rechnungen ohne Positionen"
'
'Button3
'
Me.Button3.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
@@ -1881,12 +1891,16 @@ Partial Class frmRechnungenSuche
Me.TestToolStripMenuItem.Size = New System.Drawing.Size(150, 19)
Me.TestToolStripMenuItem.Text = "test"
'
'RechnungenOhnePositionenToolStripMenuItem
'PictureBox1
'
Me.RechnungenOhnePositionenToolStripMenuItem.Image = Global.SDL.My.Resources.Resources.Excel_logo
Me.RechnungenOhnePositionenToolStripMenuItem.Name = "RechnungenOhnePositionenToolStripMenuItem"
Me.RechnungenOhnePositionenToolStripMenuItem.Size = New System.Drawing.Size(276, 26)
Me.RechnungenOhnePositionenToolStripMenuItem.Text = "Rechnungen ohne Positionen"
Me.PictureBox1.BackgroundImage = Global.SDL.My.Resources.Resources.fragezeichen
Me.PictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.PictureBox1.Location = New System.Drawing.Point(900, 20)
Me.PictureBox1.Name = "PictureBox1"
Me.PictureBox1.Size = New System.Drawing.Size(18, 19)
Me.PictureBox1.TabIndex = 132
Me.PictureBox1.TabStop = False
Me.PictureBox1.Visible = False
'
'frmRechnungenSuche
'
@@ -1929,6 +1943,7 @@ Partial Class frmRechnungenSuche
Me.pnlTop.ResumeLayout(False)
Me.pnlTop.PerformLayout()
CType(Me.PictureBox5, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
@@ -2049,4 +2064,5 @@ Partial Class frmRechnungenSuche
Friend WithEvents NachLeistungsnummerToolStripMenuItem As ToolStripMenuItem
Friend WithEvents Button8 As Button
Friend WithEvents RechnungenOhnePositionenToolStripMenuItem As ToolStripMenuItem
Friend WithEvents PictureBox1 As PictureBox
End Class

View File

@@ -1031,4 +1031,8 @@ Public Class frmRechnungenSuche
End Try
End Sub
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
Dim webAddress As String = "https://wiki.verag.ag/de/abteilungen/verrechnung/xxxx#provisionsverg%C3%BCtung"
Process.Start(webAddress)
End Sub
End Class

View File

@@ -1,6 +1,7 @@
Imports System.Data.SqlClient
Imports System.IO
Imports System.Web.UI.WebControls.Expressions
Imports com.sun.xml.internal.rngom
Imports VERAG_PROG_ALLGEMEIN
Public Class usrCntlFaktAbrechnung
@@ -1885,6 +1886,8 @@ Public Class usrCntlFaktAbrechnung
.Rows.Add(0, r("anh_Art"), r("anh_Name"), r("anh_docId"), r("anh_id"))
Next
End If
End If
RECHNUNG.LOAD_ANHAENGE()
@@ -1899,7 +1902,7 @@ Public Class usrCntlFaktAbrechnung
End If
Next
'-----------------------------
addCBamFlyer(dgvAnhaenge)
'-----------------------------
'ANHÄNGE SELEKTIEREN
'-----------------------------
@@ -5363,10 +5366,7 @@ mwst:
Return isMWST
End Function
Private Sub ApplyPreis(
r As DataGridViewRow,
summen As AntragSummen,
isRMCKunde As Boolean)
Private Sub ApplyPreis(r As DataGridViewRow, summen As AntragSummen, isRMCKunde As Boolean)
r.Cells("Anzahl").Value = 1
@@ -5381,24 +5381,13 @@ mwst:
End Sub
Private Sub ApplyBearbeitungsGebuehr(
r As DataGridViewRow,
summen As AntragSummen,
ByRef summeRMC As Double,
ByRef summeFremd As Double,
ByRef fremdUndRMC As Boolean,
ByRef posChanged As Boolean,
changed As Boolean,
sumOffertRMC As Double,
sumOffertFremd As Double)
Private Sub ApplyBearbeitungsGebuehr(r As DataGridViewRow, summen As AntragSummen, ByRef summeRMC As Double, ByRef summeFremd As Double, ByRef fremdUndRMC As Boolean, ByRef posChanged As Boolean, changed As Boolean, sumOffertRMC As Double, sumOffertFremd As Double)
If IsDBNull(r.Cells("BGebLeistungsNr").Value) Then Exit Sub
If IsDBNull(r.Cells("BGebProzent").Value) Then Exit Sub
If IsDBNull(r.Cells("Preis").Value) Then Exit Sub
' hier nur noch Gebühr-Logik
' KEINE MWST-Logik mehr
' KEINE Antrag-Logik mehr
posChanged = True
@@ -5419,4 +5408,40 @@ mwst:
OrElse SPEDBUCH.Abfertigungsart = 10
End Function
Private Sub addCBamFlyer(dgv As DataGridView)
If RECHNUNG Is Nothing Then Exit Sub
If SPEDBUCH Is Nothing Then Exit Sub
If RECHNUNG.ReErfZeitstempel IsNot Nothing AndAlso CDate(RECHNUNG.ReErfZeitstempel) <= DateTime.Parse("26/05/2026") AndAlso RECHNUNG.DruckDatumZeit Is Nothing Then
Select Case FIRMA.Firma_ID
Case 7, 19
Case Else
If SPEDBUCH.Abfertigungsart IsNot Nothing Then
If RECHNUNG.RechnungsLandKz <> "TR" AndAlso RECHNUNG.RechnungsLandKz <> "GB" Then
Select Case SPEDBUCH.Abfertigungsart
Case 1, 3, 5, 7, 26, 28, 38, 39, 29, 66
Dim docID As Integer = IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, 13567402, 13638537)
Dim exists = dgv.Rows.Cast(Of DataGridViewRow)().Any(Function(r) Not r.IsNewRow AndAlso CInt(r.Cells("anh_docId").Value) = docID)
If Not exists Then
dgv.Rows.Add(1, "INFO", "CBAM-FLYER", docID, 0)
End If
End Select
End If
End If
End Select
End If
End Sub
End Class

View File

@@ -152,7 +152,7 @@ Public Class frmProvisionisverguetung
Dim mailText As String = "Sehr geehrte Damen und Herren," & vbNewLine & vbNewLine & "anbei die PROVISIONSABRECHNUNG von " & txtAbfertDat._value & " bis " & txtAbfertDatBis._value & "." & vbNewLine & vbNewLine & vbNewLine
mailText &= "<table border=1>"
mailText &= "<tr><td></td><td>Anzahl Rechnungen</td><td>Umsatz</td><td>Provision</td></tr>"
mailText &= "<tr><td>Kunde</td><td>Anzahl Rechnungen</td><td>Umsatz</td><td>Provision</td></tr>"
Dim sumProv As Double = 0
Dim sumUmsatz As Double = 0
@@ -161,7 +161,7 @@ Public Class frmProvisionisverguetung
For Each row As DataGridViewRow In dgv.SelectedRows
mailText &= "<tr>"
mailText &= "<td><b></b></td>"
mailText &= "<td><b>" & row.Cells("Ordnungsbegriff").Value & "</b></td>"
mailText &= "<td><b>" & row.Cells("Anzahl").Value & "</b></td>"
mailText &= "<td><b>" & CDbl(row.Cells("Umsatz").Value) & "</b></td>"
mailText &= "<td><b>" & CDbl(row.Cells("Provision").Value) & "</b></td>"
@@ -189,6 +189,8 @@ Public Class frmProvisionisverguetung
Mail.HTMLBody = TextHTML
End If
Mail.Subject = "Provisionsauswertung"
Mail.To = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(ad.AdressenNr, "Rechnung an")
Mail.CC = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(ad.AdressenNr, "Rechnung an")
Mail.BCC = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(ad.AdressenNr, "Rechnung an")

View File

@@ -54,7 +54,7 @@ Public Class usrCntlSpeditionsBuchSuche
dgvLKW.Visible = False
sqlstr &= " SELECT " & TopMax & " [FilialenNr],[AbfertigungsNr],[UnterNr],[Abfertigungsdatum],speditionsbuch.[Abfertigungsart],Abfertigungsarten.Abfertigungsbezeichnung, " &
" isnull(cast([AbsenderKundenNr] as nvarchar(7)) + ' ','') + [Absender] as Absender,isnull(cast([EmpfängerKundenNr] as nvarchar(7)) + ' ','') + [Empfänger] as Empfänger,isnull(cast([VermittlerKundenNr] as nvarchar(7)) + ' ','') + [Vermittler] as Vermittler,isnull(cast([FrachtführerKundenNr] as nvarchar(7)) + ' ','') + [Frachtführer] as Frachtführer, " &
" isnull(cast([AbsenderKundenNr] as nvarchar(7)) + ' ','') + [Absender] as Absender,isnull(cast([EmpfängerKundenNr] as nvarchar(7)) + ' ','') + [Empfänger] as Empfänger,isnull(cast([VermittlerKundenNr] as nvarchar(7)) + ' ','') + [Vermittler] as Vermittler,isnull(cast([FrachtführerKundenNr] as nvarchar(7)) + ' ','') + [Frachtführer] as Frachtführer,isnull(cast([AvisiererKundenNr] as nvarchar(7)) + ' ','') + [Avisierer] as Avisierer, " &
" [LKW Kennzeichen],QKN,(SELECT isnull(Name,'') FROM Personal Where Personalnummer=ID) AS Sachbearbeiter,BelegNr, Grenzstelle FROM [Speditionsbuch] LEFT JOIN Abfertigungsarten ON Abfertigungsarten.Abfertigungsart=speditionsbuch.Abfertigungsart WHERE 1=1 "
'/*Sachbearbeiter ,[Bar],[Fakturiert],[BelegNr],[ErfassungsNr],[AnzahlZA],[AnzahlZAFremd],[AnzahlZnV],[AnzahlZnVFremd],[AnzahlT1],[AnzahlT2],[AnzahlAE],[AnzahlCarnetTIR],[AnzahlBarvorlagen],[AnzahlSonstiges],[AnzahlGrenzgebühren],[AvisUhrzeit],[Rechnungsbetrag],[Abfertigungsanzahl],[Barzahlungsbetrag],[Sachbearbeiter],[Personalnummer],[AtlasBezNrEZA],[AtlasBezNrNCTS],[Versendungsland],[SB_CMR],[SB_CMRDatum],[veoerz_basbtg],[Zucker_MRN_Nr],[Zucker_MRN_Datum],[Zucker_Aufschub],[Zollsystem],[Bestimmungszollstelle],[Bürgschaft],[Sicherheitsbetrag],[SgutKompl],[Bestimmungsland],[EuFiskalEmpfänger],[QKN],[EndempfängerKundenNr],[Endempfänger] */
With DataGridView
@@ -103,9 +103,11 @@ Public Class usrCntlSpeditionsBuchSuche
.Columns("Frächter").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("Frächter").MinimumWidth = 150
.Columns("Avisierer").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("Avisierer").MinimumWidth = 150
.Columns("Freigabe").Width = 105
@@ -116,7 +118,7 @@ Public Class usrCntlSpeditionsBuchSuche
If dgvLKW.SelectedRows().Count = 0 Then Exit Sub
Dim sqlstrTmp = " SELECT " & TopMax & " [FilialenNr],[AbfertigungsNr],[UnterNr],[Abfertigungsdatum],speditionsbuch.[Abfertigungsart],Abfertigungsarten.Abfertigungsbezeichnung, " &
" isnull(cast([AbsenderKundenNr] as nvarchar(7)) + ' ','') + [Absender] as Absender,isnull(cast([EmpfängerKundenNr] as nvarchar(7)) + ' ','') + [Empfänger] as Empfänger,isnull(cast([VermittlerKundenNr] as nvarchar(7)) + ' ','') + [Vermittler] as Vermittler,isnull(cast([FrachtführerKundenNr] as nvarchar(7)) + ' ','') + [Frachtführer] as Frachtführer, " &
" isnull(cast([AbsenderKundenNr] as nvarchar(7)) + ' ','') + [Absender] as Absender,isnull(cast([EmpfängerKundenNr] as nvarchar(7)) + ' ','') + [Empfänger] as Empfänger,isnull(cast([VermittlerKundenNr] as nvarchar(7)) + ' ','') + [Vermittler] as Vermittler,isnull(cast([FrachtführerKundenNr] as nvarchar(7)) + ' ','') + [Frachtführer] as Frachtführer,isnull(cast([AvisiererKundenNr] as nvarchar(7)) + ' ','') + [Avisierer] as Avisierer, " &
" [LKW Kennzeichen],QKN,(SELECT isnull(Name,'') FROM Personal Where Personalnummer=ID) AS Sachbearbeiter ,BelegNr, Grenzstelle FROM [Speditionsbuch] LEFT JOIN Abfertigungsarten ON Abfertigungsarten.Abfertigungsart=speditionsbuch.Abfertigungsart WHERE 1=1 "
With DataGridView
@@ -179,10 +181,18 @@ Public Class usrCntlSpeditionsBuchSuche
.Columns("Frachtführer").HeaderText = "Frachtführer"
.Columns("Frachtführer").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("Avisierer").MinimumWidth = 150
.Columns("Avisierer").HeaderText = "Avisierer"
.Columns("Avisierer").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("LKW Kennzeichen").Width = 120
.Columns("LKW Kennzeichen").HeaderText = "LKW Kennzeichen"
.Columns("Grenzstelle").Visible = False
'.Columns("Avisierer").Visible = False
.Columns("BelegNr").Width = 160
.Columns("Sachbearbeiter").MinimumWidth = 100
'MsgBox(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_niederlassung)

View File

@@ -641,6 +641,7 @@ Public Class usrcntlFremdrechnungen
'SET_SDL("ALLE")
Dim btcNotSet As Integer = 0
Dim missingInvoices As Integer = 0
Dim uta As cUTA
Dim ids As cIDS
@@ -660,9 +661,19 @@ Public Class usrcntlFremdrechnungen
lblCountOrigRechnungen.Text = btcNotSet
countbtcNotSet = btcNotSet
missingInvoices += ids.checkPDFInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value, , txtKundenNrvon.Text, txtKundenNrbis.Text)
missingInvoices += uta.checkPDFInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value, , txtKundenNrvon.Text, txtKundenNrbis.Text)
missingInvoices += rmc.checkPDFInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value, , txtKundenNrvon.Text, txtKundenNrbis.Text)
missingInvoices += ploseRE.checkPDFInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value, , txtKundenNrvon.Text, txtKundenNrbis.Text)
missingInvoices += mse.checkPDFInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value, , txtKundenNrvon.Text, txtKundenNrbis.Text)
lblCountMissingInvoices.Text = missingInvoices
countMissingInvoices = missingInvoices
ElseIf txtKundenNrvon.Text = "" AndAlso txtKundenNrbis.Text = "" Then
SET_SDL("ALLE")
btcNotSet += ids.countBackToCustomerNotSet(New VERAG_PROG_ALLGEMEIN.SQL)
btcNotSet += uta.countBackToCustomerNotSet(New VERAG_PROG_ALLGEMEIN.SQL)
btcNotSet += rmc.countBackToCustomerNotSet(New VERAG_PROG_ALLGEMEIN.SQL)
@@ -671,6 +682,14 @@ Public Class usrcntlFremdrechnungen
lblCountOrigRechnungen.Text = btcNotSet
countbtcNotSet = btcNotSet
missingInvoices += ids.checkPDFInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value)
missingInvoices += uta.checkPDFInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value)
missingInvoices += rmc.checkPDFInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value)
missingInvoices += ploseRE.checkPDFInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value)
missingInvoices += mse.checkPDFInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value)
lblCountMissingInvoices.Text = missingInvoices
countMissingInvoices = missingInvoices
End If
End Sub