8
0
2024-11-08 15:39:19 +01:00

66 lines
2.4 KiB
Plaintext

' CheckMacroArticlesComplete()
' ----------------------------------------------------------------------------
' Prüft, ob die im Auftrag enthaltenen Macro-Artikel
' vollständig sind, und vermerkt die Infos im
' MACRO_ARTICLE_LIST-Array
'
' Returns: -
' ----------------------------------------------------------------------------
' 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: 08.03.2021 / MP
' Version Date / Editor: 08.03.2021 / MP
' Version Number: 3.0.0.0
Sub CheckMacroArticlesComplete()
Set mywin = CWLStart.CurrentModule.Windows.Item(WINDOW_ID)
Set Grid = mywin.Controls.Item(GRID_ID).Grid
For GridIndex = 1 To Grid.LineCount: Do
MacroFlag = Cint(Grid.GetCellValue(GridIndex, COLUMN_MACRO_FLAG))
If MacroFlag = 1 Then
LineNumber = Cint(Grid.GetCellValue(GridIndex, COLUMN_LINE_NUMBER))
MacroArticleListIndex = -1
For MacroArrayIndex = 0 To UBound(MACRO_ARTICLE_LIST)
If MACRO_ARTICLE_LIST(COLUMN_MACRO_ARTICLE_LINE_NUMBER, MacroArrayIndex) = LineNumber Then
MacroArticleListIndex = MacroArrayIndex
Exit For
End If
Next
For InnerGridIndex = GridIndex + 1 To Grid.LineCount: Do
InnerMacroFlag = Cint(Grid.GetCellValue(InnerGridIndex, COLUMN_MACRO_FLAG))
If InnerMacroFlag = 2 Then
AmountTotal = Cint(Grid.GetCellValue(InnerGridIndex, COLUMN_TOTAL))
AmountScanned = Cint(Grid.GetCellValue(InnerGridIndex, COLUMN_SCANNED))
If AmountTotal <> AmountScanned Then
MACRO_ARTICLE_LIST(COLUMN_MACRO_ARTICLE_GRID_LINE_INDEX, MacroArticleListIndex) = GridIndex
MACRO_ARTICLE_LIST(COLUMN_MACRO_ARTICLE_COMPLETE, MacroArticleListIndex) = False
' An der Stelle des unvollständigen Artikels weiter prüfen
GridIndex = InnerGridIndex
' Aus Makroartikel aussteigen, weil unvollständig
Exit For
End If
Else
MACRO_ARTICLE_LIST(COLUMN_MACRO_ARTICLE_GRID_LINE_INDEX, MacroArticleListIndex) = GridIndex
' An der Stelle des unvollständigen Artikels weiter prüfen
GridIndex = InnerGridIndex
' Aus Makroartikel aussteigen, weil vollständig
Exit For
End If
Loop While False: Next
Else
' Nächsten Artikel bearbeiten
Exit Do
End If
Loop While False: Next
End Sub