This commit is contained in:
2026-05-04 15:36:37 +02:00
7 changed files with 186 additions and 58 deletions

View File

@@ -1522,6 +1522,8 @@ Public Class cDakosy_EZA_Aufschub
Property ezaAfb_Abgabenbetrag As Object = Nothing
Property ezaAfb_AbgabeArt As Object = Nothing
Property AufschubnehmerName As Object = Nothing
Property ezaAfb_PositionsNummer As Object = Nothing
Property ezaAfb_Prozentsatz As Object = Nothing
'Public selButton As Object = Nothing ' Für die GUI
@@ -1554,6 +1556,8 @@ Public Class cDakosy_EZA_Aufschub
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaAfb_Abgabenbetrag", ezaAfb_Abgabenbetrag))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaAfb_AbgabeArt", ezaAfb_AbgabeArt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AufschubnehmerName", AufschubnehmerName))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaAfb_PositionsNummer", ezaAfb_PositionsNummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaAfb_Prozentsatz", ezaAfb_Prozentsatz))
Return list

View File

@@ -3575,8 +3575,9 @@ Public Class cDakosy_NCTSOut004_HouseConsignment
For Each p In nctsWP_CONSIGNMENT_ITEM
p.nctsHCCI_NctsHCId = nctsHCId
p.nctsHCCI_NctsId = ncts_id
If Not p.INSERT() Then
If p.INSERT() Then
p.INSERT_Packing(p.nctsHCCI_Id, p.nctsHCCI_NctsHCId, p.nctsHCCI_NctsId)
Else
Return False
End If
Next

View File

@@ -174,6 +174,7 @@ Public Class frmMitarbDetails
cboFirma.Items.Add("AMBAR")
cboFirma.Items.Add("FRONTOFFICE")
cboFirma.Items.Add("VERIMEX")
cboFirma.Items.Add("DURMAZ")
cboFirma.Items.Add("ALLE")
@@ -185,6 +186,7 @@ Public Class frmMitarbDetails
cboFirmaHaupt.Items.Add("AMBAR")
cboFirmaHaupt.Items.Add("FRONTOFFICE")
cboFirmaHaupt.Items.Add("VERIMEX")
cboFirmaHaupt.Items.Add("DURMAZ")
cboFaktGrp.Items.Clear()

View File

@@ -1,9 +1,9 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class usrCntlMitarbeiter
Inherits System.Windows.Forms.UserControl
'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
@@ -20,7 +20,7 @@ Partial Class usrCntlMitarbeiter
'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.
<System.Diagnostics.DebuggerStepThrough()> _
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.Button6 = New System.Windows.Forms.Button()
@@ -60,6 +60,8 @@ Partial Class usrCntlMitarbeiter
Me.BerechtigungenSetzenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.Button7 = New System.Windows.Forms.Button()
Me.TabPage9 = New System.Windows.Forms.TabPage()
Me.dgvDURMAZ = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.Panel2.SuspendLayout()
Me.TabControl1.SuspendLayout()
Me.TabPage1.SuspendLayout()
@@ -81,6 +83,8 @@ Partial Class usrCntlMitarbeiter
Me.Panel1.SuspendLayout()
Me.Panel3.SuspendLayout()
Me.ContextMenuStrip1.SuspendLayout()
Me.TabPage9.SuspendLayout()
CType(Me.dgvDURMAZ, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'Button6
@@ -160,6 +164,7 @@ Partial Class usrCntlMitarbeiter
Me.TabControl1.Controls.Add(Me.TabPage5)
Me.TabControl1.Controls.Add(Me.TabPage6)
Me.TabControl1.Controls.Add(Me.TabPage7)
Me.TabControl1.Controls.Add(Me.TabPage9)
Me.TabControl1.Controls.Add(Me.TabPage8)
Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.TabControl1.Location = New System.Drawing.Point(0, 0)
@@ -463,6 +468,27 @@ Partial Class usrCntlMitarbeiter
Me.Button7.Text = "Check"
Me.Button7.UseVisualStyleBackColor = True
'
'TabPage9
'
Me.TabPage9.Controls.Add(Me.dgvDURMAZ)
Me.TabPage9.Location = New System.Drawing.Point(4, 22)
Me.TabPage9.Name = "TabPage9"
Me.TabPage9.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage9.Size = New System.Drawing.Size(881, 622)
Me.TabPage9.TabIndex = 8
Me.TabPage9.Text = "DURMAZ"
Me.TabPage9.UseVisualStyleBackColor = True
'
'dgvDURMAZ
'
Me.dgvDURMAZ.AKTUALISIERUNGS_INTERVALL = -1
Me.dgvDURMAZ.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.dgvDURMAZ.Dock = System.Windows.Forms.DockStyle.Fill
Me.dgvDURMAZ.Location = New System.Drawing.Point(3, 3)
Me.dgvDURMAZ.Name = "dgvDURMAZ"
Me.dgvDURMAZ.Size = New System.Drawing.Size(875, 616)
Me.dgvDURMAZ.TabIndex = 28
'
'usrCntlMitarbeiter
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -495,6 +521,8 @@ Partial Class usrCntlMitarbeiter
Me.Panel1.PerformLayout()
Me.Panel3.ResumeLayout(False)
Me.ContextMenuStrip1.ResumeLayout(False)
Me.TabPage9.ResumeLayout(False)
CType(Me.dgvDURMAZ, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
@@ -534,5 +562,7 @@ Partial Class usrCntlMitarbeiter
Friend WithEvents ContextMenuStrip2 As ContextMenuStrip
Friend WithEvents cbxZE As CheckBox
Friend WithEvents cbxDakosy As CheckBox
Friend WithEvents TabPage9 As TabPage
Friend WithEvents dgvDURMAZ As VERAG_PROG_ALLGEMEIN.MyDatagridview
Friend WithEvents Button7 As Button
End Class

View File

@@ -51,6 +51,8 @@ Public Class usrCntlMitarbeiter
ElseIf TabControl1.SelectedIndex = 6 Then
showVERAGATILLA("VERIMEX")
ElseIf TabControl1.SelectedIndex = 7 Then
showVERAGATILLA("DURMAZ")
ElseIf TabControl1.SelectedIndex = 8 Then
If dgvTimasNew IsNot Nothing Then
showTIMAS(False)
End If
@@ -198,6 +200,22 @@ Public Class usrCntlMitarbeiter
'AL: Sortierung nach Ausfahrt (Zeit)
dgvVERIMEX.Sort(dgvVERIMEX.Columns(3), ListSortDirection.Ascending)
End If
ElseIf firma = "DURMAZ" Then
' dgvATILLA.DataSource = UID.AnzeigeTabelleFirma(sql)
dgvDURMAZ.SET_SQL(sql, "ADMIN")
dgvDURMAZ.LOAD()
'Tabelle Kommt/Geht bereinigen
If dgvDURMAZ.RowCount = 0 Then
dgvDURMAZ.DataSource = Nothing
Else
sortDGV(dgvDURMAZ)
'Eintraege_festlegen()
'AL: Sortierung nach Ausfahrt (Zeit)
dgvDURMAZ.Sort(dgvDURMAZ.Columns(3), ListSortDirection.Ascending)
End If
End If
@@ -327,6 +345,7 @@ Public Class usrCntlMitarbeiter
Case 4 : Firma = "AMBAR"
Case 5 : Firma = "FRONTOFFICE"
Case 6 : Firma = "VERIMEX"
Case 7 : Firma = "DURMAZ"
End Select
Dim frmMitarbDetails As New frmMitarbDetails(Firma)
frmMitarbDetails.Show()
@@ -390,13 +409,21 @@ Public Class usrCntlMitarbeiter
Case vbNo
End Select
ElseIf TabControl1.SelectedIndex = 5 Then
ElseIf TabControl1.SelectedIndex = 6 Then
Select Case MsgBox("Soll der Mitarbeiter '" & dgvVERIMEX.CurrentRow.Cells(1).Value & "' wirklich gelöscht werden?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Löschen?")
Case vbYes
UID.delData(Convert.ToInt32(dgvVERIMEX.CurrentRow.Cells(0).Value))
Tabelle_anzeigen()
Case vbNo
End Select
ElseIf TabControl1.SelectedIndex = 7 Then
Select Case MsgBox("Soll der Mitarbeiter '" & dgvDURMAZ.CurrentRow.Cells(1).Value & "' wirklich gelöscht werden?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Löschen?")
Case vbYes
UID.delData(Convert.ToInt32(dgvDURMAZ.CurrentRow.Cells(0).Value))
Tabelle_anzeigen()
Case vbNo
End Select
End If
@@ -417,7 +444,7 @@ Public Class usrCntlMitarbeiter
Private Sub dgvIMEX_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvIMEX.CellDoubleClick, dgvUNISPED.CellDoubleClick, dgvAMBAR.CellDoubleClick, c.CellDoubleClick, dgvATILLA.CellDoubleClick, dgvFRONTOFFICE.CellDoubleClick, dgvVERIMEX.CellDoubleClick
Private Sub dgvIMEX_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvIMEX.CellDoubleClick, dgvUNISPED.CellDoubleClick, dgvAMBAR.CellDoubleClick, c.CellDoubleClick, dgvATILLA.CellDoubleClick, dgvFRONTOFFICE.CellDoubleClick, dgvVERIMEX.CellDoubleClick, dgvDURMAZ.CellDoubleClick
Me.Cursor = Cursors.Default
Dim frmMitarbDetails As New frmMitarbDetails
frmMitarbDetails.mid = sender.CurrentRow.Cells(0).Value
@@ -446,7 +473,8 @@ Public Class usrCntlMitarbeiter
Case 4 : dgv = dgvAMBAR
Case 5 : dgv = dgvFRONTOFFICE
Case 6 : dgv = dgvVERIMEX
Case 7 : dgv = dgvTimasNew
Case 7 : dgv = dgvDURMAZ
Case 8 : dgv = dgvTimasNew
End Select
If e.KeyCode = Keys.Return Then
@@ -547,10 +575,21 @@ Public Class usrCntlMitarbeiter
frm.Show(Me)
End Select
ElseIf TabControl1.SelectedIndex = 7 Then
If dgvDURMAZ.SelectedRows.Count <> 1 Then Exit Sub
Select Case sender.Name
Case copyUserName
copyUser(dgvDURMAZ.CurrentRow.Cells(0).Value)
Case setPermissionsName
Dim frm As New frmBenutzerBerGruppenKopieren(dgvDURMAZ.CurrentRow.Cells(0).Value)
frm.Show(Me)
End Select
End If
End Sub
Private Sub dgvVerag_CellMouseDown(ByVal sender As Object, ByVal e As DataGridViewCellMouseEventArgs) Handles c.CellMouseDown, dgvVERIMEX.CellMouseDown, dgvUNISPED.CellMouseDown, dgvIMEX.CellMouseDown, dgvFRONTOFFICE.CellMouseDown, dgvATILLA.CellMouseDown, dgvAMBAR.CellMouseDown
Private Sub dgvVerag_CellMouseDown(ByVal sender As Object, ByVal e As DataGridViewCellMouseEventArgs) Handles c.CellMouseDown, dgvVERIMEX.CellMouseDown, dgvUNISPED.CellMouseDown, dgvIMEX.CellMouseDown, dgvFRONTOFFICE.CellMouseDown, dgvATILLA.CellMouseDown, dgvAMBAR.CellMouseDown, dgvDURMAZ.CellMouseDown
If e.Button = Windows.Forms.MouseButtons.Right AndAlso e.RowIndex > -1 Then
Dim rowClicked As DataGridView.HitTestInfo
@@ -587,9 +626,15 @@ Public Class usrCntlMitarbeiter
Case "dgvVERIMEX"
rowClicked = dgvAMBAR.HitTest(e.X, e.Y)
dgvAMBAR.ClearSelection()
Me.dgvAMBAR.Rows(e.RowIndex).Selected = True
rowClicked = dgvVERIMEX.HitTest(e.X, e.Y)
dgvVERIMEX.ClearSelection()
Me.dgvVERIMEX.Rows(e.RowIndex).Selected = True
Case "dgvDURMAZ"
rowClicked = dgvDURMAZ.HitTest(e.X, e.Y)
dgvDURMAZ.ClearSelection()
Me.dgvDURMAZ.Rows(e.RowIndex).Selected = True
End Select
@@ -767,6 +812,10 @@ Public Class usrCntlMitarbeiter
dgv = dgvVERIMEX
ElseIf TabControl1.SelectedIndex = 7 Then
dgv = dgvDURMAZ
End If
Dim SQL As New SQL

View File

@@ -10258,6 +10258,8 @@ Public Class frmDYNachrichtenVerarbeitung
Dim zp As Object = Nothing
Dim EDIFACTNachrichtenNr = ""
Dim AUFSCHUB As List(Of DAKOSY_Worker.cDakosy_EZA_Aufschub) = Nothing
Dim AUFSCHUB_POS As List(Of DAKOSY_Worker.cDakosy_EZA_Aufschub) = Nothing
Dim division = ""
readEZA_Abgabenbescheid012 = ""
@@ -10321,66 +10323,104 @@ Public Class frmDYNachrichtenVerarbeitung
'End Select
AUFSCHUB.Add(a)
Next
End If
End If
AUFSCHUB_POS = New List(Of DAKOSY_Worker.cDakosy_EZA_Aufschub)
If EZA.EinzelAbgabenbescheid.Position IsNot Nothing Then
For Each EZA_POS In EZA.EinzelAbgabenbescheid.Position
If EZA_POS.Abgaben IsNot Nothing Then
For Each ABG In EZA_POS.Abgaben
Dim a As New DAKOSY_Worker.cDakosy_EZA_Aufschub
a.ezaAfb_PositionsNummer = EZA_POS.PositionsNr
a.ezaAfb_Abgabenbetrag = ABG.Abgabenbetrag
a.ezaAfb_AbgabeArt = ABG.AbgabeArt
If ABG.EinzelAbgabenSatz IsNot Nothing And ABG.EinzelAbgabenSatz.Count = 1 Then
a.[ezaAfb_Prozentsatz] = ABG.EinzelAbgabenSatz(0).Abgabensatz
End If
AUFSCHUB_POS.Add(a)
Next
End If
Next
End If
If readEZA_Abgabenbescheid012 <> "" Then 'BEZUGSNR vorhanden
STATUS.dySt_BezugsNr = readEZA_Abgabenbescheid012
STATUS.dySt_artMitteilung = "AB"
STATUS.dySt_dyArt = "EZA" '"EZA" 'T1/T2
' MsgBox(erledigung)
STATUS.dySt_BezugsNr = readEZA_Abgabenbescheid012
STATUS.dySt_artMitteilung = "AB"
STATUS.dySt_dyArt = "EZA" '"EZA" 'T1/T2
' MsgBox(erledigung)
Select Case erledigung
Case "0" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_69 'ungültig
Case "1" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_69 'ungültig
Case "2" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_69 'ungültig
Case "3" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_99 'unwirksam
Case "4" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_55 'nicht abschleißender Bescheid
Case "5" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_60
Case "6" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_60
Case "7" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_68 'Abgabe HZS
Case "8" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_61 'Erledigung außerhalb d. SB
End Select
Select Case erledigung
Case "0" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_69 'ungültig
Case "1" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_69 'ungültig
Case "2" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_69 'ungültig
Case "3" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_99 'unwirksam
Case "4" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_55 'nicht abschleißender Bescheid
Case "5" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_60
Case "6" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_60
Case "7" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_68 'Abgabe HZS
Case "8" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_61 'Erledigung außerhalb d. SB
End Select
STATUS.dySt_ergCode = "REGNr"
STATUS.dySt_ergMitteilung = regNr
STATUS.dySt_ergZeitpunkt = zp
STATUS.dySt_ergZoellner = zoellner
STATUS.dySt_ergDetails = details
'EINTRAG IN tblDakosy_Zollanmeldungen
STATUS.dySt_ergCode = "REGNr"
STATUS.dySt_ergMitteilung = regNr
STATUS.dySt_ergZeitpunkt = zp
STATUS.dySt_ergZoellner = zoellner
STATUS.dySt_ergDetails = details
'EINTRAG IN tblDakosy_Zollanmeldungen
Dim EZA_TMP As DAKOSY_Worker.cDakosyEZA
Dim EZA_TMP As DAKOSY_Worker.cDakosyEZA
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = saveDY_ZA(STATUS, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit), "EZA")
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = saveDY_ZA(STATUS, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit), "EZA")
If regNr <> "" Then
EZA_TMP = saveDY_EZA(STATUS, DY_TMP, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit), regNr)
Else
EZA_TMP = saveDY_EZA(STATUS, DY_TMP, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit))
End If
EZA_TMP.loadAll()
If regNr <> "" Then
EZA_TMP = saveDY_EZA(STATUS, DY_TMP, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit), regNr)
Else
EZA_TMP = saveDY_EZA(STATUS, DY_TMP, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit))
End If
EZA_TMP.loadAll()
Dim firma = ""
Dim nl = ""
SaveEZA_FirmaNL(EZA_TMP, DY_TMP, division, firma, nl)
Dim firma = ""
Dim nl = ""
SaveEZA_FirmaNL(EZA_TMP, DY_TMP, division, firma, nl)
If AUFSCHUB IsNot Nothing And EZA_TMP IsNot Nothing Then
EZA_TMP.eza_AUFSCHUB.Clear()
For Each a In AUFSCHUB
a.ezaAfb_EZAId = EZA_TMP.eza_Id
Next
EZA_TMP.eza_AUFSCHUB = AUFSCHUB
EZA_TMP.SAVE_Aufschub()
If AUFSCHUB IsNot Nothing And EZA_TMP IsNot Nothing Then
EZA_TMP.eza_AUFSCHUB.Clear()
For Each a In AUFSCHUB
a.ezaAfb_EZAId = EZA_TMP.eza_Id
Next
EZA_TMP.eza_AUFSCHUB = AUFSCHUB
EZA_TMP.SAVE_Aufschub()
cVERAG_out_eza.copyFileFTP_VERAGEZA_DY(EZA_TMP, DY_TMP) ' SCHNITTSTELLE FTP BEREITSTELLEN
'RAISE-API-EVENT/TRIGGER ??
End If
' ------------------------------------------------------------------------------
' wenn nicht abschliebender Abgabenbescheid --> Infomail an die Zollbüros!
Select Case erledigung
cVERAG_out_eza.copyFileFTP_VERAGEZA_DY(EZA_TMP, DY_TMP) ' SCHNITTSTELLE FTP BEREITSTELLEN
'RAISE-API-EVENT/TRIGGER ??
'Aufschub nach Position speichern!
If AUFSCHUB_POS IsNot Nothing And EZA_TMP IsNot Nothing Then
' EZA_TMP.eza_AUFSCHUB.Clear()
For Each a In AUFSCHUB_POS
a.ezaAfb_EZAId = EZA_TMP.eza_Id
EZA_TMP.eza_AUFSCHUB.Add(a)
Next
EZA_TMP.SAVE_Aufschub()
End If
End If
' ------------------------------------------------------------------------------
' wenn nicht abschliebender Abgabenbescheid --> Infomail an die Zollbüros!
Select Case erledigung
Case "4"
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_55 'nicht abschleißender Bescheid
Dim MailTo = "eu@verag.ag"

View File

@@ -1370,6 +1370,8 @@ Public Class frmStartOptions
betreff = betreff.Replace("%AbfertigungsNr%", SND.FilialenNr & "/" & SND.AbfertigungsNr)
betreff = betreff.Replace("%Standort%", "")
betreff = betreff.Replace("%Uhrzeit%", "")
betreff = betreff.Replace("%Absender%", "")
betreff = betreff.Replace("%Empfaenger%", "")
betreff = betreff.Replace("%KdAuftrNr%", If(KdAtrNr IsNot Nothing AndAlso KdAtrNr.ToString.Trim <> "", "Ihre Auftragsnr: " & KdAtrNr, ""))
@@ -1431,8 +1433,8 @@ Public Class frmStartOptions
body = body.Replace("%Uhrzeit%", Now.ToShortDateString & " " & Now.ToShortTimeString & " Uhr")
body = body.Replace("%KdAuftrNr%", If(KdAtrNr IsNot Nothing AndAlso KdAtrNr.ToString.Trim <> "", "Ihre Auftragsnr: " & KdAtrNr, ""))
body = body.Replace("%Absender%", If(SND.tblSnd_Absender, ""))
body = body.Replace("%Empfaenger%", If(SND.tblSnd_Empfaenger, ""))