20 Commits

Author SHA1 Message Date
03b3296078 divl. Änderungne 2026-06-17 17:02:05 +02:00
4a6ca14b55 Merge branch 'master' of https://git.it.verag.ag/edv/AVISO 2026-06-16 14:07:00 +02:00
63c25aeac1 Version 2026-06-16 14:06:54 +02:00
244564b24c Merge branch 'master' of https://git.it.verag.ag/edv/AVISO 2026-06-16 13:22:14 +02:00
0649e9fc6e status link 2026-06-16 13:22:01 +02:00
d742e3acfa Merge branch 'master' of https://git.it.verag.ag/edv/AVISO 2026-06-15 15:30:59 +02:00
95b99503d1 Version 2026-06-15 15:30:56 +02:00
b887f62438 vers 2026-06-15 15:25:21 +02:00
9ea1ac2aa9 merge 2026-06-12 19:27:24 +02:00
139ffffed4 vers 2026-06-12 19:27:07 +02:00
817638099e version 2026-06-12 14:28:47 +02:00
a5d1e847f3 Zollern FirmaID korrigiert. 2026-06-10 16:52:58 +02:00
911d50d8aa fix 2026-06-10 11:49:05 +02:00
a583a220c5 version 2026-06-08 17:21:22 +02:00
b4f812062b sendungsdet, etc. 2026-06-08 16:22:59 +02:00
ddc14dfe2a Pruefung Vorpapier T1 2026-06-08 09:29:53 +02:00
409b6ff7dc Merge branch 'master' of https://git.it.verag.ag/edv/AVISO 2026-05-28 14:30:20 +02:00
d8db88ec25 Gestellung, etc. 2026-05-28 14:30:11 +02:00
a93d34f6de merge 2026-05-27 11:39:40 +02:00
d9921d5002 vers 2026-05-27 11:39:26 +02:00
5 changed files with 174 additions and 73 deletions

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("4.2.8.5")> <Assembly: AssemblyVersion("4.2.9.1")>
<Assembly: AssemblyFileVersion("4.2.8.5")> <Assembly: AssemblyFileVersion("4.2.9.1")>

View File

@@ -643,7 +643,4 @@ Public Class frmLaufzettel
Me.Cursor = Cursors.Default Me.Cursor = Cursors.Default
End Sub End Sub
Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles cbxAktenzettelDruck.CheckedChanged
End Sub
End Class End Class

View File

@@ -218,13 +218,13 @@ Public Class frmLogin
Dim SQLSTR = " Dim SQLSTR = "
SELECT AVISOID,KDNR FROM SELECT AVISOID,KDNR FROM
( (
SELECT AvisoId,Auftraggeber_KdNr as KDNR FROM [Aviso] where datum >=DATEADD(DAY,-4,GETDATE()) and Firma IN ('VERAG','IMEX') and cast(datum as date)> '29.01.2024' and status NOT IN (1,2) SELECT AvisoId,Auftraggeber_KdNr as KDNR FROM [Aviso] where datum >=DATEADD(DAY,-4,GETDATE()) and Firma IN ('VERAG','IMEX','AMBAR','UNISPED') and cast(datum as date)> '29.01.2024' and status NOT IN (1,2)
UNION UNION
SELECT AvisoId,Frächter_KdNr as KDNR FROM [Aviso] where datum >=DATEADD(DAY,-4,GETDATE()) and Firma IN ('VERAG','IMEX') and cast(datum as date)> '29.01.2024' and status NOT IN (1,2) SELECT AvisoId,Frächter_KdNr as KDNR FROM [Aviso] where datum >=DATEADD(DAY,-4,GETDATE()) and Firma IN ('VERAG','IMEX','AMBAR','UNISPED') and cast(datum as date)> '29.01.2024' and status NOT IN (1,2)
UNION UNION
SELECT AvisoId,tblSnd_AvisiererKdNr as KDNR FROM [Aviso] inner join tblSendungen on tblSnd_AvisoID=AvisoID where datum >=DATEADD(DAY,-4,GETDATE()) and Firma IN ('VERAG','IMEX') and cast(datum as date)> '29.01.2024' and status NOT IN (1,2) SELECT AvisoId,tblSnd_AvisiererKdNr as KDNR FROM [Aviso] inner join tblSendungen on tblSnd_AvisoID=AvisoID where datum >=DATEADD(DAY,-4,GETDATE()) and Firma IN ('VERAG','IMEX','AMBAR','UNISPED') and cast(datum as date)> '29.01.2024' and status NOT IN (1,2)
UNION UNION
SELECT AvisoId,tblSnd_FrachtfuehrerKdNr as KDNR FROM [Aviso] inner join tblSendungen on tblSnd_AvisoID=AvisoID where datum >=DATEADD(DAY,-4,GETDATE()) and Firma IN ('VERAG','IMEX') and cast(datum as date)> '29.01.2024' and status NOT IN (1,2) SELECT AvisoId,tblSnd_FrachtfuehrerKdNr as KDNR FROM [Aviso] inner join tblSendungen on tblSnd_AvisoID=AvisoID where datum >=DATEADD(DAY,-4,GETDATE()) and Firma IN ('VERAG','IMEX','AMBAR','UNISPED') and cast(datum as date)> '29.01.2024' and status NOT IN (1,2)
) as T1 ) as T1
where KDNR is not null and kdnr >0 where KDNR is not null and kdnr >0
/*and(SELECT COUNT(*) FROM tblAvisoStatusMails where asm_AvisoId=AvisoID AND asm_KdNr=KdNr and asm_StatuscodeSent=5) =0 */ /*and(SELECT COUNT(*) FROM tblAvisoStatusMails where asm_AvisoId=AvisoID AND asm_KdNr=KdNr and asm_StatuscodeSent=5) =0 */

View File

@@ -296,29 +296,64 @@ Public Class frmSendungsdetailsNEU
'End If 'End If
If SENDUNG_LIST(CURRENT_INDEX).tblSnd_Abfertigungsart_ID = 44 Then ' ATB GEstellung If SENDUNG_LIST(CURRENT_INDEX).tblSnd_Abfertigungsart_ID = 44 Then ' ATB GEstellung
If SENDUNG_LIST(CURRENT_INDEX).tblSnd_ATBFakturieren Is Nothing Then
Dim err = "- ATB-Gestellung: Bitte geben Sie an, ob die ATB Gestellung fakturiert (abgerechnet) werden sollte."
rtbValidierung.Text &= err & vbNewLine : pnlValidation.Visible = True
'If showErr Then MsgBox(err) : Return False
End If
If Not IsValid18AlphaNumericCode(SENDUNG_LIST(CURRENT_INDEX).tblSnd_ATB_T1) Then
Dim err = "T1/Vorpapier nicht korrekt (18-stellig)!"
rtbValidierung.Text &= err & vbNewLine : pnlValidation.Visible = True
Else
If SENDUNG_LIST(CURRENT_INDEX).tblSnd_ATBFakturieren Is Nothing Then
Dim err = "- ATB-Gestellung: Bitte geben Sie an, ob die ATB Gestellung fakturiert (abgerechnet) werden sollte."
rtbValidierung.Text &= err & vbNewLine : pnlValidation.Visible = True
'If showErr Then MsgBox(err) : Return False
End If
End If
End If End If
End If End If
Dim isVerimex As Boolean = (VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX")
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Then Dim invalidPrepaper As Boolean =
(cboVorpapier.Text.Trim <> "" AndAlso Not IsValid18AlphaNumericCode(cboVorpapier.Text) AndAlso txtVorpapierPos.Text.Trim = "") OrElse
(cboVorpapier2.Text.Trim <> "" AndAlso Not IsValid18AlphaNumericCode(cboVorpapier2.Text) AndAlso txtVorpapier2Pos.Text.Trim = "") OrElse
(cboVorpapier3.Text.Trim <> "" AndAlso Not IsValid18AlphaNumericCode(cboVorpapier3.Text) AndAlso txtVorpapier3Pos.Text.Trim = "")
If (cboVorpapier.Text.Trim <> String.Empty And txtVorpapierPos.Text.Trim = String.Empty) Or Dim missingPosition As Boolean =
(cboVorpapier2.Text.Trim <> String.Empty And txtVorpapier2Pos.Text.Trim = String.Empty) Or (cboVorpapier.Text.Trim <> "" AndAlso txtVorpapierPos.Text.Trim = "" Or cboVorpapier.Text.Trim = "" AndAlso txtVorpapierPos.Text.Trim <> "") OrElse
(cboVorpapier3.Text.Trim <> String.Empty And txtVorpapier3Pos.Text.Trim = String.Empty) Then (cboVorpapier2.Text.Trim <> "" AndAlso txtVorpapier2Pos.Text.Trim = "" Or cboVorpapier2.Text.Trim = "" AndAlso txtVorpapier2Pos.Text.Trim <> "") OrElse
If showErr AndAlso MsgBox("Pre-Paper Position is not filled. Really continue?", vbYesNoCancel) <> vbYes Then (cboVorpapier3.Text.Trim <> "" AndAlso txtVorpapier3Pos.Text.Trim = "" Or cboVorpapier3.Text.Trim = "" AndAlso txtVorpapier3Pos.Text.Trim <> "")
Dim hasIssue As Boolean
If isVerimex Then
hasIssue = (invalidPrepaper OrElse missingPosition)
Else
hasIssue = (invalidPrepaper OrElse missingPosition)
End If
Dim InfoMsg As String
If isVerimex Then
InfoMsg = "Pre-Paper/PosNr data is invalid or incomplete. Continue?"
Else
InfoMsg = "Vorpapier-Nr/PosNr ist ungültig oder nicht vollständig, fortfahren?"
End If
If hasIssue Then
If showErr Then
If MsgBox(InfoMsg, vbYesNoCancel) <> vbYes Then
Return False Return False
End If End If
End If End If
End If End If
If cntlAvisierer_Abf.Visible = False And If cntlAvisierer_Abf.Visible = False And
cntlAuftr_Abf.Visible = False And cntlAuftr_Abf.Visible = False And
cntlEmpf_Abf.Visible = False And cntlEmpf_Abf.Visible = False And
@@ -1981,7 +2016,6 @@ Public Class frmSendungsdetailsNEU
End If End If
If SENDUNG_LIST(CURRENT_INDEX).tblSnd_SpeditionsbuchEingetragen Then If SENDUNG_LIST(CURRENT_INDEX).tblSnd_SpeditionsbuchEingetragen Then
btnSpeditionsbuchEintragen.BackgroundImage = My.Resources.speditionsbuchAktiv btnSpeditionsbuchEintragen.BackgroundImage = My.Resources.speditionsbuchAktiv
setTooltioBtn(btnSpeditionsbuchEintragen, "Speditionsbuch Eingetrag öffnen") setTooltioBtn(btnSpeditionsbuchEintragen, "Speditionsbuch Eingetrag öffnen")
@@ -4955,15 +4989,22 @@ Public Class frmSendungsdetailsNEU
Try Try
Dim files As New List(Of String) ' Dim files As New List(Of String) '
Dim outputFile As String = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Merge.pdf", ".pdf", True,, "Merge") ' "result.pdf" Dim outputFile As String = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Merge.pdf", ".pdf", True,, "Merge") ' "result.pdf"
Dim counter As Integer = 0
For Each r As DataGridViewRow In dgvAnhang.SelectedRows For Each r As DataGridViewRow In dgvAnhang.SelectedRows
If r.Cells("anh_Typ").Value.ToString.ToLower = "pdf" Then files.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("anh_docId").Value)) If r.Cells("anh_Typ").Value.ToString.ToLower = "pdf" Then
files.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("anh_docId").Value))
counter += 1
End If
Next Next
VERAG_PROG_ALLGEMEIN.cFormularManager.mergePDFs(files, outputFile) VERAG_PROG_ALLGEMEIN.cFormularManager.mergePDFs(files, outputFile)
Process.Start(outputFile) If outputFile <> "" AndAlso counter > 0 Then
Process.Start(outputFile)
End If
Catch ex As Exception Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
@@ -7962,6 +8003,9 @@ Public Class frmSendungsdetailsNEU
Exit Sub Exit Sub
End If End If
If Not IsValid18AlphaNumericCode(vorpT1) Then MsgBox("T1/Vorpapier nicht korrekt (18-stellig)!") : Exit Sub
If SENDUNG_LIST(CURRENT_INDEX).tblSnd_WarenwertWaehrung <> "EUR" Then If SENDUNG_LIST(CURRENT_INDEX).tblSnd_WarenwertWaehrung <> "EUR" Then
MsgBox("Warenwert der Gestellung darf nur in EUR angegeben werden") MsgBox("Warenwert der Gestellung darf nur in EUR angegeben werden")
Exit Sub Exit Sub
@@ -8231,4 +8275,12 @@ Public Class frmSendungsdetailsNEU
End If End If
End Sub End Sub
Private Function IsValid18AlphaNumericCode(value As String) As Boolean
value = value.Trim()
If value.Length <> 18 Then Return False
Return value.All(Function(c) Char.IsLetterOrDigit(c))
End Function
End Class End Class

View File

@@ -37,32 +37,38 @@ Public Class usrCntlSND_ATBGestellung
Dim f As frmSendungsdetailsNEU = Me.FindForm Dim f As frmSendungsdetailsNEU = Me.FindForm
If f.SAVE_ME() Then If f.SAVE_ME() Then
Dim INfoVorpapier As String = ""
If Not checkSendungenVorpapierte(f.SENDUNG_LIST, INfoVorpapier) Then MsgBox(INfoVorpapier) : Exit Sub
SND = f.SENDUNG_LIST(f.CURRENT_INDEX) SND = f.SENDUNG_LIST(f.CURRENT_INDEX)
If Not IsNumeric(SND.AbfertigungsNr) OrElse CInt(SND.AbfertigungsNr) < 100000 Then MsgBox("Abfertigungsnummer angeben!") : Exit Sub If Not IsNumeric(SND.AbfertigungsNr) OrElse CInt(SND.AbfertigungsNr) < 100000 Then MsgBox("Abfertigungsnummer angeben!") : Exit Sub
If Not IsNumeric(SND.tblSnd_Warenwert) OrElse CInt(SND.tblSnd_Warenwert) < 0 Then MsgBox("Warenwert angeben!") : Exit Sub If Not IsNumeric(SND.tblSnd_Warenwert) OrElse CInt(SND.tblSnd_Warenwert) < 0 Then MsgBox("Warenwert angeben!") : Exit Sub
If (SND.tblSnd_WarenwertWaehrung) Is Nothing Then MsgBox("Währungseinheit angeben!") : Exit Sub If (SND.tblSnd_WarenwertWaehrung) Is Nothing Then MsgBox("Währungseinheit angeben!") : Exit Sub
If SND.tblSnd_WarenwertWaehrung <> "EUR" Then
Dim kurs As New cFremdwaehrungskurse(SND.tblSnd_WarenwertWaehrung)
If kurs.hasEntry Then
WarenwertEUR = Math.Round(kurs.EXCHANGE_CURTOEUR(SND.tblSnd_Warenwert, SND.tblSnd_WarenwertWaehrung, CDate(Today)), 2)
Else
MsgBox("Umrechnungskurs kann nicht ermittelt werden, bitte EUR-Betrag eingeben!")
Exit Sub
End If
If SND.tblSnd_WarenwertWaehrung <> "EUR" Then
Dim kurs As New cFremdwaehrungskurse(SND.tblSnd_WarenwertWaehrung)
If kurs.hasEntry Then
WarenwertEUR = Math.Round(kurs.EXCHANGE_CURTOEUR(SND.tblSnd_Warenwert, SND.tblSnd_WarenwertWaehrung, CDate(Today)), 2)
Else Else
MsgBox("Umrechnungskurs kann nicht ermittelt werden, bitte EUR-Betrag eingeben!") WarenwertEUR = SND.tblSnd_Warenwert
Exit Sub
End If End If
Else If If(SND.tblSnd_ATB_T1, "") = "" Then MsgBox("T1/Vorpapier angeben!") : Exit Sub
WarenwertEUR = SND.tblSnd_Warenwert
End If
If If(SND.tblSnd_ATB_T1, "") = "" Then MsgBox("MRN (Gestellung) angeben!") : Exit Sub If Not IsValid18AlphaNumericCode(If(SND.tblSnd_ATB_T1, "")) Then MsgBox("T1/Vorpapier nicht korrekt (18-stellig)!") : Exit Sub
If If(SND.tblSnd_Zollsystem_Land, "") = "" Then MsgBox("Abf-Land muss angegeben werden!") : Exit Sub If If(SND.tblSnd_Zollsystem_Land, "") = "" Then MsgBox("Abf-Land muss angegeben werden!") : Exit Sub
If SND.tblSnd_T1_Frist IsNot Nothing AndAlso IsDate(SND.tblSnd_T1_Frist) Then If SND.tblSnd_T1_Frist IsNot Nothing AndAlso IsDate(SND.tblSnd_T1_Frist) Then
If CDate(SND.tblSnd_T1_Frist) >= Today() Then If CDate(SND.tblSnd_T1_Frist) >= Today() Then
'-> OK '-> OK
Else Else
@@ -81,62 +87,62 @@ Public Class usrCntlSND_ATBGestellung
End If End If
Dim Standort As String = "" Dim Standort As String = ""
Dim firmaID As Integer = -1 Dim firmaID As Integer = -1
Select Case SND.FilialenNr
Case 4803, 4809
Standort = Sicherheiten_Standort.VERAG_AG : firmaID = 1
Case 5601
Standort = Sicherheiten_Standort.UNISPED : firmaID = 21
Case 5701
Standort = Sicherheiten_Standort.AMBAR : firmaID = 24
Case 4810, 5103, 5901
Standort = Sicherheiten_Standort.VERAG_GMBH : firmaID = 2
Case 5501
Standort = Sicherheiten_Standort.IMEX : firmaID = 20
End Select
'sonderfälle lt. Mestan
If SND.tblSnd_Zollsystem_Land = "DE" Then
Select Case SND.FilialenNr Select Case SND.FilialenNr
Case 5501, 4803, 4809, 5103 Case 4803, 4809
Standort = Sicherheiten_Standort.VERAG_AG : firmaID = 1
Case 5601
Standort = Sicherheiten_Standort.UNISPED : firmaID = 21
Case 5701
Standort = Sicherheiten_Standort.AMBAR : firmaID = 24
Case 4810, 5103, 5901
Standort = Sicherheiten_Standort.VERAG_GMBH : firmaID = 2 Standort = Sicherheiten_Standort.VERAG_GMBH : firmaID = 2
Case 5501
Standort = Sicherheiten_Standort.IMEX : firmaID = 20
End Select End Select
ElseIf SND.tblSnd_Zollsystem_Land = "AT" Then 'sonderfälle lt. Mestan
If SND.tblSnd_Zollsystem_Land = "DE" Then
If SND.tblSnd_Abfertigungsart_ID = 1 Then 'ZA
Standort = Sicherheiten_Standort.VERAG_CS : firmaID = 11
ElseIf SND.tblSnd_Abfertigungsart_ID = 38 Then 'EV-Verz
Select Case SND.FilialenNr Select Case SND.FilialenNr
Case 4803, 5303, 4809, 5103 Case 5501, 4803, 4809, 5103
Standort = Sicherheiten_Standort.VERAG_CS : firmaID = 11 Standort = Sicherheiten_Standort.VERAG_GMBH : firmaID = 2
End Select End Select
ElseIf SND.tblSnd_Zollsystem_Land = "AT" Then
If SND.tblSnd_Abfertigungsart_ID = 1 Then 'ZA
Standort = Sicherheiten_Standort.VERAG_CS : firmaID = 11
ElseIf SND.tblSnd_Abfertigungsart_ID = 38 Then 'EV-Verz
Select Case SND.FilialenNr
Case 4803, 5303, 4809, 5103
Standort = Sicherheiten_Standort.VERAG_CS : firmaID = 11
End Select
End If
End If End If
End If If isZollern(SND) Then
If isZollern(SND) Then Standort = Sicherheiten_Standort.ZOLLERN : firmaID = 90
Standort = Sicherheiten_Standort.ZOLLERN : firmaID = 99
End If End If
Dim GesSichRef = New VERAG_PROG_ALLGEMEIN.cAufschubKonten(Standort, firmaID) Dim GesSichRef = New VERAG_PROG_ALLGEMEIN.cAufschubKonten(Standort, firmaID)
If GesSichRef Is Nothing Then MsgBox("Verwahrungsreferenz kann nicht ermittelt werden!") : Exit Sub If GesSichRef Is Nothing Then MsgBox("Verwahrungsreferenz kann nicht ermittelt werden!") : Exit Sub
Dim saldo = CDbl(GesSichRef.CalcSaldo()) Dim saldo = CDbl(GesSichRef.CalcSaldo())
Dim sicherheitsbertrag As Double = WarenwertEUR * (GesSichRef.brgakto_gs_zollsatz / 100) Dim sicherheitsbertrag As Double = WarenwertEUR * (GesSichRef.brgakto_gs_zollsatz / 100)
If sicherheitsbertrag > saldo Then If sicherheitsbertrag > saldo Then
If MsgBox(Standort & vbNewLine & "Gestellung kann NICHT durchgeführt werden!" & vbNewLine & "Eingetragener Warenwert in EUR: " & WarenwertEUR & " (Sicherheitsbetrag: " & sicherheitsbertrag & ") übersteigt den vorhandenen Sicherheitssaldo von: " & saldo & vbNewLine & "Trotzdem fortfahren", vbYesNoCancel) <> vbYes Then Exit Sub If MsgBox(Standort & vbNewLine & "Gestellung kann NICHT durchgeführt werden!" & vbNewLine & "Eingetragener Warenwert in EUR: " & WarenwertEUR & " (Sicherheitsbetrag: " & sicherheitsbertrag & ") übersteigt den vorhandenen Sicherheitssaldo von: " & saldo & vbNewLine & "Trotzdem fortfahren", vbYesNoCancel) <> vbYes Then Exit Sub
End If End If
Dim frMZA As New SDL.frmZollanmeldung("AA", Nothing, AVISO, SND, Now.ToString("yy"), GesSichRef, Standort, WarenwertEUR, gsnr_proLKW_global) Dim frMZA As New SDL.frmZollanmeldung("AA", Nothing, AVISO, SND, Now.ToString("yy"), GesSichRef, Standort, WarenwertEUR, gsnr_proLKW_global)
@@ -203,7 +209,7 @@ Public Class usrCntlSND_ATBGestellung
Case Sicherheiten_Standort.IMEX Case Sicherheiten_Standort.IMEX
firmaId = 20 firmaId = 20
Case Sicherheiten_Standort.ZOLLERN Case Sicherheiten_Standort.ZOLLERN
firmaId = 99 firmaId = 90
End Select End Select
With frm With frm
@@ -271,7 +277,7 @@ Public Class usrCntlSND_ATBGestellung
If isZollern(SND) Then If isZollern(SND) Then
Standort = Sicherheiten_Standort.ZOLLERN : firmaId = 99 Standort = Sicherheiten_Standort.ZOLLERN : firmaId = 90
End If End If
@@ -395,4 +401,50 @@ Public Class usrCntlSND_ATBGestellung
End Function End Function
Private Function IsValid18AlphaNumericCode(value As String) As Boolean
value = value.Trim()
If value.Length <> 18 Then Return False
Return value.All(Function(c) Char.IsLetterOrDigit(c))
End Function
Private Function checkSendungenVorpapierte(list As List(Of cSendungen), ByRef MsgInfo As String) As Boolean
Dim index As Integer = 1
Dim existingVorpapier As Boolean = False
For Each SND As cSendungen In list
Dim existing As Boolean =
(SND.tblSnd_Vorpapier.ToString.Trim <> "") OrElse
(SND.tblSnd_Vorpapier2.ToString.Trim <> "") OrElse
(SND.tblSnd_Vorpapier3.ToString.Trim <> "")
If existing Then existingVorpapier = existing
Dim invalidPrepaper As Boolean =
(SND.tblSnd_Vorpapier.ToString.Trim <> "" AndAlso Not IsValid18AlphaNumericCode(SND.tblSnd_Vorpapier.ToString.Trim)) OrElse
(SND.tblSnd_Vorpapier2.ToString.Trim <> "" AndAlso Not IsValid18AlphaNumericCode(SND.tblSnd_Vorpapier2.ToString.Trim)) OrElse
(SND.tblSnd_Vorpapier3.ToString.Trim <> "" AndAlso Not IsValid18AlphaNumericCode(SND.tblSnd_Vorpapier3.ToString.Trim))
If invalidPrepaper Then
MsgInfo = "Vorpapier-Nr bei Sendung " & index & " ist ungültig!"
Return False
End If
index += 1
Next
If Not existingVorpapier Then
MsgInfo = "keine Vorpapier-Nr bei den Sendung(en) hinterlegt!"
End If
Return existingVorpapier
End Function
End Class End Class