Gestellung, etc.
This commit is contained in:
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
|
||||
' übernehmen, indem Sie "*" eingeben:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("4.2.8.5")>
|
||||
<Assembly: AssemblyFileVersion("4.2.8.5")>
|
||||
<Assembly: AssemblyVersion("4.2.8.6")>
|
||||
<Assembly: AssemblyFileVersion("4.2.8.6")>
|
||||
|
||||
@@ -306,19 +306,46 @@ Public Class frmSendungsdetailsNEU
|
||||
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
|
||||
(cboVorpapier2.Text.Trim <> String.Empty And txtVorpapier2Pos.Text.Trim = String.Empty) Or
|
||||
(cboVorpapier3.Text.Trim <> String.Empty And txtVorpapier3Pos.Text.Trim = String.Empty) Then
|
||||
If showErr AndAlso MsgBox("Pre-Paper Position is not filled. Really continue?", vbYesNoCancel) <> vbYes Then
|
||||
Dim missingPosition As Boolean =
|
||||
(cboVorpapier.Text.Trim <> "" AndAlso txtVorpapierPos.Text.Trim = "" Or cboVorpapier.Text.Trim = "" AndAlso txtVorpapierPos.Text.Trim <> "") OrElse
|
||||
(cboVorpapier2.Text.Trim <> "" AndAlso txtVorpapier2Pos.Text.Trim = "" Or cboVorpapier2.Text.Trim = "" AndAlso txtVorpapier2Pos.Text.Trim <> "") OrElse
|
||||
(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
|
||||
End If
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
If cntlAvisierer_Abf.Visible = False And
|
||||
cntlAuftr_Abf.Visible = False And
|
||||
cntlEmpf_Abf.Visible = False And
|
||||
@@ -8231,4 +8258,12 @@ Public Class frmSendungsdetailsNEU
|
||||
End If
|
||||
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
|
||||
|
||||
@@ -37,6 +37,10 @@ Public Class usrCntlSND_ATBGestellung
|
||||
Dim f As frmSendungsdetailsNEU = Me.FindForm
|
||||
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)
|
||||
|
||||
If Not IsNumeric(SND.AbfertigungsNr) OrElse CInt(SND.AbfertigungsNr) < 100000 Then MsgBox("Abfertigungsnummer angeben!") : Exit Sub
|
||||
@@ -58,7 +62,9 @@ Public Class usrCntlSND_ATBGestellung
|
||||
WarenwertEUR = SND.tblSnd_Warenwert
|
||||
End If
|
||||
|
||||
If If(SND.tblSnd_ATB_T1, "") = "" Then MsgBox("MRN (Gestellung) angeben!") : Exit Sub
|
||||
If If(SND.tblSnd_ATB_T1, "") = "" Then MsgBox("T1/Vorpapier 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
|
||||
|
||||
@@ -395,4 +401,50 @@ Public Class usrCntlSND_ATBGestellung
|
||||
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user