83 lines
2.9 KiB
Plaintext
83 lines
2.9 KiB
Plaintext
' CheckArticleGroupIsRelevant(ArticleGroup : Integer)
|
|
' ----------------------------------------------------------------------------
|
|
' Prüft, ob die übergebene Artikelgruppe am Packtisch bearbeitet/gescannt
|
|
' werden kann (true), oder ob es sich um eine "nicht-relevante" Artikelgruppe
|
|
' handelt (false), zb Versandkosten, die auf nicht sichtbar geschaltet wird.
|
|
'
|
|
' Geprüft wird gegen die Variable EXCLUDED_ARTICLEGROUPS, die im Fensterscript
|
|
' konfiguriert werden kann.
|
|
' Die Variable kann entweder genau einen Wert, einen unteren/oberen Grenzwert
|
|
' oder eine Liste von Werten enthalten.
|
|
' Erlaubte Beispiele:
|
|
' - Genau ein Wert: "100"
|
|
' - Grenzwert bis/ab dem dies gilt: "100-" / "100+"
|
|
' - Array von verschiedenen Werten: "100, 101, 102"
|
|
'
|
|
' Wenn keine Artikelgruppe als nicht-relevant definiert wurde oder die zu
|
|
' prüfende Artikelgruppe ist leer oder kleiner 1, wird True zurückgegeben.
|
|
'
|
|
' Returns: CheckArticlegroupIsRelevant : Boolean
|
|
' ----------------------------------------------------------------------------
|
|
' Copyright (c) 2021 by Digital Data GmbH
|
|
'
|
|
' Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
|
|
' Tel.: 0641/202360 • E-Mail: info-flow(at)digitaldata.works
|
|
' ----------------------------------------------------------------------------
|
|
' Creation Date / Author: 24.06.2021 / MP
|
|
' Version Date / Editor: 28.06.2021 / MP
|
|
' Version Number: 4.0.0.0
|
|
|
|
Function CheckArticleGroupIsRelevant(ArticleGroup)
|
|
CheckArticleGroupIsRelevant = True
|
|
|
|
' Wenn die Variable leer ist, sind alle Artikelgruppen relevant
|
|
If Len(EXCLUDED_ARTICLEGROUPS) <= 0 Then
|
|
Exit Function
|
|
End If
|
|
|
|
' Ohne Wert geht gar nichts, auch Negative Werte sind sinnlos
|
|
If Len(ArticleGroup) <= 0 Or ArticleGroup < 0 Then
|
|
CheckArticleGroupIsRelevant = False
|
|
Exit Function
|
|
End If
|
|
|
|
' Wenn EXCLUDED_ARTICLEGROUPS ein Komma enthält, muss ein Array
|
|
' aus den Elementen erzeugt werden.
|
|
posKomma = InStr(EXCLUDED_ARTICLEGROUPS, ",")
|
|
|
|
If posKomma > 0 Then
|
|
exValueArray = Split(EXCLUDED_ARTICLEGROUPS, ",")
|
|
|
|
For Each exValue in exValueArray
|
|
If Cint(exValue) = ArticleGroup Then
|
|
CheckArticleGroupIsRelevant = False
|
|
Exit Function
|
|
End If
|
|
Next
|
|
Else
|
|
posPlus = InStr(EXCLUDED_ARTICLEGROUPS, "+")
|
|
posMinus = InStr(EXCLUDED_ARTICLEGROUPS, "-")
|
|
If posPlus > 0 Then
|
|
' + enthalten, die Variable enthält ein unteres Limit
|
|
limit = CInt(Mid(EXCLUDED_ARTICLEGROUPS, 1, posPlus-1))
|
|
|
|
If ArticleGroup >= limit Then
|
|
CheckArticleGroupIsRelevant = False
|
|
End If
|
|
ElseIf posMinus > 0 Then
|
|
' - enthalten, die Variable enthält ein oberes Limit
|
|
limit = CInt(Mid(EXCLUDED_ARTICLEGROUPS, 1, posMinus-1))
|
|
|
|
If ArticleGroup <= limit Then
|
|
CheckArticleGroupIsRelevant = False
|
|
End If
|
|
Else
|
|
' Die Variable enthält genau eine Artikelgruppe
|
|
If ArticleGroup = CInt(EXCLUDED_ARTICLEGROUPS) Then
|
|
CheckArticleGroupIsRelevant = False
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
End Function
|